摘要:JavaScript筆記
@ JavaScript 讓網站懂得回應用戶端(不用重新下載網頁就可以回應)
<head>
<script type="text/javascript">
........(content)
</script>
<head>
-----html5的話-------
直接再head加<script></script>就好
@可用外部JS (可引用多個外部檔案)
<script scr="XXX.js"></script>
每加入一個都要有一個<script></script>
@
敘述句 document.write( ' <p> hello! </p>')
" hello, \"Hend\" " 字串內要加" or ' 前面加反斜線
宣告 var
var a= ' 2 ';
var b= 4 ;
------------
var sum = a+b;
結果:sum=24
var sum = +a+b;
or
var sum= Number(a)+b;
結果: sum=6
@prompt
var name = prompt('what's your name?');
會把變數放進name裡面
@宣告陣列
單純字串 var ary=['Mon','Tues','Wed'];
可放入不同屬性 var ary=[ 1, 223, ' www.yahoo.com.tw ' , false]
ary[4]=' good ' ;
or
ary[ary.length]=' good ' ;
or
ary. push(' good '); //在後端加資料
// 再前端加資料 ary.unshift(' good ');
此時 ary=[ 1, 223, ' www.yahoo.com.tw ' , false, 'good ']
push() 和 unshift 會回傳 變數值
var num = ary.push( ' good ' );
此時 num=5
-------------------------------
push() 後加
pop() 後減
unshift() 前加
shift() 前減
++++++++++++++++++++++++++++++++++++++++++++++++++++++++
<JQuery>
@JQuery是JavaScript的函式庫
@跟css類似 可以用"外部"連結或"把JS下載到電腦中"
google的CND (外部)
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.3/jquery.min.js"> </script>
把檔案下載在專案的根目錄
<script src="js/jquery-1.6.3.min.js"> </script>
@ 加上ready() <===網站全部載入完成後才能開始進行
<script>
$(document).ready( function () {
//程式
} ) ; //end ready
</script>
也可以寫成
$(document).ready( function() {}:
$( function () {
//程式
}); //end ready
@注意事項
1.JQuery的檔案連結要放在所有JQuery的程式前面
2.JavaScript程式碼要放在CSS後面
@ JavaScript 和 JQuery
<JavaScript>
只要在HTML設好ID 就可利用 getElementByID
EX:
<div id="banner"></div>
document.getElementById('banner')
另外還有getElementByTagName('div')
<JQuery> ==> $('selector')
以上面做範例 JQuery 的語法為
ID : $ ('#banner') . html ( ' <h1>Hello! </h1> ' )
TagName : $( 'div' )
@選取項 <ul id="navbar">
+子孫選取項 $( '#navbar a' )
+子選取項 $( ' body > p ')
+相鄰兄弟選取項 $( ' h2+div ' )
//右邊才是我們真正要選取的文件,這組元件一定要緊跟著左邊的文件後面
+屬性選取項
$( ' img[alt] ' ) //找出所有有設定alt屬性的<img>
$( ' input [type="text"] ' ) //裡面也可以設定value
$ ( 'a [ herf ^="http:// " ] ' ) //找出<a>有herf屬性 且此屬性value開頭符合 http://
$ ( ' a [ herf $=".pdf " ] ' ) //找出<a>有herf屬性 且此屬性value結尾符合 .pdf
$ ( ' a [ herf *=" www.yahoo.com.tw " ] ' ) //找出<a>有herf屬性 且此屬性value中間符合www.yahoo.com.tw
@ JQuery 篩選器 ==> :
※ :even / :odd (even 0.2.4.6.... / odd 1.3.5.7.....)
$ ( ' tr : even ' ) //找出表格裡的所有偶數項
$ ( '.str tr : even ' ) //找出表格裡class為str的 <tr> 的所有偶數項
※ :first / :last 選取網頁第一或最後一組元件
$ ( ' p : first ' ) //網頁第一組元件
$ ( 'p : last ' ) //網頁最後一組元件
※ :not() 挑出不符合特定條件
$ ( 'a :not(.navButton) ' ) //挑出所有沒有class='navButton'的<a>
$ ( 'a:not( [href ^= " http:// " ] ) ' ) //挑出所有沒有href開頭為'http://' 的<a>
※ :has() 挑出包含某特定選取項的元件
$ ( ' li : has(a)' ) //找出所有包含 <a>的<li> 這裡和子孫選取項不同 只會選取到<li>不會選取到<a>
※ :contains() 能讓你挑出包含特定內容的元件
$ ( ' a: contains (Click Me!) ' ) //找出所有寫著Chick Me的連結
※ :hidden() 找出隱藏文件 - CSS display屬性被設為none (網頁上不會看到他) / JQuery hide() 設定為隱藏 /
高寬都設為0的元件 / 隱藏的表單 。hidden()不適用css visibility="invisible"
$ ( ' div : hidden ' ).show() ; //讓隱藏的div顯示出來
※ :visible() 和hidden相反,讓你找出所有顯示狀態的元件
@ 鍊結函式(chaining) -- 對一個tag做多個設定 , but 妳不能在鍊結中加上自己寫的函式orJavaScripit的函式 只有JQuery函式才能
$( ' #banner ' ).width(300)
.hight(200)
.text('Hello!')
.fadeIn(1000) ;