最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JS組件Bootstrap dropdown組件擴展hover事件

 更新時間:2016年04月17日 09:20:19   作者:請把姓名返給我  
bootstrap的下拉組件,需要點擊click時,方可展示下拉列表。因此對于喜歡簡單少操作的大家來說,點擊一下多少帶來不便,因此,引入hover監(jiān)聽,鼠標經(jīng)過自動展示下拉框。這篇文章主要介紹了JS組件Bootstrap dropdown組件擴展hover事件,感興趣的小伙伴們可以參考一下

bootstrap導航條當中dropdown組件用得特別頻繁,本文就為大家介紹bootstrap中的dropdown組件擴展hover事件,具體內(nèi)容如下

如何實現(xiàn)這個hover事件呢,其實在dropdown組件的點擊事件的基礎(chǔ)上很好完成的。細心者可以發(fā)現(xiàn),下拉框出現(xiàn)時,其父級會有一個open的class屬性。我們只需要監(jiān)聽hover事件時,給父級增加或刪除open類就可以了。

boostrap-hover-dropdown.js插件,托管在github上的代碼網(wǎng)址:查看

下面是完整的js插件代碼:

// bootstrap響應式導航條<br>;(function($, window, undefined) {
 // outside the scope of the jQuery plugin to
 // keep track of all dropdowns
 var $allDropdowns = $();
 
 // if instantlyCloseOthers is true, then it will instantly
 // shut other nav items when a new one is hovered over
 $.fn.dropdownHover = function(options) {
 
  // the element we really care about
  // is the dropdown-toggle's parent
  $allDropdowns = $allDropdowns.add(this.parent());
 
  return this.each(function() {
   var $this = $(this).parent(),
    defaults = {
     delay: 500,
     instantlyCloseOthers: true
    },
    data = {
     delay: $(this).data('delay'),
     instantlyCloseOthers: $(this).data('close-others')
    },
    options = $.extend(true, {}, defaults, options, data),
    timeout;
 
   $this.hover(function() {
    if(options.instantlyCloseOthers === true)
     $allDropdowns.removeClass('open');
 
    window.clearTimeout(timeout);
    $(this).addClass('open');
   }, function() {
    timeout = window.setTimeout(function() {
     $this.removeClass('open');
    }, options.delay);
   });
  });
 };
 
 $('[data-hover="dropdown"]').dropdownHover();
})(jQuery, this);

可以看到作者在插件前面加了個分號;,增加了插件的兼容性,因為可能上一個js代碼沒寫;,如果在此不加分號則可能因為沒換行導致js出錯。

可選參數(shù)
delay: (可選參數(shù)) 在毫秒的延遲。這是等待的時間之前關(guān)閉下拉當鼠標不再在下拉菜單或按鈕/導航項目,激活它。默認值 500。
instantlyCloseOthers: (可選參數(shù)) 一個布爾值,如果為真,將立即關(guān)閉所有其他下拉菜單的使用當您啟動一個新的選擇器匹配導航。默認值 true。

加上以上js代碼后,此時效果還實現(xiàn)不了,因為我們還需要再做一步,就是給元素加上data-*屬性:

data-hover="dropdown"
完整的HTML元素代碼:

復制代碼 代碼如下:
<a href="javascript:;" class="dropdown-toggle" data-toggle="dropdown" data-hover="dropdown"></a>

可以通過數(shù)據(jù)屬性設(shè)置選項,也可以通過data-delay和data-close-others來設(shè)置選項

復制代碼 代碼如下:
<a href="#" class="dropdown-toggle" data-toggle="dropdown" data-hover="dropdown" data-delay="1000" data-close-others="false"></a>

當然,還有最簡單的方法,那就是用css的hover控制

[/code].nav> li:hover .dropdown-menu {display: block;}[/code]
這樣一句代碼也能實現(xiàn)想要的hover效果,只不過如果在hover的時候點擊組件,再去hover另一個組件就會出現(xiàn)如下效果:

如果大家還想深入學習,可以點擊這里進行學習,再為大家附兩個精彩的專題:Bootstrap學習教程 Bootstrap實戰(zhàn)教程

以上就是為大家分享的Bootstrap dropdown組件擴展hover事件使用方法,希望對大家熟練掌握hover事件有所幫助。

相關(guān)文章

最新評論

靖安县| 西乌| 乡宁县| 郸城县| 宁远县| 法库县| 云霄县| 开远市| 西安市| 离岛区| 绥芬河市| 土默特左旗| 贵港市| 临沭县| 淅川县| 油尖旺区| 清流县| 西乌珠穆沁旗| 迁西县| 阿克| 九台市| 乐昌市| 南涧| 尉氏县| 哈密市| 鹿泉市| 台安县| 思茅市| 达州市| 营山县| 政和县| 金塔县| 镇巴县| 乐至县| 磐安县| 英德市| 锦屏县| 长葛市| 吉林省| 绍兴县| 嘉峪关市|