Mirror王宇陽 byjavascript
jQuery語法是經過選取HTML元素,並對選取的元素進行操做php
全部jQuery語句用「$」符號開始css
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> </head> <body> <p>點擊消失</p> <p>點擊消失</p> <script src="jq/jquery-3.4.1.min.js"></script> <script> $(document).ready(function(){ //固定的jQ開頭 $("p").click(function(){ // 選取p標籤,並綁定clisk事件 $(this).hide(); //事件觸發使用hide()方法(隱藏當前標籤屬性) }) }) </script> </body> </html>
jQuery函數位於一個document ready函數中,咱們須要在js中加載該函數文檔html
// jQuery入口函數 $(document).ready(function(){ //jQuery代碼 }); /*******************************/ $(function(){ //jQuery代碼 });
jQuery的選擇器語法格式和CSS的調用方法同樣的哦!java
選擇器容許基於元素的id、class、type、屬性、屬性值等選擇方法來找到指定的HTML元素jquery
元素選擇器ajax
$("p"); //選取p標籤元素
id選擇器數組
$("#demo"); // 選取id='demo'的元素
.class選擇器服務器
$(".demo"); // 選取class='demo'的元素
全部元素app
$("*"); // 選取所有元素
|Event 函數 |綁定函數至 |
|$(document).ready(function) |將函數綁定到文檔的就緒事件(當文檔完成加載時) |
|$(selector).click(function) |觸發或將函數綁定到被選元素的點擊事件 |
|$(selector).dblclick(function) |觸發或將函數綁定到被選元素的雙擊事件 |
|$(selector).focus(function) |觸發或將函數綁定到被選元素的得到焦點事件 |
|$(selector).mouseover(function)|觸發或將函數綁定到被選元素的鼠標懸停事件 |
參考:
|方法 |描述 |
|bind() |向匹配元素附加一個或更多事件處理器 |
|blur() |觸發、或將函數綁定到指定元素的 blur 事件 |
|change() |觸發、或將函數綁定到指定元素的 change 事件 |
|click() |觸發、或將函數綁定到指定元素的 click 事件 |
|dblclick() |觸發、或將函數綁定到指定元素的 double click 事件 |
|delegate() |向匹配元素的當前或將來的子元素附加一個或多個事件處理器 |
|die() |移除全部經過 live() 函數添加的事件處理程序。 |
|error() |觸發、或將函數綁定到指定元素的 error 事件 |
|event.isDefaultPrevented() |返回 event 對象上是否調用了 event.preventDefault()。 |
|event.pageX |相對於文檔左邊緣的鼠標位置。 |
|event.pageY |相對於文檔上邊緣的鼠標位置。 |
|event.preventDefault() |阻止事件的默認動做。 |
|event.result |包含由被指定事件觸發的事件處理器返回的最後一個值。 |
|event.target |觸發該事件的 DOM 元素。 |
|event.timeStamp |該屬性返回從 1970 年 1 月 1 日到事件發生時的毫秒數。 |
|event.type |描述事件的類型。 |
|event.which |指示按了哪一個鍵或按鈕。 |
|focus() |觸發、或將函數綁定到指定元素的 focus 事件 |
|keydown() |觸發、或將函數綁定到指定元素的 key down 事件 |
|keypress() |觸發、或將函數綁定到指定元素的 key press 事件 |
|keyup() |觸發、或將函數綁定到指定元素的 key up 事件 |
|live() |爲當前或將來的匹配元素添加一個或多個事件處理器 |
|load() |觸發、或將函數綁定到指定元素的 load 事件 |
|mousedown() |觸發、或將函數綁定到指定元素的 mouse down 事件 |
|mouseenter() |觸發、或將函數綁定到指定元素的 mouse enter 事件 |
|mouseleave() |觸發、或將函數綁定到指定元素的 mouse leave 事件 |
|mousemove() |觸發、或將函數綁定到指定元素的 mouse move 事件 |
|mouseout() |觸發、或將函數綁定到指定元素的 mouse out 事件 |
|mouseover() |觸發、或將函數綁定到指定元素的 mouse over 事件 |
|mouseup() |觸發、或將函數綁定到指定元素的 mouse up 事件 |
|one() |向匹配元素添加事件處理器。每一個元素只能觸發一次該處理器。 |
|ready() |文檔就緒事件(當 HTML 文檔就緒可用時) |
|resize() |觸發、或將函數綁定到指定元素的 resize 事件 |
|scroll() |觸發、或將函數綁定到指定元素的 scroll 事件 |
|select() |觸發、或將函數綁定到指定元素的 select 事件 |
|submit() |觸發、或將函數綁定到指定元素的 submit 事件 |
|toggle() |綁定兩個或多個事件處理器函數,當發生輪流的 click 事件時執行。 |
|trigger() |全部匹配元素的指定事件 |
|triggerHandler() |第一個被匹配元素的指定事件 |
|unbind() |從匹配元素移除一個被添加的事件處理器 |
|undelegate() |從匹配元素移除一個被添加的事件處理器,如今或未來 |
|unload() |觸發、或將函數綁定到指定元素的 unload 事件 |
:first/:last
:first
:選取第一個元素
:last
:選取最後一個元素
:not(*):去除選擇器給定的元素
:even/:odd
:even:偶數索引的標籤
:odd:奇數索引的標籤
:eq()/:gt()/:lt()
eq():選取指定索引的元素
ge():選取大於指定索引的元素
lt():選取小於指定索引的元素
:focus 選取全部失去焦點的元素
:header 選取全部標題元素(h1\h2\h3……)
:animated 匹配全部正在執行動畫操做的元素
實例:
$(document).ready(function(){ $("div:lt(4)").addClass("myClass");// 除最後三個元素之外添加myClass $("div:not(.green,.gray)").addClass("myClass"); //除了green和gay之外的元素添加myClass $("div:gt(3)").addClass("myClass");//給最後三個元素添加myClass $("div:even").addClass("myClass");//偶數索引添加myClass $("div:odd").addClass("myClass");// 奇數索引添加沒有Class $("div:eq(3)").addClass("myClass");//給指定索引添加myClass $("div:first").addClass("myClass");//第一個標籤 $("div:last").addClass("myClass");//最後一個標籤 });
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>hide()/show()</title> </head> <body> <div id="demo"> <input type="button" id="hide" value="隱藏" /> <input type="button" id="show" value="顯示" /> <div id="a1" style= "color: #000; background-color: #66FF66; width: 100px; height: 100px; margin-top: 20px; text-align: center;"> 演示塊 </div> </div> <script src="jq/jquery-3.4.1.min.js"></script> <script> $(function(){ $("#hide").click(function(){ // 隱藏 $("#a1").hide(); }) $("#show").click(function(){ //顯示 $("#a1").show(); }) }) </script> </body> </html> <!-- hide/show()語法原型 $().hide(speed,callback); $().show(speed,callback); speed:規定了淡入淡出的延遲時間可取(slow/fast/毫秒數;即:緩慢的、快速的、延遲的) callback:完成執行後調用的函數名稱 -->
$("#toggle").click(function(){ // toggle開關 $("#a1").toggle(); }); <!-- speed:規定了淡入淡出的延遲時間可取(slow/fast/毫秒數;即:緩慢的、快速的、延遲的) callback:完成執行後調用的函數名稱 -->
$().fadeIn(speed,callback); <!-- speed:規定了淡入淡出的延遲時間可取(slow/fast/毫秒數;即:緩慢的、快速的、延遲的) callback:完成執行後調用的函數名稱 -->
$().fadeOut(speed,callback); <!-- speed:規定了淡入淡出的延遲時間可取(slow/fast/毫秒數;即:緩慢的、快速的、延遲的) callback:完成執行後調用的函數名稱 -->
$().fadeToggle(speed,callback); <!-- speed:規定了淡入淡出的延遲時間可取(slow/fast/毫秒數;即:緩慢的、快速的、延遲的) callback:完成執行後調用的函數名稱 -->
$().fadeTo(speed,opacity,callback); <!-- speed:規定了淡入淡出的延遲時間可取(slow/fast/毫秒數;即:緩慢的、快速的、延遲的) opacity:設置給定的不透明度(0~1) callback:完成執行後調用的函數名稱 -->
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>fadeIn()|fadeOut()|fadeToggle()|fadeTo()</title> <script src="jq/jquery-3.4.1.min.js"></script> </head> <body> <div id="demo"> <input type="button" id="fadeIn" value="fadeIn" /> <input type="button" id="fadeOut" value="fadeOut" /> <input type="button" id="fadeToggle" value="fadeToggle" /> <input type="button" id="fadeTo" value="fadeTo" /> <br> <div id="a1" style=" background-color: #5555FF; width: 300px; height: 100px; margin-top: 20px; "> </div> <div id="info" style="display: none;"> 已隱藏 </div> </div> <script> function info(){ $("#info").toggle(); } $(function(){ $("#fadeIn").click(function(){ $("#a1").fadeIn("slow",info()); // slow:慢速的 // fast:快速的 }); $("#fadeOut").click(function(){ $("#a1").fadeOut("slow",info()); }); $("#fadeToggle").click(function(){ $("#a1").fadeToggle("slow",info()); }) $("#fadeTo").click(function(){ // 設置隱藏不透明度(通俗的講就是顏色變淡並非徹底淡出) $("#a1").fadeTo("slow",0.5); }) }) </script> </body> </html>
$().slideDown(speed,callback); <!-- speed:slow\fast\毫秒值 callback:完成動做後執行的函數名稱 -->
$().slideUp(speed,callback); <!-- speed:slow\fast\毫秒值 callback:完成動做後執行的函數名稱 -->
$().slideToggle(speed,callback);
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>slideDown()|slideUp()|slideToggle()</title> <script src="jq/jquery-3.4.1.min.js"></script> <style type="text/css"> *{margin: 0px;padding: 0px;} #Down,#Up,#Toggle{ width: 60px; height: 20px; color: #000000; font-size: 10px; text-align: center; float: left; cursor: pointer; } #Down{background-color: #5555FF;} #Toggle{background-color: #FCFF9F;} #Up{background-color: #66FF66;} #slide{ clear: both; background-color: #CCCCCC; width: 180px; height: 100px; border-top: #FF0000; text-align: center; position: relative; } #demo{margin: 10px 0px 0px 10px;} </style> </head> <body> <div id="demo"> <div id="Down">向下滑動</div> <div id="Toggle">滑動切換</div> <div id="Up">向上滑動</div> <div id="slide"> </div> </div> <script> $(function(){ $("#Down").click(function(){ $("#slide").slideDown(); }) $("#Up").click(function(){ $("#slide").slideUp(); }) $("#Toggle").click(function(){ $("#slide").slideToggle(); }) }) </script> </body> </html>
$().animate({css},speed,callback); <!-- {css}:定義動畫的css屬性 (支持多個同時、支持相對值[+=/-=]、支持hide,toggle…等預約義值) 支持‘隊列’式的動畫(即多個animate()組成一串(隊列)動畫) speed:slow/fast/毫秒值 callback:執行完成調用函數 -->
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>animate()動畫</title> <script src="jq/jquery-3.4.1.min.js"></script> <style type="text/css"> #demo{ margin: 10px; width: 100px; height: 100px; background-color: #5555FF; position: relative; } </style> </head> <body> <div id="demo"> </div> <script> $(function(){ $("#demo").animate({ left:'300px', width:'+=150px', height:'+=150px', // 支持多個樣式的組合的動畫 // 支持相對值 },2000);//支持延遲 $("#demo").animate({left:'10px',width:'-=100px',height:'-=100px'}); $("#demo").click(function(){ $("#demo").animate({top:'100px'},1000); $("#demo").animate({left:'100px'},1000); $("#demo").animate({top:'0px'}); $("#demo").animate({left:'0px'}); // 支持隊列組合的動畫動做 }) }) </script> </body> </html>
$().stop(stopAll,goToEnd); <!-- stopAll:是否清除動畫隊列 默認false goToEnd:是否當即中止動畫 默認false 默認狀況下,stop()會清除被選中的元素的當前動畫 -->
// parents(*)/parentsUntil(*):兩個方法在這裏都可選一個參數接收
siblings() 返回被選元素的全部同級元素(支持過濾參數)
nextUntil() 返回被選元素與參數之間的全部同級元素
prevUntil() 返回被選元素與參數之間的全部同級元素
AJAX = 異步JavaScript + XML
在不重載網頁的狀況下,後臺加載數據並顯示在頁面上
經常利用:調用一個重複的代碼塊,例如網頁的導航、版本塊等……
由此能夠大大的減小代碼量的編寫工做,模塊化的團隊開發應該經常使用
$().load(URL,data,callback); <!-- URL:加載的數據文件位置uRL data:與URL加載請求一塊兒發送的字符串鍵/值對集合 callback:執行完畢後調用的函數 - responseTxt : 調用成功的結果 - statusTXT : 調用的狀態 - xhr : XMLHttpRequest對象 -->
$.get(URL , callback); <!-- URL:加載的uRL callback:執行完畢後調用的函數 -->
$("button").click(function(){ $.get("demo_test.php",function(data,status){ alert("數據: " + data + "\n狀態: " + status); }); });