jQuery實(shí)現(xiàn)HTML元素隱藏和顯示
讓我們來模仿一下淘寶網(wǎng)當(dāng)你搜索某個(gè)商品的時(shí)候,那種顯示全部品牌和顯示部分品牌的功能。
首先我們來理清一下思路:
1、一開始需要先隱藏需要隱藏的元素
2、你需要通過jquery獲取需要在開始顯示的時(shí)候需要隱藏的元素對(duì)象
3、在頁面寫一個(gè)可以觸發(fā)點(diǎn)擊事件的按鈕或者鏈接,使用jquery為這個(gè)按鈕或者鏈接添加點(diǎn)擊事件
4、當(dāng)按鈕被點(diǎn)擊的時(shí)候,獲取需要隱藏的對(duì)象當(dāng)前是否隱藏值
5、如果是隱藏的,則使其顯示,若不是隱藏的,則讓它隱藏。
下面我們來看代碼:
<html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> <style type="text/css"> <!-- 這里是css,這個(gè)可以根據(jù)你的喜好來調(diào)整,這不是重點(diǎn)樣式 --> *{ 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 { clear:both; text-align:center;padding-top:10px;} .showmore 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;} .promoted a { color:#F50;} </style> <script type="text/javascript" src="scripts/jquery-1.7.2.js"></script><!-- 導(dǎo)入jquery的文件 --> <script type="text/javascript"> $(function(){ $("li:gt(5)").hide();//開始先隱藏第五個(gè)li標(biāo)簽以后的所有l(wèi)i標(biāo)簽 $("a").click(function(){//為點(diǎn)擊的連接添加點(diǎn)擊事件處理函數(shù) var $flag = $("li:gt(5):lt(6)").is(":hidden");//獲取需要隱藏的元素當(dāng)前是否隱藏的值 if($flag){//如果當(dāng)前是隱藏的則執(zhí)行if下面的代碼 $("li:gt(5):lt(6)").show();//使隱藏的元素顯示出來 $(".showmore a span").css("background","url(img/up.gif) no-repeat 0 0")//是a標(biāo)簽的圖片變成向上 $(".showmore a span").text("顯示部分語言");//改變a標(biāo)簽里面的文本,這樣才符合語境 }else{//如果是顯示的 則執(zhí)行下面的代碼 $(".showmore a span").text("顯示全部語言");//使a標(biāo)簽的內(nèi)容變成顯示全部的內(nèi)容 $(".showmore a span").css("background","url(img/down.gif) no-repeat 0 0");//使a標(biāo)簽的圖片變成向上 $("li:gt(5):lt(6)").hide();//然后隱藏需要隱藏的內(nèi)容 } return false;//最后返回false ,為什么返回false ,因?yàn)檫@樣會(huì)阻止鏈接的跳轉(zhuǎn) //或者表單按鈕的提交,否則就會(huì)跳轉(zhuǎn)到別的頁面了! }) }); </script> </head> <body> <div class="SubCategoryBox"> <ul> <li ><a href="#" >C</a></li> <li ><a href="#" >C++</a></li> <li ><a href="#" >C#</a></li> <li ><a href="#" >JAVA</a></li> <li ><a href="#" >JAVASCRIPT</a></li> <li ><a href="#" >Python</a></li> <li ><a href="#" >PHP</a></li> <li ><a href="#" >GO</a></li> <li ><a href="#" >SWIFT</a></li> <li ><a href="#" >RUBY</a></li> <li ><a href="#" >HTML</a></li> <li ><a href="#" >匯編</a></li> <li ><a href="#" >PERL</a></li> <li ><a href="#" >其它編程語言</a></li> </ul> <div class="showmore"> <a href="more.html" ><span>顯示全部語言</span></a><!-- 這里就是這個(gè)鏈接,但是點(diǎn)擊不會(huì)跳轉(zhuǎn)。因?yàn)樯厦娣祷氐氖莊alse --> </div> </div> </body> </html>
一開始打開是這樣
點(diǎn)擊鏈接之后 觸犯事件函數(shù),那個(gè)小三角形是一個(gè)圖片,根據(jù)狀態(tài)的不同,顯示不同的圖片,上面的代碼有寫
if里面
$(".showmore a span").css("background","url(img/up.gif) no-repeat 0 0")
else里面
$(".showmore a span").css("background","url(img/down.gif) no-repeat 0 0")
當(dāng)然鏈接的文字也發(fā)生了改變,這都是需要注意的細(xì)節(jié)
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
騰訊與新浪的通過IP地址獲取當(dāng)前地理位置(省份)的接口
通過IP地址獲取當(dāng)前地理位置(省份)的接口,方便大家可以直接使用結(jié)合自己的系統(tǒng)。2010-07-07jquery showModelDialog的使用方法示例詳解
這篇文章主要介紹了window.showModalDialog的使用方法,大家要以參考使用2013-11-11jquery+ashx無刷新GridView數(shù)據(jù)顯示插件(實(shí)現(xiàn)分頁、排序、過濾功能)
最近做一個(gè)AJAX的GridView來顯示數(shù)據(jù),當(dāng)然按照現(xiàn)在流行的首選是Jquery。2010-04-04jQuery 入門級(jí)學(xué)習(xí)筆記及源碼
本周公司技術(shù)講座輪到我了,準(zhǔn)備說說現(xiàn)在流行的jQuery,下面是概要提綱,關(guān)鍵是看custom.js,已上傳源碼,程序中“//##”是分段用的,大家可以根據(jù)每一段取消注釋,然后找到相應(yīng)的id或class名查看效果。2010-01-01