<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> javascript <% css String path = request.getContextPath(); html String basePath = request.getScheme() + "://" java + request.getServerName() + ":" + request.getServerPort() node + path + "/"; jquery %> 編程
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> json <html> 數組 <head> 瀏覽器 <base href="<%=basePath%>">
<title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> -->
<script type="text/javascript" src="js/jquery-1.8.3.js" charset="utf-8"></script>
<script type="text/javascript"> $(function() { //alert("Jquery testing……………………") $("#btn").click(function() { alert($("#un").val()); $("div").click(function() { $(this).hide(""); }); }); }); </script> </head>
<body> <input type="text" id="un" /> <input type="button" id="btn" value="show" /> <div>1212112我是一箇中國人1212112我是一箇中國人1212112我是一箇中國人1212112我是一箇中國人1212112我是一箇中國人1212112我是一箇中國人1212112我是一箇中國人1212112我是一箇中國人1212112我是一12112我是一箇中國人1212112我是一箇中國人1212112我是一箇中國人1212112我是一箇中國人1212112我是一箇中國人1212112我是一箇中國人1212112我是一12112我是一箇中國人1212112我是一箇中國人1212112我是一箇中國人1212112我是一箇中國人1212112我是一箇中國人1212112我是一箇中國人1212112我是一12112我是一箇中國人1212112我是一箇中國人1212112我是一</div> </body> </html> |
//這裏面是一個匿名函數 $(document).ready(function (){ alert("網頁加載完畢"); });
//方法二 $(document).ready(myready); function myready(){ alert("文件加載完畢"); }
<script type="text/javascript"> $(function() { //alert("Jquery testing……………………") $("#btn").click(function() { alert($("#un").val()); $("div").click(function() { $(this).hide(""); }); }); });
//這裏面是一個匿名函數 //在全部的Dom元素加載完成後, 就會顯示特效 $(document).ready(function() { alert("網頁加載完畢"); });
//方法二 //能夠實現頁面較高的響應速度 $(document).ready(myready); function myready() { //alert("文件加載完畢"); }
//js直接來 window.onload = function() { alert("onload111"); };
//會自動把前面的響應事件覆蓋掉 //只有等網頁都加載完畢了纔會出現特效 window.onload = function() { alert("onload222"); };
//把window也加載成爲JQuery對象 $(window).load(function() { alert("window onload have ready!"); }); //加載方式三,$()其實就是一個函數 $(function() { alert("ready3333"); }); </script> |
//相似遍歷元素, 對每一個元素從新賦值, 再返回 var array = [ 3, 4, 5 ]; //對array中的每個元素*2, 獲得一個新數組 var array2 = $.map(array, function(item) { return item * 2; }); alert(array2);//6 8 10
//定義一個JSon數據 var dict = { "name1" : "zhansan", "name2" : "lisi" };
//若是用for循環去便利, 會麻煩不少 $.each(dict, function(key, value) { //能夠遍歷json數據 alert("key: " + key + "value: " + value); });
//用each對數組進行遍歷 var arr = [ 3, 4, 5 ]; $.each(arr, function(key, value) { alert("key: " + key + "value: " + value); });
//item指的是key(數組下標) $.each(arr, function(item) { alert("item: " + item); //0 1 2 });
//不加參數, 獲取的數組的元素值 $.each(arr, function() { alert(this); //3 4 5 });
//this指的是當前操做數據對象中的元素 $.each(dict, function() { alert(this); }); //【注意:】普通數組推薦用無參方法, 對於json數據實驗key, value方式進行遍歷便可
|
$(function() { //$("#div1")把Dom對象轉換成爲JQuery對象,(取出HTML文件中的全部文字) var con = $("#div1").html(); window.alert(con); //兩種方法是等價的, document.getElementById("div1")獲取到的是dom對象 var con2 = document.getElementById("div1").innerText; window.alert(con2); window.alert(document.getElementById("div1").innerHTML);
//注意jquery對象也不能調用dom方法 alert($("#div1").innerHTML); //error
//Jquery賦值 $("#div1").html("<a href='http://www.baidu.com'>百度首頁</a>"); //讓JQuery對象隱藏 //$("#div1").hide(""); //注意區分Array是JS自己的對象, 不是Dom對象, 所以無需將其轉換爲JQuery對象才能使用 //將JQuery對象轉換成爲一個dom對象 var jObj = $("#div1"); //將dom對象轉換成爲JQuery對象 var dObj = $(jObj)[0]; var dObj2 = $(jObj).get(0);
alert(jObj.html()); //獲取對象上的HTML源代碼 alert(dObj.innerHTML); //獲取對象上的文本 alert(dObj2.innerText);
//修改JQuery對象樣式 $(function() { //修改元素的屬性值 $("#div1").css("background", "red"); //讀取元素屬性的值 alert($("#div1").css("background-color")); $("#text").val(new Date().toLocaleString()); alert($("#text").val());
$("#div1").html("<a href='#'><font color=yellow size=5>"+new Date().toLocaleString()+"</font></a>"); alert($("#div1").text); alert($("#div1").text()); });
});
|
//JQuery選擇器(id選擇器 TagName選擇器) //若是直接在這裏就開始對p標籤註冊監聽, 就不會出現效果, //【緣由】程序自上而下執行, 執行到這裏的時候, 尚未找到p標籤對象(只有dom元素解析完畢的時候我才能找到p標籤) //【解決方案】1.利用JQuery()來解決 2.把這一塊的代碼移植到p標籤的下面便可 3.在dom中可使用onload=initEvent()也可解決 $("p").click(function() { alert("我是p標籤!"); }); //error function initEvent1(){ //取出全部的p標籤, 這也是一個隱式迭代, 給全部取出的p標籤增長click事件響應 $("p").click(function() { alert("我是p標籤!"); }); var p =document.getElementsByTagName("p"); alert(p.length); }
//當頁面加載完成ready以後, 對這些標籤添加監聽事件 $(function() { $("p").click(function() { alert("我是p標籤!"); //ok }); }); $("#div").html();
//JQuery選擇器(id選擇器 TagName選擇器) //若是直接在這裏就開始對p標籤註冊監聽, 就不會出現效果, //【緣由】程序自上而下執行, 執行到這裏的時候, 尚未找到p標籤對象(只有dom元素解析完畢的時候我才能找到p標籤) //【解決方案】1.利用JQuery()來解決 2.把這一塊的代碼移植到p標籤的下面便可 3.在dom中可使用onload=initEvent()也可解決 $("p").click(function() { alert("我是p標籤!"); }); //error function initEvent1() { //取出全部的p標籤, 這也是一個隱式迭代, 給全部取出的p標籤增長click事件響應 $("p").click(function() { alert("我是p標籤!"); }); var p = document.getElementsByTagName("p"); alert(p.length); }
//當頁面加載完成ready以後, 對這些標籤添加監聽事件 $(function() { $("p").click(function() { alert("我是p標籤!"); //ok }); }); //$("#div").html();
//對全部的類選擇器名稱爲test的標籤增長click事件 $(function() { //指定類選擇器監聽 $(".test").click(function() { alert($(this).text()); }); });
//Jquery多條件選擇器[注意選擇器表達式中的空格不能多也不能少, 易錯點!!] $(function() { $("p, div, span").click(function() { alert("p, dic, span選擇器都被監聽了!!!"); });
});
//層次選擇器 $(function() { //獲取div下面的全部li元素 alert($("div li").length); //2 //獲取div下面的直接li子元素 alert($("div > li").length); //1 //獲取樣式名爲test以後的第一個div元素 alert($(".test + div").length); //0 //獲取樣式名爲test以後的全部div元素 alert($(".test ~ div").length); //2 });
# 對應ID選擇器 . 對應class選擇器 |
//JQuery的隱式迭代, 不會報錯(讓頁面儘量少報錯誤!!) $(function() { //調錯技巧 var elements = $("#btn1"); if (elements.length <= 0) { alert("沒有找到指定的按鈕!!!"); //退出該語句 return; } /*$("#btn").mouseover(function() {
alert("鼠標移動上來了!"); });*/ else { elements.mouseover(function() {
alert("鼠標移動上來了!"); }); } }); |
//Jquery節點遍歷 $(function() { $("p").click(function() { //獲取當前的dom節點,轉爲JQuery對象 //獲取下一個節點中的文本 var text = $(this).next().text(); alert("我正在節點遍歷呢: " + text); //獲取下一個p節點(緊挨着的第一個元素) var p = $(this).next("p").text(); alert("獲取下一個p節點" + p); alert("nextall() " + $(this).nextAll().text()); alert("nextall() " + $(this).nextAll("p").text()); }); });
/* $.each(dict, function(key, value) { //能夠遍歷json數據 alert("key: " + key + "value: " + value); }); */
//點擊一個節點, 其後的全部節點都變色 $(function() { //獲取全部的p元素 $("p").click(function() { //獲取全部的p節點,這個this指的是我當前點擊的div var nodeP = $(this).nextAll("p");
//開始遍歷點擊標籤後面的全部節點 $.each(nodeP, function() { alert("this is" + this.innerText); alert("this2 is" + $(this).text()); }); //開始用each進行遍歷 $.each(nodeP, function() { //此時的this指的就是元素【當前點擊元素後面的div】 //alert(nodeP.text()), 對每一個div改變css樣式; $(this).css("background", "black"); }); }); });
//代碼優化後1 $(function() { $("p").click(function() { $.each($(this).nextAll("p"), function() { //$.each($(this)迭代會很麻煩 $(this).css("color", "orange"); $(this).css("font-size", "25"); }); }); });
//代碼優化後2 $(function() { $("p").click(function() { //此處無需利用each進行再次迭代, $(this).nextAll("p")這個方法中隱藏迭代了 $(this).nextAll("p").css("background", "pink"); }); });
//siblings測試:獲取全部的同輩元素 //點擊一個元素, 本身變白, 其餘元素變紅 $(function() { $("p").click(function() { //當前的元素變白 $(this).css("background", "white"); //讓其餘全部的元素變pink(這裏是本身的兄弟們都變色) $(this).siblings("p").css("background", "pink"); }); }); |
//JQuery鏈式編程 $(function() { $("p").click( function() { //鏈式編程 $(this).css("background", "white").siblings("p").css( "background", "pink"); }); });
//該功能實現點擊那個那個變色 $(function() { $("#rating td").html("<img src='images/star1.jpg' />").mouseover( function() { //先把全部的 //$("#rating td").siblings("#rating td").html("<img src='images/star1.jpg' />"); //$(this).html("<img src='images/star2.jpg' />");
});
});
//實現點擊的圖片以後的星星都變色 $(function() { $("#rating td").html("<img src='images/star1.jpg' />").mouseover( function() { //$("#rating td").html("<img src='images/star2.jpg' />"); //$(this).nextAll().html("<img src='images/star.jpg' />"); });
});
$(function() { $("#rating td").html("<img src='images/star1.jpg' />").mouseover( function() { $(this).siblings().html("<img src='images/star2.jpg' />");
//這裏存在的問題就是最後一個不行 $(this).nextAll().html("<img src='images/star1.jpg' />"); }); }); |
$(function() { //第一行爲大字體 $("#table1 tr:first").css("font-size", "30px"); //正文前三行大字體(gretter_than, less_than);lt(5)是從gt(0)中取出的新序列的編號 $("#table1 tr:gt(0):lt(5)").css("font-size", "18px"); //最後一行, 紅色字體 $("#table1 tr:last").css("color", "red");
//奇數行變紅(大於0的奇數行)【表頭不算】, gt(0)用於去掉表頭 $("#table1 tr:gt(0):even").css("color", "blue"); //偶數行變黃[中間的內容部分] $("#table1 tr:gt(0):lt(5):odd").css("color", "yellow"); }); //若是用Dom實現呢?? $(function() { //var aa = document.getElementById("table1"); var bb = document.getElementsByTagName("td"); //alert(aa.length + " " + bb.length); for (var i = 0; i < bb.length; i++) { //alert(bb[i].innerText); //bb[i]至關因而全部的td對象 if (bb[i].innerText == "80") { //bb[i].style.size = "10px"; bb[i].innerText = "DOM測試中………………"; bb[i].onclick = function() { alert("我也註冊監聽了"); }; bb[i].onmouseover = function() { alert("鼠標註冊監聽事件成功!!!"); }; } } });
$(function() { //div1的事件 $("#div1").click(function() { //相對於當前元素 $("ul", $(this).css("background", "red")); }); $("#div2").click(function() { //相對於當前元素,第二個參數傳入了一個JQuery對象, 表示相對於這個對象爲基準進行相對的選擇 $("ul", $(this).css("background", "yellow")); });
//修改點擊行td的背景色 $("#table1 tr").click(function() { //設置我選擇行的全部td的背景色 $("td", $(this).css("background", "green"));
}); });
//#表示按照id進行選擇, 若是什麼都不寫, 就按照tagName進行選擇 <h1>基本過濾選擇器</h1> <table id="table1" style="border:1px solid red; border-collapse: collapse;"> <tr> <td>姓名</td> <td>成績</td> </tr> <tr> <td>zhansan</td> <td>98</td> </tr> <tr> <td>lisi</td> <td>95</td> </tr> <tr> <td>wangwu</td> <td>87</td> </tr> <tr> <td>zhaosi</td> <td>79</td> </tr> <tr> <td>zhouzhu</td> <td>60</td> </tr> <tr> <td>平均分</td> <td>80</td> </tr> </table>
<h2>相對定位</h2> <div style="border: 1px solid red"> <div id="div1"> <ul> <li>abcdefgh123456</li> <li>abcdefgh123456</li> <li>abcdefgh123456</li> <li>abcdefgh123456</li> <li>abcdefgh123456</li> </ul> </div> </div> <div style="border: 1px solid blue"> <div id="div2"> <ul> <li>abcdefgh123456</li> <li>abcdefgh123456</li> <li>abcdefgh123456</li> <li>abcdefgh123456</li> <li>abcdefgh123456</li> </ul> </div> </div>
//#表示按照id進行選擇, 若是什麼都不寫, 就按照tagName進行選擇 $(function() {
/* $("input[value='show']").click(function() { //alert($("input:cheked").val()); //error $("input:checked").css("background-color", "red"); }); */ //alert("ok"); $("input[value=show]").click(function() { //alert("ok"); //注意input:checked之間不能有空格 $("input:checked").css("background", "red"); alert($("input:checked").val()); }); }); |
//Each的使用 $(function() { $("input[name=names]").click(function() { var arr = new Array(); //對選中的元素進行each遍歷, 這裏的value就是選中的文本框對象 $("input[name=names]:checked").each(function(key, value) { arr[key] = $(value).val(); //alert(key+" "+value); //注意key是從0開始的 }); //把數組元素取出來, 並用逗號隔開 $("#name").text("您共選擇了"+arr.length+"項:"+arr.join(",")); }); });
<input type="checkbox" value="北京" name="names" />北京 <br /> <input type="checkbox" value="北京" name="names" />北京 <br /> <input type="checkbox" value="北京" name="names" />北京 <p id="name"></p>
|
//取出全部能夠提交到服務器的表單 $(function(){ //獲取全部的單行文本框 var aa = $(":text"); //獲取全部的inout, textarea,select, button var bb = $(":input"); var cc = $(":password"); alert(cc.length);
$("input[type=text]").click(function(){
alert("text listening………………"); }); $(":input").click(function(){ alert("input listening………………"); }); }); |
$(function() { $("a:first").attr("href", "http://www.baidu.com"); $("a:eq(1)").attr("href", "http://www.baidu.com"); $("a:eq(5)").attr("href", "http://www.baidu.com"); });
<a href="">圖片1</a> <a href="">圖片2</a> <a href="">圖片3</a> <a href="">圖片4</a> <a href="">圖片5</a> <a href="">圖片6</a>
$(function() { $("a:first").attr("href", "http://www.baidu.com"); $("a:eq(1)").attr("href", "http://www.baidu.com"); $("a:eq(5)").attr("href", "http://www.baidu.com"); });
//動態建立dom節點 $(function() { //建立 var link = $("<a href='http://www.baidu.com'>Baidu</a>"); //添加到div(動態加載網站列表 , 動態分頁) //$("div:last").append(link); var img = $("<br/><img src='images/star2.jpg'/>"); //$("div:last").append(img); //$()建立的就是JQuery對象 var input = $("<input type=text value='create node'/>"); //$("div:last").append(input); });
//動態建立表格 $(function() { var data = { "baidu" : "http://www.baidu.com", "Sina" : "http://www.sina.com" };
//動態加載數據並建立【動態加載網站列表, 動態無刷訊頁面】 $.each(data, function(key, value) { var tr = $("<tr><td>" + key + "</td><td><a href="+value+">" + key + "</a></td></tr>"); ; $("#table").append(tr); //$("#table").prepend(tr); }); });
<h1>JQuery的Dom操做</h1> <a href="">圖片1</a> <a href="">圖片2</a> <a href="">圖片3</a> <a href="">圖片4</a> <a href="">圖片5</a> <a href="">圖片6</a>
<h2>動態建立Dom節點</h2> <div style="border: 1px solid red; height: 200px;"></div> <table id="table"></table> <ul> <li>aaaaa</li> <li class="testitem">aaaaa</li> <li>aaaaa</li> <li>aaaaa</li> <li class="testitem">aaaaa</li> </ul> <ul id="test2"> <li>bbbb</li> </ul>
<input type="button" value="removeUL" id="remove" />
//實現點擊按鈕刪除指定UL $(function() {
$("#remove").click(function() { //alert("ok"); //書暗中ul中有testitem樣式的元素 var list = $("ul li.testitem").remove(); //能夠把移除的元素添加到新的節點上面,接在第二個IDtest2上面 $("#test2").append(list); }); });
//權限管理界面 $(function() { $("#add").click(function() { var items = $("select option:selected").remove(); $("#select2").append(items); }); });
<h2>權限管理界面</h2> <div style="float: left; border: 1px solid red; width: 250px;"> <select multiple="multiple" style="float:left;"> <option>添加</option> <option>修改</option> <option>查詢</option> <option>刪除</option> <option>打印</option> </select> <div style="float: left; width: 50px;"> <input type="button" value=">" id="add" /> <br> <input type="button" value=">" /> <br> </div> <div style="float: left;width: 50px;"> <select style="float:left;" multiple="multiple" id="select2"></select> </div> </div> |
//計算器 $(function() {
$("#eq").click(function() { //注意這裏面不要使用$("#text1").value, 不要使用dom的方法在JQuery中去使用 //使用JQuery的【方法】去獲取他的數值 //注意val是方法, 不是屬性;$("#text1")是一個JQuery對象 //【總結:】使用的時候注意看清楚對象是一個Dom對象仍是一個JQuery對象便可! var num1 = $("#text1").val(); num1 = parseInt(num1); var num2 = $("#text2").val(); num2 = parseInt(num2); //錯誤說法 :JQuery如何將字符串轉換成int??? //好笑說法:JQuery要幹掉JavaScript??? //var result = $("#text1").val() + $("#text2").val(); error(默認會當作是字符串進行加減) var result = num1 + num2; $("#text3").val(result); //document.getElementById("text3").value = result; [JQuery與Dom混着用麼偶問題, 可是儘可能不要這麼作!!!] }); });
<h2>計算器</h2> <input type="text" id="text1" />+ <input type="text" id="text2" /> <input type="button" value="=" id="eq"> <input type="text" id="text3"> <br> <input type="button" value="開始計算">
//不用問在JQuery中如何使用JavaScript中的**** //用戶註冊 var leftSecond = 10; var intervalId ; $(function(){ //可使用attr來設置JQuery沒有封裝的屬性 //使得一個按鈕變爲不可使用的狀態 $("#btnReg").attr("disabled", "true"); intervalId = setInterval(countDown, 1000); });
//給function抱一個 $()的意思是讓他在把全部的dom元素加載完成的時候在執行 //這是一個普通的函數
function countDown(){ if (leftSecond <= 0){ $("#btnReg").val("贊成"); $("#btnReg").attr("disabled", false); //時間爲0的時候就清空定時器 clearInterval(intervalId); //退出循環 return ; } else{ //alert(leftSecond); leftSecond --; $("#btnReg").val("請仔細閱讀"+leftSecond+"秒"); } }
<h2>用戶註冊</h2> <textarea rows="20" cols="30"></textarea> <input type="button" id="btnReg" value="贊成" />
//發佈帖子案例[無刷新評論] $(function(){ $("#btnPost").click(function(){ var title = $("#title").val(); var body = $("#textbody").val(); var tr = $("<tr><td>"+title+"</td><td>"+body+"</td></tr>"); $("#tbContent").append(tr); $("#title").val(""); $("#textbody").val(""); }); });
<h2>無刷新評論</h2> <p>這是個人第一個帖子,哈哈!</p> <table id="tbContent"> <tr> <td>匿名</td> <td>沙發</td> </tr> </table> <input type="text" id="title" /> <br /> <textarea id="textbody" rows="30" cols="30"></textarea> <br /> <input type="button" value="發表評論" id="btnPost" />
//文本框案例【若是文本框的內容爲空就顯示爲紅色, 有內容就顯示爲白色】$(function() { //獲取全部的文本框[會觸發鼠標焦點離開時的事件] $(":text").blur(function() { //這個this指的是發生事件的文本框 if ($(this).val().length <= 0) { $(this).css("background", "red"); } else { $(this).css("background", "white"); }
}); });
//籃球案例[鼠標移動上去就變色] $(function() { //鏈式編程 $("#ul1 li").css("cursor", "pointer").mouseover( function() { $(this).css("background", "red").siblings().css( "background", "white"); }).click(function() { //先去掉點擊的空間樣式, 而後在附加上去 $(this).css("background", "white").appendTo("#ul2"); }); });
|
//標籤替換案例 $(function(){ $("#labeltest").click(function(){ //把br標籤替換爲hr標籤【能夠實現批量添加操做】 $("br").replaceWith("<hr/>"); }); });
//標籤替換案例 $(function(){ $("#labeltest").click(function(){ //把br標籤替換爲hr標籤【能夠實現批量添加操做】 $("br").replaceWith("<hr/>"); //把標籤用另一個便籤包裹[讓全部的p便籤都讓 font標籤包裹起來] $("p").wrap("<font color='red' size='10px'></font>"); }); });
<h1 style="float: left; width: 1300px">節點操做</h1> <div style="border: 1px solid red; float: left;"> <p>haha</p><br /><p>017</p><br />7<br />22 <br/> <input type="button" value="標籤替換測試" id="labeltest"/> </div>
|
/* //給頁面中的全部便籤使用該樣式 input{ font-size: 20px; } body{ filter:gray; } */ .testitem { background: red; color: yellow; }
.class1 { border: 5px solid red; float: left; background: red; width: 20px; height: 50px; }
.class2 { font-size: 20px; border: 5px solid red; float: left; background: yellow; width: 20px; height: 50px; }
.day { background: white; filter: gray; }
.night { background: black; }
//標籤替換案例 $(function() { $("#labeltest").click(function() { //把br標籤替換爲hr標籤【能夠實現批量添加操做】 $("br").replaceWith("<hr/>"); //把標籤用另一個便籤包裹[讓全部的p便籤都讓 font標籤包裹起來] $("p").wrap("<font color='red' size='10px'></font>"); }); });
//動態增長樣式【網頁開關燈效果】---》》並不會影響其餘樣式 $(function() { $("#styleAdd").click(function() { //對div5添加class樣式 $("#div5").addClass("class1"); //修改樣式 //$("#div5").addClass("class2");
}); $("#styleReplace").click(function() { //移除樣式[有樣式就刪除, 沒有該樣式就添加] $("#div5").toggleClass("class1"); }); $("#styleRemove").click(function() { //移除樣式 $("#div5").removeClass("class1"); }); });
//開關燈效果 $(function() {
$("#kgd").click(function() { //網頁默認爲白色, 有就建立黑色, 不然就刪除 $(document.body).toggleClass("night"); if ($(document.body).hasClass("day")) { $(document.body).removeClass("day"); alert("刪除白天class成功!"); } else { alert("未發現白天的類!"); } }); });
$(function() { $("#qiehuan").click(function() { $(document.body).toggleClass("day"); }); });
//點擊表格行, 被點擊的高亮顯示 $(function() { $("table tr").click( function() { $(this).addClass("tablecolor").siblings().css("cursor", "pointer").removeClass("tablecolor"); }); });
//聚焦的控件高亮的顯示 $(function() { //取得body下面的全部控件 $("body *").click( function() { $(this).addClass("tablecolor").siblings().css("cursor", "pointer").removeClass("tablecolor"); }); });
【軟件補充】IECollection該軟件能夠實現幾乎全部版本的不一樣IE瀏覽器版本
//搜索框案例 $(function() { $("#keyword").val("請輸入關鍵詞").addClass("waiting").blur(function() { //焦點離開的時候 if ($(this).val() == "") { $("#keyword").val("請輸入關鍵詞").addClass("waiting"); } }).focus(function() { //聚焦的時候 if ($("#keyword").val() == "請輸入關鍵詞") { $("#keyword").val("").removeClass("waiting"); } }); });
|
$("#setvalue").click(function() { //alert("haha"); //設置默認選中的Radio, 注意val中的[]也不能少 $(":radio[name=sex]").val([ "male" ]); //alert($(":radio[name=sex]:checked").val()); alert("ok");
//對checkbox的選中 $(":checkbox").val([ "北京", "上海" ]); //選中特定的一個項[單獨設定廣州] $(":checkbox[value=廣州]").attr("checked", "true"); }); });
//全選, 不選, 反選 $(function() { //alert("ok"); //有:回去找他的標籤, 沒有:是去找他本身的子標籤 $("#selAll").click(function() { alert("ok"); $(":checkbox").attr("checked", true); }); $("#unselAll").click(function() { $(":checkbox").attr("checked", false); }); $("#reverAll").click(function() { $(":checkbox").each(function() { //對他的每一個狀態取反 $(this).attr("checked", !($(this).attr("checked")));
}); }); });
|
//JQuery事件 $(function() { /* $("#action").mouseover(function() { $(this).text("客官來了"); }); $("#action").mouseleave(function() { $(this).text("大爺慢走"); }); */ //事件的合成 $("#action").hover(function() { $(this).text("大爺來了!");
}, function() { $(this).text("大爺慢走哈!"); }); });
//事件冒泡 $(function() { $("#p").click(function() { alert("p"); }); $("#tr").click(function() { alert("tr"); });
//阻止事件冒泡, e表示的就是這個window.event對象 $("#td").click(function(e) { alert("td"); //組織事件繼續往上冒泡 e.stopPropagation(); }); });
//JQuery事件2 $(function() { $("a").click(function(e) { alert("link have stopped!"); //會取消超連接的跳轉 e.preventDefault(); }); }); //空數據禁止提交 $(function() { $(":submit").click(function(e) { var len = $("#submitText").val().length; if (len <= 0) { alert("用戶名不能爲空!!!"); //會阻止表單的提交 e.preventDefault(); } }); });
//JQuery其餘事件 $(function(){ $("#p").click(function(e){ alert(e.pageX+" "+e.pageY); alert($(e.html())); alert($(e.target()).html()); }); //target指的就是冒泡的事件源 //this指的是當前觸發該事件 的那個對象 $("#tr").click(function(e){ alert($(e.html())); alert($(e.target()).html()); }); //注意keycode和charcode, 小鍵盤的keyCode和主鍵盤的keyCode不同; charCode(二者的ASCII碼是同樣的) }); //一次性事件 $(function(){ $("#btnonce").one("click", function(){ alert("我是一個一次性事件"); }); }); //事件的綁定 $("#btnonce").bind("click", function(){ alert("hahahhaha"); }); |
//JQuery鼠標(跟着鼠標飛的圖片) $(function(){ //注意body知識元素的顯示範圍, document是整個文檔 //$("body").mousemove(function(e){ $(document).mousemove(function(e){ //要讓圖片移動, 首先必需要把圖片設置爲絕對定位 $("#img2").css("left", e.pageX).css("top", e.pageY); }); });
<img src="images/star2.jpg" id="img2" style="position: absolute;"/>
<script type="text/javascript"> var data = { "images/0011.jpg" : [ "images/001.jpg", "風景1", "風景很美" ], "images/0022.jpg" : [ "images/002.jpg", "風景2", "風景很美" ], "images/0033.jpg" : [ "images/003.jpg", "風景3", "風景很美" ] }; //圖片解析 $(function() { $.each(data, function(key, value) { //alert(key + " ;" + value); //先取出小圖片的路徑 var smallImage = $("<img src="+key+" />"); smallImage.attr("imgpath", value[0]); smallImage.attr("imgname", value[1]); smallImage.attr("imgintro", value[2]);
//對每個小圖片設置鼠標監聽事件 smallImage.mouseover(function(e) { //設置大圖的詳細信息 $("#detailImg").attr("src", $(this).attr("imgpath")); $("#detailHeight").text($(this).attr("imgname")); $("#detailNmae").text($(this).attr("imgintro")); //設置樣式 $("#details").css("top", e.pageY).css("left", e.pageX).css( "display", ""); }); $("body").append(smallImage);
});
$("#hideDetail").click(function(){ $("#details").css("display", "none"); }); }); </script>
</head>
<body> <h1>圖片解析圖</h1>
<div style="display: none; positon: absolute;" id="details"> <img id="detailImg" src="" /> <p id="detailHeight"></p> <p id="detailNmae"></p> <p> <input type="button" value="關閉" onclick="hideDetails()" id="hideDetail"/> </p> </div>
</body> </html>
【正宗代碼】 <style type="text/css"> body{ pading:0; margin:0; height:1000px; } #box { position: absolute; top: 50px; left: 130px; display: none; }
li { width: 250px; height: 130px; margin: 20px; border: 1px solid gray; } </style> <script type="text/javascript" src="js/jquery-1.8.3.js" charset="utf-8"></script> <script type="text/javascript" src="js/jquery.cookie.js" charset="utf-8"></script>
<script type="text/javascript"> $(function() { $("ul li").each(function() { //alert("ok"); //對每個li標籤設置監聽事件 $(this).mouseover(function(e) { //alert($(this).children('a').attr("href")); var pic = $(this).children('a').attr("href"); //alert(pic); var box = "<div id='box'><img src='"+pic+"' /></div>"; $("#box").css("top", e.pageY + 10).css("left", e.pagex + 10); //添加元素到body $("body").append(box); //顯示控件 $("#box").show("slow"); }).mousemove(function(e) { $("#box").css("top", e.pageY + 10).css("left", e.pageX + 10); }).mouseout(function() { $("#box").remove(); }); }); }); $(document).mousemove(function() {
}); </script> </head>
<body> <div id="box" style=""> <img src="images/001.jpg" /> </div> <ul> <li><a href="images/001.jpg"><img src="images/0011.jpg" /></a></li> <li><a href="images/002.jpg"><img src="images/0022.jpg" /></a></li> <li><a href="images/003.jpg"><img src="images/0033.jpg" /></a></li> <li><a href="images/004.jpg"><img src="images/0044.jpg" /></a></li> </ul> </body> </html> |
//製做QQ滾動版界面 $(function() { //給偶數行添加body這種樣式 $("#qq li:odd").addClass("body"); //奇數行添加header這種樣式 $("#qq li:even").addClass("header").click( function() { //$(this).next("li.body").show("slow").siblings("li.body").hide("slow"); $(this).next("li.body").show("slow").siblings("li.body") .hide("slow"); }); //剛進來時候的效果【在這裏能夠模擬點擊元素】 $("#qq li:first").click(); });
【易錯點】
//動態建立元素易錯點 $(function(){ var link = $("<a href='http://www.baidu.com' id='link1'>百度</a>"); //只有append以後纔會放入該超連接到界面上面 $("body").append(link); //$("#link1").text("Google")必須放在append(建立到界面上之後, 我才能夠去操做這個) $("#link1").text("Google"); });
【方案二】 <style type="text/css"> .ul { display: none; }
li { list-style: none; font-size: 20px; }
.list .sub { display: none; }
#nav { background: #69F; width: 200px; height: 350px; }
/* 思路: 主要是看有沒有list這個class類, 若是有, 就顯示; 沒有就關閉 */ #nav .list span.open { display: block; background: url(images/open.jpg) no-repeat; }
#nav span { display: block; background: url(images/close.jpg) no-repeat; } </style> <script type="text/javascript" src="js/jquery-1.8.3.js" charset="utf-8"></script> <script type="text/javascript" src="js/jquery.cookie.js" charset="utf-8"></script>
<script type="text/javascript"> $(function() { $("#nav li:has('ul')").click(function() { //alert($(this).html()); //$(this).css("cursor", "pointer").toggleClass("list"); //根據一級菜單是否含有list這個類, 來控制顯示和隱藏 //alert($(this).hasClass("list")); if ($(this).hasClass("list")) { //刪除本身的類 $(this).removeClass("list"); //給同級的增長class $(this).siblings().addClass("list"); } else { $(this).addClass("list"); } }); }); </script> </head>
<body> <ul id="nav"> <li class="list"><span class="open">國內事件</span> <ul class="sub"> <li>11111</li> <li>11111</li> <li>11111</li> </ul></li> <li class="list"><span class="open">國外事件</span> <ul class="sub"> <li>11111</li> <li>11111</li> <li>11111</li> </ul></li> <li class="list"><span class="open">其餘事件</span> <ul class="sub"> <li>11111</li> <li>11111</li> <li>11111</li> </ul></li> </ul> </body> </html> |
Cookie是存儲在瀏覽器中的數據
//JQuery cookie的使用 //實現點擊登陸按鈕後利用cookie記住用戶名的功能 $(function() { //alert("Cookie: "+$.cookie("用戶名")); //寫入數據到cooke //$.cookie("用戶名", "WWW.XXX.COM"); if ($.cookie("username")) { $("#username").val($.cookie("username")); alert("cookie read from file succeed!!!"); } $("#button1").click(function() { if ($.cookie("username")==null) { $.cookie("username", $("#username").val()); //同時也能夠設定網站cookie的保存時間 alert("cookie write to file succeed!!!"); }
}); });
//自定義網站的背景色 $(function() { //先從cookie中取出 var color = $.cookie("color"); //alert(color); $("#red").click(function() {
$("body").css("background", "red"); //開始寫入cookie $.cookie("color", "red");
}); $("#green").click(function() {
$("body").css("background", "green"); //開始寫入cookie $.cookie("color", "green");
}); $("#yellow").click(function() {
$("body").css("background", "yellow"); //開始寫入cookie $.cookie("color", "yellow");
}); $("body").css("background", color); });
//方案二 $(function(){ $("#bgcolor td").click(function(){ //alert($(this).css("background-color")); //這裏不須要在mouseover的時候再去設置背景色 $("body").css("background", $(this).css("background-color")).css("cursor", "pointer"); }); });
//代碼優化後 $(function() { $("#bgcolor td").click( function() { //alert($(this).css("background-color")); $("body") .css("background", $(this).css("background-color")) .css("cursor", "pointer"); $.cookie("color", $(this).css("background-color")); }); //下次進來的時候直接去cookie裏面取出數據 var color = $.cookie("color"); if (color) { //設定cookie的保存時間 $("body").css("background", color, { expires : 10 }); } }); |
|