val 方法同時設置多個表單項的選中狀態:javascript
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script type="text/javascript" src="script/jquery-1.7.2.js"></script> <script> $(function () { /* // 批量操做單選 $(":radio").val(["radio2"]); // 批量操做帥選框的選中 $(":checkbox").val(["checkbox1","checkbox2"]); // 批量多選下拉的選中狀態 $("#multiple").val(["mul1","mul2"]); // 單選的下拉框選中狀態 $("#single").val(["sin2"]); */ $("#multiple,#single,:radio,:checkbox").val(["radio2","checkbox1","mul1","mul2","sin2"]); }); </script> </head> <body> 單選: <input name="radio" type="radio" value="radio1"/>radio1 <input name="radio" type="radio" value="radio2"/>radio2 <br/> 多選: <input name="checkbox" type="checkbox" value="checkbox1"/>checkbox1 <input name="checkbox" type="checkbox" value="checkbox2"/>checkbox2 <input name="checkbox" type="checkbox" value="checkbox3"/>checkbox3 <br/> 下拉多選 : <select id="multiple" multiple="multiple" size="4"> <option value="mul1">mul1</option> <option value="mul2">mul2</option> <option value="mul3">mul3</option> <option value="mul4">mul4</option> </select> <br/> 下拉單選 : <select id="single"> <option value="sin1">sin1</option> <option value="sin2">sin2</option> <option value="sin3">sin3</option> </select> </body> </html>
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script type="text/javascript" src="script/jquery-1.7.2.js"></script> <script> $(function () { // 1. 給全選綁定事件 $("#checkedAllBtn").click(function () { $(":checkbox").prop("checked",true); }); // 2. 給全不選綁定事件 $("#checkedNoBtn").click(function () { $(":checkbox").prop("checked",false); }); // 3. 給反選綁定事件 $("#checkedRevBtn").click(function () { // 在each遍歷的function函數中 ,有一個this對象。這個this對象是當前正在遍歷到的dom對象 $(":checkbox[name='items']").each(function () { this.checked = !this.checked; }); }); // 4. 檢測是否選滿 // 先獲取總的個數 var allCount = $(":checkbox[name='items']").length; // 再獲取選中的個數 var checkedCount = $(":checkbox[name='items']:checked").length; // if (allCount == checkedCount){ // $("#checkbox").prop("checked",true); // } else{ // $("#checkbox").prop("checked",false); // } $("#checkbox").prop("checked",allCount == checkedCount); // 5. 提交事件 $("#sendBtn").click(function () { // 獲取選中的球類 $(":checkbox[name='items']:checked").each(function () { alert(this.value); }); }); }); </script> </head> <body> <form method="post" action=""> 你愛好的運動是? <input type="checkbox" id="checkAll"> 全選/所有選 <br> <input type="checkbox" name="items" value="足球">足球 <input type="checkbox" name="items" value="籃球">籃球 <input type="checkbox" name="items" value="羽毛球">羽毛球 <input type="checkbox" name="items" value="乒乓球">乒乓球 <br> <input type="button" id="checkedAllBtn" value="全 選" /> <input type="button" id="checkedNoBtn" value="全不選" /> <input type="button" id="checkedRevBtn" value="反 選" /> <input type="button" id="sendBtn" value="提 交" /> </form> </body> </html>
內部插入:css
外部插入:html
替換:java
刪除:jquery
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style type="text/css"> select{ width: 100px; height: 140px; } div{ width: 130px; float: left; text-align: center; } </style> <script type="text/javascript" src="script/jquery-1.7.2.js"></script> <script type="text/javascript"> $(function () { // 第一個按鈕,選中添加到右邊 $("button:eq(0)").click(function () { $("select:eq(0) option:selected").appendTo($("select:eq(1)")); }); // 第二個按鈕,所有添加到右邊 $("button:eq(1)").click(function () { $("select:eq(0) option").appendTo($("select:eq(1)")); }); // 第三個按鈕,選中刪除到左邊 $("button:eq(2)").click(function () { $("select:eq(1) option:selected").appendTo($("select:eq(0)")); }); // 第四個按鈕,所有刪除到左邊 $("button:eq(3)").click(function () { $("select:eq(1) option").appendTo($("select:eq(0)")); }); }); </script> </head> <body> <div id="left"> <select multiple="multiple" name="sel01"> <option value="opt01">選項 1</option> <option value="opt02">選項 2</option> <option value="opt03">選項 3</option> <option value="opt04">選項 4</option> <option value="opt05">選項 5</option> <option value="opt06">選項 6</option> <option value="opt07">選項 7</option> <option value="opt08">選項 8</option> </select> <button>選中添加到右邊</button> <button>所有添加到右邊</button> </div> <div id="rigth"> <select multiple="multiple" name="sel02"> </select> <button>選中刪除到左邊</button> <button>所有刪除到左邊</button> </div> </body> </html>
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <link rel="stylesheet" type="text/css" href="style/css.css"> <script type="text/javascript" src="script/jquery-1.7.2.js"></script> <script type="text/javascript"> $(function () { // 建立一個用於複用的刪除的函數 var deleteFun = function () { alert("刪除 操做 的function : " + this); //在事件響應的function函數中,有一個this對象。這個this對象是當前正在響應事件的dom對象 var $trObj = $(this).parent().parent(); var name = $trObj.find("td:first").text(); /** * confirm 是JavaScript語言提供的一個確認提示框函數。你給它傳什麼,它就提示什麼 * 當用戶點擊了肯定,就返回true。當用戶點擊了取消,就返回false */ if( confirm("你肯定要刪除[" + name + "]嗎?") ){ $trObj.remove(); } return false; //能夠阻止 元素的默認行爲。 }; // 給submit綁定事件 $("#addEmpButton").click(function () { // 獲取輸入框中的內容 var name = $("#empName").val(); var email = $("#email").val(); var salary = $("#salary").val(); // 建立一個行標籤對象,添加到顯示數據的表格中 var $trObj = $("<tr>" + "<td>"+ name +"</td>" + "<td>"+ email +"</td>" + "<td>"+ salary +"</td>" + "<td><a href=\"deleteEmp?id=002\">Delete</a></td>"+ "</tr>") ; // 添加到表格中 $trObj.appendTo($("#employeeTable")); // 給添加的行的a標籤綁定事件 $trObj.find("a").click(deleteFun); }); // 給刪除的a標籤綁定單擊事件 $("a").click(deleteFun); }); </script> </head> <body> <table id="employeeTable"> <tr> <th>Name</th> <th>Email</th> <th>Salary</th> <th> </th> </tr> <tr> <td>Tom</td> <td>tom@tom.com</td> <td>5000</td> <td><a href="deleteEmp?id=001">Delete</a></td> </tr> <tr> <td>Jerry</td> <td>jerry@sohu.com</td> <td>8000</td> <td><a href="deleteEmp?id=002">Delete</a></td> </tr> <tr> <td>Bob</td> <td>bob@tom.com</td> <td>10000</td> <td><a href="deleteEmp?id=003">Delete</a></td> </tr> </table> <div id="formDiv"> <h4>添加新員工</h4> <table> <tr> <td class="word">name:</td> <td class="inp"><input type="text" name="empName" id="empName"/></td> </tr> <tr> <td class="word">email:</td> <td class="inp"><input type="text" name="email" id="email"/></td> </tr> <tr> <td class="word">salary:</td> <td class="inp"><input type="text" name="salary" id="salary"/></td> </tr> <tr> <td colspan="2" align="center"> <button id="addEmpButton" value="abc"> Submit</button> </td> </tr> </table> </div> </body> </html>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> <style type="text/css"> div{ width:100px; height:260px; } div.border{ border: 2px white solid; } div.redDiv{ background-color: red; } div.blackDiv{ border: 5px blue solid; } </style> <script type="text/javascript" src="script/jquery-1.7.2.js"></script> <script type="text/javascript"> $(function(){ /* CSS css(name|pro|[,val|fn]) 讀寫匹配元素的樣式屬性。 a.css('color')取出a元素的color a.css('color',"red")設置a元素的color爲red CSS 類 addClass(class|fn) 爲元素添加一個class值;<div class="mini big"> removeClass([class|fn]) 刪除元素的class值;傳遞一個具體的class值,就會刪除具體的某個class a.removeClass():移除全部的class值 **/ var $divEle = $('div:first'); $('#btn01').click(function(){ //addClass() - 向被選元素添加一個或多個類 $divEle.addClass("redDiv blackDiv"); }); $('#btn02').click(function(){ //removeClass() - 從被選元素刪除一個或多個類 $divEle.removeClass() }); $('#btn03').click(function(){ //toggleClass() - 對被選元素進行添加/刪除類的切換操做 //切換就是若是具備該類那麼刪除,若是沒有那麼添加上 $divEle.toggleClass("redDiv"); }); $('#btn04').click(function(){ //offset() - 返回第一個匹配元素相對於文檔的位置。 var os = $divEle.offset(); //注意經過offset獲取到的是一個對象,這個對象有兩個屬性top表示頂邊距,left表示左邊距 alert("頂邊距:"+os.top+" 左邊距:"+os.left); //調用offset設置元素位置時,也須要傳遞一個js對象,對象有兩個屬性top和left //offset({ top: 10, left: 30 }); $divEle.offset({ top:50, left:60 }); }); }) </script> </head> <body> <table align="center"> <tr> <td> <div class="border"> </div> </td> <td> <div class="btn"> <input type="button" value="addClass()" id="btn01"/> <input type="button" value="removeClass()" id="btn02"/> <input type="button" value="toggleClass()" id="btn03"/> <input type="button" value="offset()" id="btn04"/> </div> </td> </tr> </table> <br /> <br /> <br /> <br /> </body> </html>
基本動畫:瀏覽器
以上動畫方法均可以添加參數:app
淡入淡出動畫:less
需求:dom
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style type="text/css"> * { margin: 0; padding: 0; } body { font-size: 12px; text-align: center; } a { color: #04D; text-decoration: none; } a:hover { color: #F50; text-decoration: underline; } .SubCategoryBox { width: 600px; margin: 0 auto; text-align: center; margin-top: 40px; } .SubCategoryBox ul { list-style: none; } .SubCategoryBox ul li { display: block; float: left; width: 200px; line-height: 20px; } .showmore , .showless{ clear: both; text-align: center; padding-top: 10px; } .showmore a , .showless a{ display: block; width: 120px; margin: 0 auto; line-height: 24px; border: 1px solid #AAA; } .showmore a span { padding-left: 15px; background: url(img/down.gif) no-repeat 0 0; } .showless a span { padding-left: 15px; background: url(img/up.gif) no-repeat 0 0; } .promoted a { color: #F50; } </style> <script type="text/javascript" src="script/jquery-1.7.2.js"></script> <script type="text/javascript"> $(function () { // 1. 初始狀態 var categoty = $("li:gt(5):not(:last)"); categoty.hide(); var $promoptedCategory = $("ul:first li").filter(":contains('佳能'), :contains('尼康'), :contains('奧林巴斯')"); // 2. 給按鈕綁定單擊事件 $(".showmore a").click(function () { // 3. 顯示或隱藏 // 4. 判斷當前的品牌是否可見 if (categoty.is(":hidden")) { categoty.show(); $(".showmore a span").text("顯示精簡品牌") .css("background","url(img/up.gif) no-repeat 0 0"); // 加高亮 $promoptedCategory.addClass("promoted"); }else { categoty.hide(); $(".showmore a span").text("顯示所有品牌") .css("background","url(img/down.gif) no-repeat 0 0"); $promoptedCategory.removeClass("promoted"); } return false; }); }); </script> </head> <body> <div class="SubCategoryBox"> <ul> <li><a href="#">佳能</a><i>(30440) </i></li> <li><a href="#">索尼</a><i>(27220) </i></li> <li><a href="#">三星</a><i>(20808) </i></li> <li><a href="#">尼康</a><i>(17821) </i></li> <li><a href="#">松下</a><i>(12289) </i></li> <li><a href="#">卡西歐</a><i>(8242) </i></li> <li><a href="#">富士</a><i>(14894) </i></li> <li><a href="#">柯達</a><i>(9520) </i></li> <li><a href="#">賓得</a><i>(2195) </i></li> <li><a href="#">理光</a><i>(4114) </i></li> <li><a href="#">奧林巴斯</a><i>(12205) </i></li> <li><a href="#">明基</a><i>(1466) </i></li> <li><a href="#">愛國者</a><i>(3091) </i></li> <li><a href="#">其它品牌相機</a><i>(7275) </i></li> </ul> <div class="showmore"> <a href="more.html"><span>顯示所有品牌</span></a> </div> </div> </body> </html>
他們分別是在何時觸發?ide
他們觸發的順序?
他們執行的次數?
什麼是事件的冒泡?
事件的冒泡是指,父子元素同時監聽同一個事件。當觸發子元素的事件的時候,同一個事件也被傳遞到了父元素的事件裏去 響應。
那麼如何阻止事件冒泡呢?
在子元素事件函數體內,returnfalse; 能夠阻止事件的冒泡傳遞。
事件對象,是封裝有觸發的事件信息的一個 javascript 對象。
咱們重點關心的是怎麼拿到這個 javascript 的事件對象。以及使用。
如何獲取呢 javascript 事件對象呢?
在給元素綁定事件的時候,在事件的 function(event) 參數列表中添加一個參數,這個參數名,咱們習慣取名爲 event。 這個 event 就是 javascript 傳遞參事件處理函數的事件對象
// 1. 原生javascript獲取事件對象 window.onload = function () { document.getElementById("areaDiv").onclick = function (event) { console.log(event); } } // 2. jQuery代碼獲取事件對象 $(function () { $("#areaDiv").click(function (event) { console.log(event); }); }); // 3. 使用 bind 同時對多個事件綁定同一個函數。怎麼獲取當前操做是什麼事件使用 bind 同時對多個事件綁定同一個函數。怎麼獲取當前操做是什麼事件 $("#areaDiv").bind("mouseover mouseout",function (event) { if (event.type == "mouseover") { console.log("鼠標移入"); } else if (event.type == "mouseout") { console.log("鼠標移出"); } });
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style type="text/css"> body { text-align: center; } #small { margin-top: 150px; } #showBig { position: absolute; display: none; } </style> <script type="text/javascript" src="script/jquery-1.7.2.js"></script> <script type="text/javascript"> $(function () { $("#small").bind("mouseover mouseout mousemove",function (event) { if (event.type == "mouseover"){ $("#showBig").show(); } else if(event.type == "mousemove"){ console.log(event); $("#showBig").offset({ left : event.pageX + 10, top: event.pageY + 10 }); } else if(event.type == "mouseout"){ $("#showBig").hide(); } }); }); </script> </head> <body> <img id="small" src="img/small.jpg"/> <div id="showBig"> <img src="img/big.jpg"> </div> </body> </html>