2012-03-22 89 views
13

我終於得到Bootstrap標籤工作。我想知道是否有辦法改變行爲,而不是點擊只是懸停光標會顯示隱藏的內容?如何使用twitter引導標籤懸停而不是點擊?

+1

此外,見:http://stackoverflow.com/questions/8878033/how-to-make-twitter-bootstrap-菜單 - 下拉上懸停,而不是點擊 – 2012-04-24 11:31:34

+0

問題是[這裏回答] [1]使用幾行css! [1]:http://stackoverflow.com/questions/8878033/how-to-make-twitter-bootstrap-menu-dropdown-on-hover-rather-than-click – kolydart 2013-03-23 05:34:06

回答

22

在您的$(document).ready或其他地方......

把這樣的事情:

$('.nav-tabs > li > a').hover(function() { 
    $(this).tab('show'); 
}); 

你不會有修改的核心啓動代碼。

另外,你可以這樣做:

$('.nav-tabs > li ').hover(function() { 
    if ($(this).hasClass('hoverblock')) 
    return; 
    else 
    $(this).find('a').tab('show'); 
}); 

$('.nav-tabs > li').find('a').click(function() { 
    $(this).parent() 
    .siblings().addClass('hoverblock'); 
}); 

,這將阻止第一次用戶單擊選項卡後,懸停選擇。

1

修改bootstrap.js(或boostrap-tab.js如果您不使用完整bootstrap.js文件)

如果您看到:

/* TAB DATA-API 
    * ============ */ 

    $(function() { 
    $('body').on('click.tab.data-api', '[data-toggle="tab"], [data-toggle="pill"]', function (e) { 
     e.preventDefault() 
     $(this).tab('show') 
    }) 
    }) 

變化'click.tab.data-api''hover.tab.data-api'

注:我用這個測試Bootstrap v2.0.2

1

的JavaScript:

在$(文件)。就緒或其他地方...
把這樣的事情:

$('.nav-tabs[data-toggle="tab-hover"] > li > a').hover(function(){ 
    $(this).tab('show'); 
}); 

HTML:

<ul class="nav nav-tabs" data-toggle="tab-hover"> 
    .... 
</ul> 
10

這是更好地結合文檔對象上的處理程序,因此它也可以與動態生成的選項卡一起使用:

$(document).on('mouseenter', '[data-toggle="tab"]', function() { 
    $(this).tab('show'); 
}); 

另外還有一個小Bootstrap插件,其中自動激活懸停標籤:https://github.com/tonystar/bootstrap-hover-tabs

使用這個插件的完整的HTML是:

body { padding: 2rem; } 
 
.tab-content { margin-top: 1.5rem; }
<link href="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet"/> 
 

 
<!-- Nav pills --> 
 
<ul class="nav nav-pills"> 
 
    <li class="active"><a href="#tab-1" data-toggle="tab">Tab 1</a></li> 
 
    <li><a href="#tab-2" data-toggle="tab">Tab 2</a></li> 
 
    <li><a href="#tab-3" data-toggle="tab">Tab 3</a></li> 
 
    <li><a href="#tab-4" data-toggle="tab">Tab 4</a></li> 
 
</ul> 
 

 
<!-- Tab panes --> 
 
<div class="tab-content well"> 
 
    <div class="tab-pane active" id="tab-1">Content 1</div> 
 
    <div class="tab-pane" id="tab-2">Content 2</div> 
 
    <div class="tab-pane" id="tab-3">Content 3</div> 
 
    <div class="tab-pane" id="tab-4">Content 4</div> 
 
</div> 
 

 
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script> 
 
<script src="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.5/js/bootstrap.min.js"></script> 
 
<script src="//cdn.rawgit.com/tonystar/bootstrap-hover-tabs/v3.1.1/bootstrap-hover-tabs.js"></script>

+0

感謝這個工程我;) – 2017-05-05 07:51:44

+0

不錯的代碼。它的工作很好... – 2017-06-03 01:43:26