jQuery是什麼?javascript
jQuery是一個快速、簡潔的JavaScript框架,它封裝JavaScript經常使用的功能代碼,提供一種簡便的JavaScript設計模式,優化HTML文檔操做、事件處理、動畫設計和Ajax交互。它封裝JavaScript經常使用的功能代碼,提供一種簡便的JavaScript設計模式,優化HTML文檔操做、事件處理、動畫設計和Ajax交互。css
JQuery效果 - 隱藏和顯示html
.show()讓隱藏的元素顯示。效果爲:同時修改元素的高度、寬度、opacity屬性java
.hide()讓顯示的元素隱藏,與show相反jquery
.toggle() 方法用來切換 hide() 和 show() 方法。顯示被隱藏的元素,並隱藏已顯示的元素設計模式
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="UTF-8"> 5 <title></title> 6 <script type="text/javascript" src="js/jquery-3.1.1.js" ></script> 7 <script type="text/javascript"> 8 $(document).ready(function(){ 9 $("#hide").click(function(){ 10 $("p").hide(); 11 }); 12 $("#show").click(function(){ 13 $("p").show(); 14 }); 15 }); 16 </script> 17 </head> 18 <body> 19 <p>若是你點擊「隱藏」 按鈕,我將會消失。</p> 20 <button id="hide">隱藏</button> 21 <button id="show">顯示</button> 22 </body> 23 </html>
JQuery效果 - 淡入淡出app
.fadeIn() 讓隱藏的元素淡入顯示框架
.fadeOut() 讓顯示的元素淡出隱藏,修改透明度ide
. fadeToggle() 方法能夠在 fadeIn() 與 fadeOut() 方法之間進行切換。若是元素已淡出,則 fadeToggle() 會向元素添加淡入效果。若是元素已淡入,則 fadeToggle() 會向元素添加淡出效果。函數
.fadeTo(時間,最終透明度,函數)同fadeToggle,接受第二個參數,表示達到最終透明度
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="UTF-8"> 5 <title></title> 6 <script type="text/javascript" src="js/jquery-3.1.1.js" ></script> 7 <script type="text/javascript"> 8 $(document).ready(function(){ 9 $("button").click(function(){ 10 $("#div1").fadeToggle(); 11 $("#div2").fadeToggle("slow"); 12 $("#div3").fadeToggle(3000); 13 }); 14 }); 15 </script> 16 </head> 17 <body> 18 <p>實例演示了 fadeToggle() 使用了不一樣的 speed(速度) 參數。</p> 19 <button>點擊淡入/淡出</button> 20 <br><br> 21 <div id="div1" style="width:80px;height:80px;background-color:red;"></div> 22 <br> 23 <div id="div2" style="width:80px;height:80px;background-color:green;"></div> 24 <br> 25 <div id="div3" style="width:80px;height:80px;background-color:blue;"></div> 26 </body> 27 </html>
JQuery效果 - 滑動
.slideDown() 讓隱藏的元素顯示,效果爲從上往下,增長高度;
.slideUp() 讓顯示的元素隱藏,效果爲從下往上,減少高度;
. slideToggle() 方法能夠在 slideDown() 與 slideUp() 方法之間進行切換。若是元素向下滑動,則 slideToggle() 可向上滑動它們。若是元素向上滑動,則 slideToggle() 可向下滑動它們。
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="UTF-8"> 5 <title></title> 6 <script type="text/javascript" src="js/jquery-3.1.1.js" ></script> 7 <style type="text/css"> 8 #panel,#flip 9 { 10 padding:5px; 11 text-align:center; 12 background-color:#e5eecc; 13 border:solid 1px #c3c3c3; 14 } 15 #panel 16 { 17 padding:50px; 18 display:none; 19 } 20 </style> 21 <script type="text/javascript"> 22 $(document).ready(function(){ 23 $("#flip").click(function(){ 24 $("#panel").slideToggle("slow"); 25 }); 26 }); 27 </script> 28 29 </head> 30 <body> 31 <div id="flip">點我,顯示或隱藏面板。</div> 32 <div id="panel">Hello world!</div> 33 </body> 34 </html>
JQuery效果 - animate()方法
.animate({最終樣式屬性,鍵值對對象},
動畫事件,
動畫效果("linear","swing"),
動畫執行完後的回調函數)
自定義動畫注意事項:
參數一的對象中,鍵必須使用駝峯法則
只有數值類型的屬性可以使用動畫,非數值類型的屬性不能使用動畫
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="UTF-8"> 5 <title></title> 6 <script type="text/javascript" src="js/jquery-3.1.1.js" ></script> 7 <script type="text/javascript"> 8 $(document).ready(function(){ 9 $("button").click(function(){ 10 var div=$("div"); 11 div.animate({left:'100px'},"slow"); 12 div.animate({fontSize:'3em'},"slow"); 13 }); 14 }); 15 </script> 16 17 </head> 18 <body> 19 <button>開始動畫</button> 20 <p>默認狀況下,全部的 HTML 元素有一個靜態的位置,且是不可移動的。 21 若是須要改變爲,咱們須要將元素的 position 屬性設置爲 relative, fixed, 或 absolute!</p> 22 <div style="background:#98bf21;height:100px;width:200px;position:absolute;">HELLO</div> 23 24 </body> 25 </html>
JQuery - 獲取內容和屬性
獲取內容-text()、html()和val()
三個簡單實用的用於 DOM 操做的 jQuery 方法:
//實例
$("#btn1").click(function(){
alert("Text: " + $("#test").text());
});
$("#btn2").click(function(){
alert("HTML: " + $("#test").html());
});
$("#btn1").click(function(){
alert("值爲: " + $("#test").val());
});
$("button").click(function(){
alert($("#runoob").attr("href"));
});
JQuery - 設置內容和屬性
設置內容-text()、html()和val()
下面的例子演示如何經過 text()、html() 以及 val() 方法來設置內容:
1 $("#btn1").click(function(){ 2 $("#test1").text("Hello world!"); 3 }); 4 $("#btn2").click(function(){ 5 $("#test2").html("<b>Hello world!</b>"); 6 }); 7 $("#btn3").click(function(){ 8 $("#test3").val("RUNOOB"); 9 });
text()、html()和val()的回調函數
上面的三個 jQuery 方法:text()、html() 以及 val(),一樣擁有回調函數。回調函數有兩個參數:被選元素列表中當前元素的下標,以及原始(舊的)值。而後以函數新值返回你但願使用的字符串。
1 //實例 2 $("#btn1").click(function(){ 3 $("#test1").text(function(i,origText){ 4 return "舊文本: " + origText + " 新文本: Hello world! (index: " + i + ")"; 5 }); 6 }); 7 8 $("#btn2").click(function(){ 9 $("#test2").html(function(i,origText){ 10 return "舊 html: " + origText + " 新 html: Hello <b>world!</b> (index: " + i + ")"; 11 }); 12 });
jQuery attr() 方法也用於設置/改變屬性值。
下面的例子演示如何設置連接中 href 屬性的值:
1 //實例 2 $("button").click(function(){ 3 $("#runoob").attr({ 4 "href" : "http://www.runoob.com/jquery", 5 "title" : "jQuery 教程" 6 }); 7 });
JQuery - 添加元素
1 //經過 append() 和 prepend() 方法添加新元素 2 function appendText() 3 { 4 var txt1="<p>文本。</p>"; // 使用 HTML 標籤建立文本 5 var txt2=$("<p></p>").text("文本。"); // 使用 jQuery 建立文本 6 var txt3=document.createElement("p"); 7 txt3.innerHTML="文本。"; // 使用 DOM 建立文本 text with DOM 8 $("body").append(txt1,txt2,txt3); // 追加新元素 9 }
1 //經過 after() 和 before() 方法添加新元素 2 function afterText() 3 { 4 var txt1="<b>I </b>"; // 使用 HTML 建立元素 5 var txt2=$("<i></i>").text("love "); // 使用 jQuery 建立元素 6 var txt3=document.createElement("big"); // 使用 DOM 建立元素 7 txt3.innerHTML="jQuery!"; 8 $("img").after(txt1,txt2,txt3); // 在圖片後添加文本 9 }
JQuery - 刪除元素
如需刪除元素和內容,通常可以使用如下兩個 jQuery 方法:
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="UTF-8"> 5 <title></title> 6 <script type="text/javascript" src="js/jquery-3.1.1.js" ></script> 7 <script type="text/javascript"> 8 $(document).ready(function(){ 9 $("button").click(function(){ 10 $("h1,h2,p").addClass("blue"); 11 $("div").addClass("important"); 12 }); 13 }); 14 </script> 15 <style type="text/css"> 16 .important 17 { 18 font-weight:bold; 19 font-size:xx-large; 20 } 21 .blue 22 { 23 color:blue; 24 } 25 </style> 26 </head> 27 <body> 28 <h1>標題 1</h1> 29 <h2>標題 2</h2> 30 <p>這是一個段落。</p> 31 <p>這是另一個段落。</p> 32 <div>這是一些重要的文本!</div> 33 <br> 34 <button>爲元素添加 class</button> 35 </body> 36 </html>
1 //設置 CSS 屬性 2 $("p").css({"background-color":"yellow","font-size":"200%"});
1 //removeClass() - 從被選元素刪除一個或多個類 2 $("button").click(function(){ 3 $("h1,h2,p").removeClass("blue"); 4 });
1 //toggleClass() - 對被選元素進行添加/刪除類的切換操做 2 $("button").click(function(){ 3 $("h1,h2,p").toggleClass("blue"); 4 });