Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 精品国产免费一区二区,亚洲精品白色在线发布,日本在线观看

          整合營(yíng)銷(xiāo)服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢熱線:

          jquery操作div的顯示于隱藏

          html頁(yè)面,顯示的內(nèi)容太多,會(huì)影響用戶體驗(yàn),如果有一些,點(diǎn)擊才出現(xiàn)的內(nèi)容,就可以減少內(nèi)容的干擾。使用jquery就可以很快的實(shí)現(xiàn)。


          例子

          <!DOCTYPE html>
          <html lang="en">
          <head>
           <meta charset="UTF-8">
           <meta name="viewport" content="width=device-width, initial-scale=1.0">
           <meta http-equiv="X-UA-Compatible" content="ie=edge">
           <title>div隱藏測(cè)試</title>
           <script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.8.0.js">
           </script>
          </head>
          <body>
           <button id="controller">隱藏或者顯示</button>
           <div id="contents" style="display: none;">
           <p>div的內(nèi)容</p>
           </div>
           <script>
           $("#controller").click(function () {
           if ($("#contents").is(":hidden")) {
           $("#contents").show()
           } else {
           $("#contents").hide()
           }
           })
           </script>
          </body>
          </html>
          


          jqyery操作

          $("#contents").is(":hidden") 可以判斷是否是隱藏

          $("#contents").show() 表示display:block,

          $("#contents").hide() 表示display:none;

          操作元素的屬性

          $("#contents").attr("style","display:none;"); //隱藏div

          $("#contents").attr("style","display:block;"); //顯示div

          也可以操作css屬性

          $("#contents").css("display","none"); //隱藏div

          $("#contents").css("display","block"); //顯示div

          也可以直接使用toggle轉(zhuǎn)換開(kāi)關(guān)實(shí)現(xiàn)

          $("#contents").toggle()

          個(gè)視頻來(lái)說(shuō)一個(gè)有時(shí)候前端面試會(huì)問(wèn)到的CSS的面試題,就是讓元素隱藏的這幾種方式,它們具體的用法和區(qū)別。具體去用我相信大家都用過(guò),但是要把這個(gè)題回答的很好,把它們之間的區(qū)別捋清,不妨來(lái)說(shuō)一下。

          這里寫(xiě)了兩個(gè)div,一個(gè)紅色、一個(gè)藍(lán)色,現(xiàn)在把紅色這個(gè)給它隱藏掉,上面寫(xiě)的3種方法都可以把它隱藏掉。區(qū)別在哪里?

          ·先來(lái)試一下opacity,紅色的div確實(shí)不見(jiàn)了。

          ·再來(lái)試一下第二種visibility,刷新一下,紅色的div也是看不見(jiàn)了,好像和第一種方法沒(méi)什么區(qū)別。

          ·最后來(lái)試一下display,這種方法,紅色的div不單止不見(jiàn)了,連藍(lán)色的div它的位置也發(fā)生改變了。

          先來(lái)說(shuō)一下前面兩種,因?yàn)榍懊鎯煞N方式,它們表現(xiàn)出來(lái)的形式實(shí)在太像了。現(xiàn)在用的是opacity,其實(shí)是改變了元素的透明度,也就是讓它完全透明了,所以才看不到它。但實(shí)際上它還是存在的,還是在這里的,只是看不到而已。所以這個(gè)方式,它是需要對(duì)元素所占的空間的給它排列出來(lái),也就是它還是占的這個(gè)空間的。

          其次不光是把它所占的空間排列出來(lái),瀏覽器還需要對(duì)元素進(jìn)行渲染,只不過(guò)是把它渲染成透明的,它還是存在的,所以是可以對(duì)它進(jìn)行交互操作的,這一點(diǎn)等一下可以通過(guò)js去證明。

          接著就是把visibility設(shè)置成hidden,這一個(gè)的排列方式和剛才設(shè)置透明度的是一樣的,但是它們有什么區(qū)別?這個(gè)看得出來(lái),還是需要對(duì)它所占的空間進(jìn)行排列的,它還是占著那個(gè)位置的,但是它也僅僅是占著那個(gè)空間而已。瀏覽器已經(jīng)不對(duì)元素進(jìn)行渲染了,所以空間給你保留,但是元素不存在,就沒(méi)辦法進(jìn)行交互了。

          最后就是display為none,很明顯藍(lán)色的div它的位置已經(jīng)改變了,它占據(jù)了原本紅色div的位置,也就是紅色div原本的那個(gè)位置空間已經(jīng)沒(méi)有了。其實(shí)這種方式,已經(jīng)不是單純的把元素給隱藏了,已經(jīng)是把元素的核模型給修改了,直接就把這個(gè)元素給干沒(méi)了,所以它是既不排列也不渲染。

          如果是作為一個(gè)面試題來(lái)回答,最好還回答到一點(diǎn),在這三個(gè)里面來(lái)比較,opacity透明度的這種方式它是最消耗性能的,因?yàn)椴粏沃挂獛湍惆盐恢每粘鰜?lái),還要完完全全的把你給渲染出來(lái),只不過(guò)是渲染成透明的,所以它是這三個(gè)里面最消耗性能的。

          visibility它就是沒(méi)那么消耗性能,因?yàn)檫@個(gè)只是給它保留個(gè)位置,保留個(gè)空間就可以了,不用對(duì)它進(jìn)行渲染,所以它就沒(méi)那么消耗性能,display的方式就是完全不消耗性能了。

          最后再來(lái)看一下用opacity這個(gè)元素是不是真的還存在,還可以交互,然后用visibility就已經(jīng)不可以交互了,這里再把它改成opacity,來(lái)寫(xiě)一下js,這里很簡(jiǎn)單,就給它添加一個(gè)點(diǎn)擊事件,因?yàn)檫@個(gè)元素它還存在,肯定就可以點(diǎn)得到它。

          把鼠標(biāo)移到這個(gè)位置,看一下這個(gè)元素還存不存在,還可不可以點(diǎn)擊得到它,點(diǎn)擊一下,發(fā)現(xiàn)沒(méi)有,可以彈出這個(gè)OK,證明這個(gè)元素它還是存在的,只不過(guò)看不到它而已。再把前面給它改一下,改成visibility的方式,再來(lái)點(diǎn)這個(gè)位置,現(xiàn)在無(wú)論我怎么點(diǎn)它都沒(méi)有反應(yīng)了,因?yàn)檫@個(gè)元素它壓根就不存在了,只是空著這個(gè)位置在這里而已。

          這個(gè)視頻就到這里,感謝大家的收看。

          ][1]

          jQuery本身沒(méi)有這樣一個(gè)事件,要實(shí)現(xiàn)這個(gè)效果,我們首先要先了解javascript中的事件冒泡。

          冒泡定義:當(dāng)一個(gè)元素上的事件被觸發(fā)的時(shí)候,比如說(shuō)鼠標(biāo)點(diǎn)擊了一個(gè)按鈕,同樣的事件將會(huì)在那個(gè)元素的所有祖先元素中被觸發(fā)。這一過(guò)程被稱為事件冒泡;這個(gè)事件從原始元素開(kāi)始一直冒泡到DOM樹(shù)的最上層。(摘自網(wǎng)絡(luò))

          <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
           Click

          上述代碼運(yùn)行后,點(diǎn)擊鏈接,以此會(huì)出現(xiàn)link, inner, outer, document,轉(zhuǎn)向百度。

          也就是說(shuō)我們點(diǎn)擊鏈接后 click事件一直冒泡傳遞在最外層body。

          1. 阻止事件冒泡, 并不阻止事件行為:event.stopPropagation();

          $(function() {
          $("#link").click(function(event) {
          event.stopPropagation();
          });});

          上述代碼運(yùn)行后,點(diǎn)擊鏈接,按順序會(huì)出現(xiàn)link, 轉(zhuǎn)向百度。

          2. 阻止事件行為,并阻止事件冒泡 :event.preventDefault();

          $(function() {
          $("#link").click(function(event) {
          event.preventDefault();
          });});

          上述代碼運(yùn)行后,點(diǎn)擊鏈接,按順序會(huì)出現(xiàn)link, inner, outer, document, 但是不轉(zhuǎn)向百度。

          3. 阻止事件冒泡, 也阻止事件行為:return false;

          $(function() {
          $("#link").click(function(event) {
          return false;
          });});

          上述代碼運(yùn)行后,點(diǎn)擊鏈接,只會(huì)出現(xiàn)link。

          因此我們可以看出事件冒泡不一定是個(gè)壞的東西,有些情況會(huì)讓不同層次捕獲不同的事件!

          所以鼠標(biāo)點(diǎn)擊Div區(qū)域外隱藏Div正需要用到事件冒泡。


          主站蜘蛛池模板: 亚洲国产一区在线| 亚洲AV成人精品日韩一区18p| 一区二区三区在线观看中文字幕| 久久久精品一区二区三区| 内射白浆一区二区在线观看| 成人区人妻精品一区二区不卡网站| 美女啪啪一区二区三区| 视频在线观看一区二区三区| 国产在线一区二区三区| 在线一区二区三区| 一区高清大胆人体| 国产亚洲3p无码一区二区| 熟妇人妻AV无码一区二区三区| 国产一区二区三区不卡在线观看| 亚洲一区二区三区精品视频 | 久久久老熟女一区二区三区| 动漫精品第一区二区三区| 精品香蕉一区二区三区| 色偷偷一区二区无码视频| 国产AV午夜精品一区二区三| 国产一区二区精品久久岳√| 亚洲av色香蕉一区二区三区| 日本在线一区二区| 亚洲欧洲∨国产一区二区三区| 精品视频一区二区观看| 内射少妇一区27P| 日韩精品一区二区三区在线观看 | 日韩AV无码一区二区三区不卡| 一区二区精品在线| 亚洲一区中文字幕| 国产精品一区电影| 无码精品人妻一区二区三区AV| 免费在线视频一区| 成人无码AV一区二区| 亚洲一区二区三区夜色| 亚洲一区精彩视频| 一区二区高清在线观看| 国产无套精品一区二区| 亚洲日韩国产一区二区三区在线 | 亚洲国产国产综合一区首页| 无码人妻精品一区二区三区99仓本|