jQuery
是JavaScript程式庫,是對JavaScript對象和函數的封裝。
引入jQuery方法
<script type="text/javascript" src="https://code.jquery.com/jquery-3.4.1.min.js" ></script>
<!--<script src="js/jquery-1.12.4.js" type="text/javascript"></script>-->
選擇公式:
$(selector).action()
<a href="" id="a">點我</a>
//選擇器就是css的選擇器
$("#a").click(function(){
alert("hello,jquery");
})
頁面加載時運作:
$(document).ready(function(){...})
可簡寫為:
$(function{...})
等同于:
window.onload()
方法
方法 | 方法說明 |
---|---|
| 添加class |
| 設定單個css屬性 |
| 設定多個css屬性 |
| 顯示 |
| 隐藏 |
選擇器
基本選擇器
選擇器文法 | 說明 |
---|---|
| 标簽選擇器 |
| 類選擇器 |
| ID選擇器 |
| 并集選擇器 |
| 全局選擇器 |
層次選擇器
選擇器 | 選擇器文法 | 說明 | 執行個體 |
---|---|---|---|
後代選擇器 | | 選取ancestor元素裡的所有descendant(後代)元素 | $("#menu span" )選取#menu下的元素 |
子選擇器 | | 選取parent元素下的child(子)元素 | $(" #menu>span" )選取#menu的子元素 |
相鄰元素選擇器 | | 選取緊鄰prev元素之後的next元素 | $(" h2+dl " )選取緊鄰 元素之後的同輩元素 |
同輩元素選擇器 | | 選取prev元素之後的所有siblings元素 | $(" h2~dl " )選取 元素之後所有的同輩元素 |
屬性選擇器
選擇器文法 | 說明 |
---|---|
| 選取包含給定屬性的元素 |
| 選取等于給定屬性是某個特定值的元素 |
| 選取不等于給定屬性是某個特定值的元素 |
| 選取給定屬性是以某些特定值開始的元素 |
| 選取給定屬性是以某些特定值結尾的元素 |
| 選取給定屬性是以包含某些值的元素 |
過濾選擇器
基本過濾選擇器
選擇器文法 | 說明 | 執行個體 |
---|---|---|
| 選取第一個元素 | $(" li:first" )選取所有
|
| 選取最後一個元素 | $(" li:last" )選取所有
|
| 選取去除所有與給定選擇器比對的元素 | $(" li:not(.three)" )選取class不是three的元素 |
| 選取索引是偶數的所有元素(index從0開始) | $(" li:even" )選取索引是偶數的所有
|
| 選取索引是奇數的所有元素(index從0開始) | $(" li:odd" )選取索引是奇數的所有
|
| 選取索引等于index的元素(index從0開始) | $(“li:eq(1)” )選取索引等于1的
|
| 選取索引大于index的元素(index從0開始) | $(" li:gt(1)" )選取索引大于1的
|
| 選取索引小于index的元素(index從0開始) | $(“li:lt(1)” )選取索引小于1的
|
| 選取所有标題元素,如h1~h6 | $(":header" )選取網頁中所有标題元素 |
| 選取目前擷取焦點的元素 | $(":focus" )選取目前擷取焦點的元素 |
| 選擇所有動畫 | $(":animated" )選取目前所有動畫元素 |
可見性過濾選擇器
更多操作選擇器文法 | 說明 | 執行個體 |
---|---|---|
| 選取所有可見的元素 | $(":visible" )選取所有可見的元素 |
| 選取所有隐藏的元素 | $(":hidden" )選取所有隐藏的元素 |
事件
滑鼠事件
滑鼠事件是當使用者在文檔上移動或單擊滑鼠時而産生的事件。
文法 | 說明 | 執行時機 |
---|---|---|
| 觸發或将函數綁定到指定元素的click事件 | 單擊滑鼠時 |
| 觸發或将函數綁定到指定元素的mouseover事件 | 滑鼠指針移過時 |
| 觸發或将函數綁定到指定元素的mouseout事件 | 滑鼠指針移出時 |
| 觸發或将函數綁定到指定元素的mouseenter事件 | 滑鼠指針進入時 |
| 觸發或将函數綁定到指定元素的mouseleave事件 | 滑鼠指針離開時 |
相同點與不同點
方法 | 相同點 | 不同點 |
---|---|---|
| 滑鼠進入被選元素時會觸發 | 滑鼠在其被選元素的子元素上來回進入時: 觸發mouseover( )不觸發mouseenter |
| 滑鼠離開被選元素時會觸發 | 滑鼠在其被選元素的子元素上來回離開時: 觸發mouseout不觸發mouseleave |
鍵盤事件
使用者每次按下或者釋放鍵盤上的鍵時都會産生事件。
方法名 | 說明 | 執行時機 |
---|---|---|
| 觸發或将函數綁定到指定元素的keydown事件 | 按下鍵盤時 |
| 觸發或将函數綁定到指定元素的keyup事件 | 釋放按鍵時 |
| 觸發或将函數綁定到指定元素的keypress事件 | 産生可列印的字元時 |
複合事件
hover()
hover()
方法相當于mouseover與mouseout事件的組合。
文法格式:
hover(enter,leave)
$(".top-m .on").hover(function(){
$(".topDown").show();
},
function(){
$(".topDown").hide();
}
);
toggle()
toggle()
方法用于模拟滑鼠連續click事件。
toggle()
方法不帶參數,與show( )和hide( )方法作用一樣。
文法格式:
toggle(fn1,fn2,...,fnN);
$("input").toggle(
function(){$("body").css("background","#ff0000");},
function(){$("body").css("background","#00ff00");},
function(){$("body").css("background","#0000ff");}
)
toggleClass()
toggleClass( )
可以對樣式進行切換
文法格式:
toggleClass(className);
方法對比
-
:實作單擊事件的切換,無須額外綁定click事件toggle( fn1,fn2...)
-
:實作事件觸發對象在顯示和隐藏狀态之間切換toggle( )
-
:實作事件觸發對象在加載某個樣式和移除某個樣式之間切換toggleClass( )
動畫效果
元素的顯示與隐藏
$(selector).show([speed],[callback])
$(selector).hide([speed],[callback])
-
:可選,表示速度,預設為“0”,可能值:毫秒(如1000)、slow、normal、fastspeed
- slow :緩慢的
- normal :正常的
- fast :迅速的
-
:可選,show函數執行完後,要執行的函數callback
淡入淡出
fadeIn()
和
fadeOut()
可以通過改變元素的透明度實作淡入淡出效果。
$(selector).fadeIn([speed],[callback])
$(selector).fadeOut([speed],[callback])
動态顯示/隐藏
slideDown()
可以使元素逐漸延伸顯示。
slideUp()
則使元素逐漸縮短直至隐藏。
$(selector).slideDown([speed],[callback])
$(selector).slideUp([speed],[callback])
動畫
$(selector).animate({params},speed,callback);
- 必需的 params 參數定義形成動畫的 CSS 屬性。
- 可選的 speed 參數規定效果的時長。它可以取以下值:“slow”、“fast” 或毫秒。
- 可選的 callback 參數是動畫完成後所執行的函數名稱。