public static int getDaysByMonth(String time){
Calendar rightNow = Calendar.getInstance();
SimpleDateFormat simpleDate = new SimpleDateFormat("yyyy-MM"); //如果寫(xiě)成年月日的形式的話,要寫(xiě)小d,如:"yyyy/MM/dd"
try {
rightNow.setTime(simpleDate.parse(time)); //要計(jì)算你想要的月份,改變這里即可
} catch (Exception e) {
e.printStackTrace();
}
int days = rightNow.getActualMaximum(Calendar.DAY_OF_MONTH);
return days;
}
public static List<String> getWeekDay(String str) {
List<String> list = new ArrayList<String>();
Calendar c = Calendar.getInstance();
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = null;
try {
date = sdf.parse(str);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
c.setTime(date);
int week = c.get(Calendar.WEEK_OF_MONTH);//獲取是本月的第幾周
System.out.println("今天是本月的第" + week + "周");
String nReturn;
switch (c.get(Calendar.DAY_OF_WEEK)) {
case 1:
nReturn = "7";
break;
case 2:
nReturn = "1";
break;
case 3:
nReturn = "2";
break;
case 4:
nReturn = "3";
break;
case 5:
nReturn = "4";
break;
case 6:
nReturn = "5";
break;
case 7:
nReturn = "6";
break;
default:
nReturn = null;
break;
}
list.add(String.valueOf(String.valueOf(week)));
list.add(nReturn);
System.out.println(nReturn);
return list;
}
public static String getWeekOfDate(Date dt) {
String[] weekDays = {"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"};
Calendar cal = Calendar.getInstance();
cal.setTime(dt);
int w = cal.get(Calendar.DAY_OF_WEEK) - 1;
if (w < 0)
w = 0;
return weekDays[w];
}
這兩個(gè)方法都可以用來(lái)實(shí)現(xiàn)在一個(gè)固定時(shí)間段之后去執(zhí)行JavaScript。不過(guò)兩者各有各的應(yīng)用場(chǎng)景。
方 法
實(shí)際上,setTimeout和setInterval的語(yǔ)法相同。它們都有兩個(gè)參數(shù),一個(gè)是將要執(zhí)行的代碼字符串,還有一個(gè)是以毫秒為單位的時(shí)間間隔,當(dāng)過(guò)了那個(gè)時(shí)間段之后就將執(zhí)行那段代碼。
不過(guò)這兩個(gè)函數(shù)還是有區(qū)別的,setInterval在執(zhí)行完一次代碼之后,經(jīng)過(guò)了那個(gè)固定的時(shí)間間隔,它還會(huì)自動(dòng)重復(fù)執(zhí)行代碼,而setTimeout只執(zhí)行一次那段代碼。
雖然表面上看來(lái)setTimeout只能應(yīng)用在on-off方式的動(dòng)作上,不過(guò)可以通過(guò)創(chuàng)建一個(gè)函數(shù)循環(huán)重復(fù)調(diào)用setTimeout,以實(shí)現(xiàn)重復(fù)的操作:
showTime();
function showTime()
{
var today = new Date();
alert("The time is: " + today.toString());
setTimeout("showTime()", 5000);
}
一旦調(diào)用了這個(gè)函數(shù),那么就會(huì)每隔5秒鐘就顯示一次時(shí)間。如果使用setInterval,則相應(yīng)的代碼如下所示: setInterval("showTime()", 5000);
function showTime()
{
var today = new Date();
alert("The time is: " + today.toString());
}
這兩種方法可能看起來(lái)非常像,而且顯示的結(jié)果也會(huì)很相似,不過(guò)兩者的最大區(qū)別就是,setTimeout方法不會(huì)每隔5秒鐘就執(zhí)行一次showTime函數(shù),它是在每次調(diào)用setTimeout后過(guò)5秒鐘再去執(zhí)行showTime函數(shù)。這意味著如果showTime函數(shù)的主體部分需要2秒鐘執(zhí)行完,那么整個(gè)函數(shù)則要每7秒鐘才執(zhí)行一次。而setInterval卻沒(méi)有被自己所調(diào)用的函數(shù)所束縛,它只是簡(jiǎn)單地每隔一定時(shí)間就重復(fù)執(zhí)行一次那個(gè)函數(shù)。
如果要求在每隔一個(gè)固定的時(shí)間間隔后就精確地執(zhí)行某動(dòng)作,那么最好使用setInterval,而如果不想由于連續(xù)調(diào)用產(chǎn)生互相干擾的問(wèn)題,尤其是每次函數(shù)的調(diào)用需要繁重的計(jì)算以及很長(zhǎng)的處理時(shí)間,那么最好使用setTimeout。
兩個(gè)計(jì)時(shí)函數(shù)中的第一個(gè)參數(shù)是一段代碼的字符串,其實(shí)該參數(shù)也可以是一個(gè)函數(shù)指針,不過(guò)Mac下的IE 5對(duì)此不支持。
如果用函數(shù)指針作為setTimeout和setInterval函數(shù)的第二個(gè)參數(shù),那么它們就可以去執(zhí)行一個(gè)在別處定義的函數(shù)了:
setTimeout(showTime, 500);
function showTime()
{
var today = new Date();
alert("The time is: " + today.toString());
}
另外,匿名函數(shù)還可以聲明為內(nèi)聯(lián)函數(shù):
setTimeout(function(){var today = new Date();
alert("The time is: " + today.toString());}, 500);
如果對(duì)計(jì)時(shí)函數(shù)不加以處理,那么setInterval將會(huì)持續(xù)執(zhí)行相同的代碼,一直到瀏覽器窗口關(guān)閉,或者用戶轉(zhuǎn)到了另外一個(gè)頁(yè)面為止。不過(guò)還是有辦法可以終止setTimeout和setInterval函數(shù)的執(zhí)行。
當(dāng)setInterval調(diào)用執(zhí)行完畢時(shí),它將返回一個(gè)timer ID,將來(lái)便可以利用該值對(duì)計(jì)時(shí)器進(jìn)行訪問(wèn),如果將該ID傳遞給clearInterval,便可以終止那段被調(diào)用的過(guò)程代碼的執(zhí)行了,具體實(shí)現(xiàn)如下:
var intervalProcess = setInterval("alert('GOAL!')", 3000);
var stopGoalLink = document.getElementById("stopGoalLink");
attachEventListener(stopGoalLink, "click", stopGoal, false);
function stopGoal()
{
clearInterval(intervalProcess);
}
只要點(diǎn)擊了stopGoalLink,不管是什么時(shí)候點(diǎn)擊,intervalProcess都會(huì)被取消掉,以后都不會(huì)再繼續(xù)反復(fù)執(zhí)行intervalProcess。如果在超時(shí)時(shí)間段內(nèi)就取消setTimeout,那么這種終止效果也可以在setTimeout身上實(shí)現(xiàn),具體實(shí)現(xiàn)如下: var timeoutProcess = setTimeout("alert('GOAL!')", 3000);
var stopGoalLink = document.getElementById("stopGoalLink");
attachEventListener(stopGoalLink, "click", stopGoal, false);
function stopGoal()
{
clearTimeout(timeoutProcess);
}
<html >
<head>
<style type="text/css">
*{ margin:0; padding:0;}
body {font-size:12px;text-align:center;}
a { color:#04D; text-decoration:none;}
a:hover { color:#F50; text-decoration:underline;}
.SubCategoryBox {width:600px; margin:0 auto; text-align:center;margin-top:40px;}
.SubCategoryBox ul { list-style:none;}
.SubCategoryBox ul li { display:block; float:left; width:200px; line-height:20px;}
.showmore { clear:both; text-align:center;padding-top:10px;}
.showmore a { display:block; width:120px; margin:0 auto; line-height:24px; border:1px solid #AAA;}
.showmore a span { padding-left:15px; background:url(img/down.gif) no-repeat 0 0;}
.promoted a { color:#F50;}
</style>
<!-- 引入jQuery -->
<script src="../../scripts/jquery-1.3.1.js" type="text/javascript"></script>
<script type="text/javascript">
$(function(){ // 等待DOM加載完畢.
var $category = $('ul li:gt(5):not(:last)'); // 獲得索引值大于5的品牌集合對(duì)象(除最后一條)
$category.hide(); // 隱藏上面獲取到的jQuery對(duì)象。
var $toggleBtn = $('div.showmore > a'); // 獲取“顯示全部品牌”按鈕
$toggleBtn.click(function(){
if($category.is(":visible")){
$category.hide(); // 隱藏$category
$('.showmore a span')
.css("background","url(img/down.gif) no-repeat 0 0")
.text("顯示全部品牌"); //改變背景圖片和文本
$('ul li').removeClass("promoted"); // 去掉高亮樣式
}else{
$category.show(); // 顯示$category
$('.showmore a span')
.css("background","url(img/up.gif) no-repeat 0 0")
.text("精簡(jiǎn)顯示品牌"); //改變背景圖片和文本
$('ul li').filter(":contains('佳能'),:contains('尼康'),:contains('奧林巴斯')")
.addClass("promoted"); //添加高亮樣式
}
return false; //超鏈接不跳轉(zhuǎn)
})
})
</script>
</head>
<body>
<div class="SubCategoryBox">
<ul>
<li ><a href="#">佳能</a><i>(30440) </i></li>
<li ><a href="#">索尼</a><i>(27220) </i></li>
<li ><a href="#">三星</a><i>(20808) </i></li>
<li ><a href="#">尼康</a><i>(17821) </i></li>
<li ><a href="#">松下</a><i>(12289) </i></li>
<li ><a href="#">卡西歐</a><i>(8242) </i></li>
<li ><a href="#">富士</a><i>(14894) </i></li>
<li ><a href="#">柯達(dá)</a><i>(9520) </i></li>
<li ><a href="#">賓得</a><i>(2195) </i></li>
<li ><a href="#">理光</a><i>(4114) </i></li>
<li ><a href="#">奧林巴斯</a><i>(12205) </i></li>
<li ><a href="#">明基</a><i>(1466) </i></li>
<li ><a href="#">愛(ài)國(guó)者</a><i>(3091) </i></li>
<li ><a href="#">其它品牌相機(jī)</a><i>(7275) </i></li>
</ul>
<div class="showmore">
<a href="more.html"><span>顯示全部品牌</span></a>
</div>
</div>
</body>
</html>
javascript點(diǎn)擊觸發(fā)事件
<html>
<head>
<title></title>
<script type="text/javascript">
function demo(){
alert('JavaScript demo.');
}
</script>
</head>
<body>
<p onclick="demo();">點(diǎn)擊我.</p>
</body>
</html>
jquery點(diǎn)擊觸發(fā)事件
<html>
<head>
<title></title>
<!-- 引入jQuery -->
<script src="../../scripts/jquery-1.3.1.js" type="text/javascript"></script>
</head>
<body>
<p class="demo">jQuery Demo</p>
<script type="text/javascript">
$(".demo").click(function(){ // 給class為demo 的元素添加行為
alert("jQuery demo!");
})
</script>
</body>
</html>
javascript獲得元素改變css
<html >
<head>
</head>
<body>
<div id="tt">test</div>
<script type="text/javascript">
document.getElementById("tt").style.color="red";
</script>
</body>
</html>
jquery得到元素改變css
<html >
<head>
<!-- 引入jQuery -->
<script src="../../scripts/jquery-1.3.1.js" type="text/javascript"></script>
</head>
<body>
<div id="tt">test</div>
<script type="text/javascript">
$('#tt').css("color","yellow");
</script>
</body>
</html>
javascript多選的得到值
<html >
<head>
<script type="text/javascript">
window.onload = function(){//頁(yè)面所有元素加載完畢
var btn = document.getElementById("btn"); //獲取id為btn的元素(button)
btn.onclick = function(){ //給元素添加onclick事件
var arrays = new Array(); //創(chuàng)建一個(gè)數(shù)組對(duì)象
var items = document.getElementsByName("check"); //獲取name為check的一組元素(checkbox)
for(i=0; i < items.length; i++){ //循環(huán)這組數(shù)據(jù)
if(items[i].checked){ //判斷是否選中
arrays.push(items[i].value); //把符合條件的 添加到數(shù)組中. push()是javascript數(shù)組中的方法.
}
}
alert( "選中的個(gè)數(shù)為:"+arrays.length );
}
}
</script>
</head>
<body>
<form method="post" action="#">
<input type="checkbox" value="1" name="check" checked="checked"/>
<input type="checkbox" value="2" name="check" />
<input type="checkbox" value="3" name="check" checked="checked"/>
<input type="button" value="你選中的個(gè)數(shù)" id="btn"/>
</form>
</body>
</html>
jquery隔行換色
<html >
<head>
<!-- 引入jQuery -->
<script src="../../scripts/jquery-1.3.1.js" type="text/javascript"></script>
<script language="javascript" >
$(function(){// dom元素加載完畢
$('#tb tbody tr:even').css("backgroundColor","#888");//偶數(shù)行
$('#tb tbody tr:odd').css("backgroundColor","red");//奇數(shù)行
//獲取id為tb的元素,然后尋找他下面的tbody標(biāo)簽,再尋找tbody下索引值是偶數(shù)的tr元素,
//改變它的背景色.
})
</script>
</head>
<body>
<table id="tb">
<tbody>
<tr><td>第一行</td><td>第一行</td></tr>
<tr><td>第二行</td><td>第二行</td></tr>
<tr><td>第三行</td><td>第三行</td></tr>
<tr><td>第四行</td><td>第四行</td></tr>
<tr><td>第五行</td><td>第五行</td></tr>
<tr><td>第六行</td><td>第六行</td></tr>
</tbody>
</table>
</body>
</html>
javascript隔行換色
<html >
<head>
<script type="text/javascript">
window.onload = function(){ //頁(yè)面所有元素加載完畢
var item = document.getElementById("tb"); //獲取id為tb的元素(table)
var tbody = item.getElementsByTagName("tbody")[0]; //獲取表格的第一個(gè)tbody元素
var trs = tbody.getElementsByTagName("tr"); //獲取tbody元素下的所有tr元素
for(var i=0;i < trs.length;i++){//循環(huán)tr元素
if(i%2==0){ //取模. (取余數(shù).比如 0%2=0 , 1%2=1 , 2%2=0 , 3%2=1)
trs[i].style.backgroundColor = "#888"; // 改變 符合條件的tr元素 的背景色.
}else {
trs[i].style.backgroundColor = "red";
}
}
}
</script>
</head>
<body>
<table id="tb">
<tbody>
<tr><td>第一行</td><td>第一行</td></tr>
<tr><td>第二行</td><td>第二行</td></tr>
<tr><td>第三行</td><td>第三行</td></tr>
<tr><td>第四行</td><td>第四行</td></tr>
<tr><td>第五行</td><td>第五行</td></tr>
<tr><td>第六行</td><td>第六行</td></tr>
</tbody>
</table>
</body>
</html>
jquery得到checkbox值
<html>
<head>
<!-- 引入jQuery -->
<script src="../../scripts/jquery-1.3.1.js" type="text/javascript"></script>
<script language="javascript" >
$(function(){// dom元素加載完畢
$('#btn').click(function(){ //獲取id為btn的元素,給它添加onclick事件
var items = $("input[name='check']:checked");
//獲取name為check的一組元素,然后選取它們中選中(checked)的。
// alert( "選中的個(gè)數(shù)為:"+items.length )
items.each(function(){
alert($(this).val());
});
})
})
</script>
</head>
<body>
<input type="checkbox" value="1" name="check" checked/>
<input type="checkbox" value="2" name="check" />
<input type="checkbox" value="3" name="check" checked/>
<input type="button" value="測(cè)試選中的個(gè)數(shù)" id="btn"/>
</body>
</html>
$('ul li:gt(5):not(:last)') :
選取ul元素下的li元素的索引值大于5的集合元素后,去掉集合元素中的最后一個(gè)。
索引值從0開(kāi)始。
DOM方式
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>1-6-2</title>
<!-- 引入 jQuery -->
<script src="../../scripts/jquery-1.3.1.js" type="text/javascript"></script>
<script type="text/javascript">
//等待dom元素加載完畢.
$(document).ready(function(){
var $cr = $("#cr"); //jQuery對(duì)象
var cr = $cr.get(0); //DOM對(duì)象,獲取 $cr[0]
$cr.click(function(){
if(cr.checked){ //DOM方式判斷
alert("感謝你的支持!你可以繼續(xù)操作!");
}
})
});
</script>
</head>
<body>
<input type="checkbox" id="cr"/> <label for="cr">我已經(jīng)閱讀了上面制度.</label>
</body>
</html>
jQuery方式
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>1-6-1</title>
<!-- 引入 jQuery -->
<script src="../../scripts/jquery-1.3.1.js" type="text/javascript"></script>
<script type="text/javascript">
//等待dom元素加載完畢.
$(document).ready(function(){
var $cr = $("#cr"); //jQuery對(duì)象
$cr.click(function(){
if($cr.is(":checked")){ //jQuery方式判斷
alert("感謝你的支持!你可以繼續(xù)操作!");
}
})
});
</script>
</head>
<body>
<input type="checkbox" id="cr"/><label for="cr">我已經(jīng)閱讀了上面制度.</label>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>1-5-1</title>
<style type="text/css">
#menu {
width:300px;
}
.has_children{
background : #555;
color :#fff;
cursor:pointer;
}
.highlight{
color : #fff;
background : green;
}
div{
padding:0;
}
div a{
background : #888;
display : none;
float:left;
width:300px;
}
</style>
<!-- 引入 jQuery -->
<script src="../../scripts/jquery-1.3.1.js" type="text/javascript"></script>
<script type="text/javascript">
//等待dom元素加載完畢.
$(document).ready(function(){
$(".has_children").click(function(){
$(this).addClass("highlight") //為當(dāng)前元素增加highlight類(lèi)
.children("a").show().end() //將子節(jié)點(diǎn)的a元素顯示出來(lái)并重新定位到上次操作的元素
.siblings().removeClass("highlight") //獲取元素的兄弟元素,并去掉他們的highlight類(lèi)
.children("a").hide(); //將兄弟元素下的a元素隱藏
});
});
</script>
</head>
<body>
<div id="menu">
<div class="has_children">
<span>第1章-認(rèn)識(shí)jQuery</span>
<a>1.1-JavaScript和JavaScript庫(kù)</a>
<a>1.2-加入jQuery</a>
<a>1.3-編寫(xiě)簡(jiǎn)單jQuery代碼</a>
<a>1.4-jQuery對(duì)象和DOM對(duì)象</a>
<a>1.5-解決jQuery和其它庫(kù)的沖突</a>
<a>1.6-jQuery開(kāi)發(fā)工具和插件</a>
<a>1.7-小結(jié)</a>
</div>
<div class="has_children">
<span>第2章-jQuery選擇器</span>
<a>2.1-jQuery選擇器是什么</a>
<a>2.2-jQuery選擇器的優(yōu)勢(shì)</a>
<a>2.3-jQuery選擇器</a>
<a>2.4-應(yīng)用jQuery改寫(xiě)示例</a>
<a>2.5-選擇器中的一些注意事項(xiàng)</a>
<a>2.6-案例研究——類(lèi)似淘寶網(wǎng)品牌列表的效果</a>
<a>2.7-還有其它選擇器么?</a>
<a>2.8-小結(jié)</a>
</div>
<div class="has_children">
<span>第3章-jQuery中的DOM操作</span>
<a>3.1-DOM操作的分類(lèi)</a>
<a>3.2-jQuery中的DOM操作</a>
<a>3.3-案例研究——某網(wǎng)站超鏈接和圖片提示效果</a>
<a>3.4-小結(jié)</a>
</div>
</div>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>1-4</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<!-- 引入 jQuery -->
<script src="../scripts/jquery-1.3.1.js" type="text/javascript"></script>
<script type="text/javascript">
//等待dom元素加載完畢.
$(document).ready(function(){
var domObj = document.getElementsByTagName("h3")[0]; // Dom對(duì)象
var $jQueryObj = $(domObj); //jQuery對(duì)象
alert("DOM對(duì)象:"+domObj.innerHTML);
alert("jQuery對(duì)象:"+$jQueryObj.html());
});
</script>
</head>
<body>
<h3>例子</h3>
</body>
</html>
摘要: //定義一個(gè)對(duì)象 var obj = new Object(); //動(dòng)態(tài)創(chuàng)建屬性name obj.name = "an object"; //動(dòng)態(tài)創(chuàng)建屬性sayHi obj.sayHi = function(){ return "Hi";...
閱讀全文
HaspMap的遍歷。 Map<String, String[]> paraMap = new HashMap<String, String[]>(); for( Entry<String, String[]> entry : paraMap.entrySet() )
{ String appFieldDefId = entry.getKey(); String[] values = entry.getValue(); }
利用散列值取出相應(yīng)的Entry做比較得到結(jié)果,取得entry的值之后直接取key和 value。
奇偶判斷 不要使用 i % 2 == 1 來(lái)判斷是否是奇數(shù),因?yàn)閕為負(fù)奇數(shù)時(shí)不成立,請(qǐng)使用 i % 2 != 0 來(lái)判斷是否是奇數(shù),或使用 高效式 (i & 1) != 0來(lái)判斷。