2008年7月2日 星期三

jQuery基礎教程筆記1

看完jquery基礎教程做的筆記,筆記並不適合所有人,覺得好,可以看,覺得不好,可以不看。

1, :eq()和nth-child()

看下面代碼:

<SCRIPT LANGUAGE="JavaScript">

$(function(){

$("#selected-plays > li:eq(1)").addClass("a");

//等價於 $("#selected-plays > li:nth-child(2)").addClass("a");

//注意:js數組是從 0 開始的,所以eq(1)是取第二個元素。

//而css選擇器:nth-child()是從 1 開始的, 所以要選擇第二個元素, 得使用 :nth-child(2) ,而不是:nth-child(1)。

})

</SCRIPT>



2,:odd 和 :even

:odd : 奇數行

:even : 偶數行

新手經常會說,好像跟我們做的相反?

其實與 :eq() 選擇器一樣, 下標都是從 0開始的,

也就是 表格的第一行 編號是 0 (偶數);

第二行 編號是 1 (奇數);以此類推。。。



3, $("tr:odd").addClass()

可以寫成 $("tr").filter(":odd").addClass()



4,$('td:contains("cssrain")') //取得 包含 字符串 cssrain 的所有td



5,jquery 轉 dom :

$("td").get(0).tagName 或 $("td")[0].tagName



6,load():

jquery中的load()有2層意思,

第一層 意思 可以等價於 dom中 window.onload

第二層 意思 可以load(url )。



7:ready簡寫:

1;

$(document).ready(function(){

//do something

})

2;

$().ready(function(){

//do something

})

3;

$(function(){

//do something

})



8,事件冒泡:

正常的來說:點擊B 會觸發a的click。

如果我們不想觸發A,可以用stopPropagation() 阻止冒泡.

具體例子:

<div id="a">aaaaaaa

<div id="b">bbbbbbbb</div>

aaaaaa</div>

<script src="jquery.js" type="text/javascript"></script>

<SCRIPT LANGUAGE="JavaScript">

$(function(){

$('#a').click(function(){

alert("A")

})

$('#b').click(function(e){

alert("B")

e.stopPropagation();//阻止冒泡, 從來不輸出 「A" 。 可以去掉 ,試試對比效果。

})

})

</SCRIPT>



9, hide()show()會記住上一次的dipslay狀態

<script src="jquery.js" type="text/javascript"></script>

<SCRIPT LANGUAGE="JavaScript">

$(function(){

$('#test').toggle(function(){

$('#a').hide();//display : none ,記住display 為 inline

$('#b').hide();//display : none ,記住display 為 block

},function(){

$('#a').show(); //display : inline

$('#b').show(); //display : block

})

})

</SCRIPT>

<DIV id="a" style="display:inline;">a</div>

<DIV id="b" style="display:block;">b</div>

<input type="button" id="test" value="test" />



10, hide() show()加時間參數

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh-CN" lang="zh-CN">

<script src="jquery.js" type="text/javascript"></script>

<SCRIPT LANGUAGE="JavaScript">

$(function(){

$('#test').toggle(function(){

$('#a').hide(500);//display : none

$('#b').hide(500);//display : none

},function(){

$('#a').show(500); //display : inline

$('#b').show(500); //display : block

})

})

</SCRIPT>

<DIV id="a" style="display:inline;">a</div>

<DIV id="b" style="display:block;">b</div>

<input type="button" id="test" value="test" />



11,效果:

show(), hide()會同時修改多個樣式屬性 : 高度,寬度和不透明度。

fadeIn() fadeOut() : 不透明度

fadeTo() : 不透明度

slideDown() , slideUp() :高度

如果都不能滿意,只能用animate()了

animate()提供了更為強大的,複雜的效果。





12,animate() :

之前 .show('slow'); // slow代表的是0.6秒內同時改變高度,寬度和透明度 。 如果用時間表示是 600 ;=== .show(600);

那麼我們再來看看 animate()

animate({heigth : 'slow' ,width : 'slow' } , 'slow' )

這裡之所以可以 height : 'slow' 其實就跟 .show('slow') 類似,當然他前面規定了height 。。





13,做動畫之前 先確定位置。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh-CN" lang="zh-CN">

<script src="jquery.js" type="text/javascript"></script>

<SCRIPT LANGUAGE="JavaScript">

$(function(){

$('#a').css("position","absolute");//如果把這句去掉,動畫就沒了。

/*

在使用.animate之前,請先把位置確定,不管你是用的 absolute 還是relative

總之要設置其中的一種,因為所有的塊級元素默認是static。

其實是跟css有關。

*/

$('#test').click(function(){

$('#a').animate({ left : '300' } , 'slow' )

})

})

</SCRIPT>

<DIV id="a" >a</div>

<input type="button" id="test" value="test" />

【下列文章您可能也有興趣】

沒有留言: