我正在使用Bootstrap典型的nav下拉菜單。正常懸停並點擊小設備的jQuery引導程序下拉引導3
我希望下拉菜單顯示在鼠標懸停上並隱藏在鼠標上。但是當設備寬度小於979px時,我希望下拉菜單顯示在點擊上而不是懸停上。
我寫了一些jQuery來實現這一點。它工作正常,但是當我將瀏覽器寬度減少到979px以下時,它會顯示懸停時的下拉菜單。我希望這隻能顯示點擊下拉。具有諷刺意味的是,如果我保持瀏覽器寬度低於979px,那麼它不會顯示懸停。
我的jQuery:
$(document).ready(function() {
if ($(window).width() < 979) {
$(".md-nav ul.nav li.dropdown").click(function() {
$('li.dropdown > a').addClass('dropdown-toggle');
$('li.dropdown > a').attr('data-toggle','dropdown');
});
}
if ($(window).width() > 979) {
$(".md-nav li.dropdown").hover(function() {
$(".md-nav li.dropdown:hover > .dropdown-menu").stop(true,true).delay(400).show(0);
}, function() {
$(".md-nav li.dropdown:hover > .dropdown-menu").stop(true,true).delay(500).hide(0);
});
}
});
我的HTML爲導航:
<nav class="navbar navbar-default md-nav" role="navigation">
<div class="container-fluid">
<select class="nav-sel">
<option value="Vous Etes">Vous Etes</option>
<option value="Vous Etes">Vous Etes</option>
<option value="Vous Etes">Vous Etes</option>
<option value="Vous Etes">Vous Etes</option>
</select>
<!-- Brand and toggle get grouped for better mobile display -->
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
<span class="sr-only"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div>
<!-- Collect the nav links, forms, and other content for toggling -->
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav nav nav-tabs">
<li class="dropdown"><a href="#">Ministére</a>
<div class="dropdown-menu">
<ul>
<li><a href="#">Promotion</a></li>
<li><a href="#">Prévention</a></li>
<li><a href="#">Les Féderations</a></li>
<li><a href="#">Le diréct</a></li>
<li><a href="#">Emplois & Mériers</a></li>
<li><a href="#">Grand Evénements</a></li>
</ul>
<img src="img/athlete-img1.jpg" alt="athlete running" />
</div>
</li>
<li class="dropdown"><a href="#">Sport</a>
<div class="dropdown-menu">
<ul>
<li><a href="#">Promotion</a></li>
<li><a href="#">Prévention</a></li>
<li><a href="#">Les Féderations</a></li>
<li><a href="#">Le diréct</a></li>
<li><a href="#">Emplois & Mériers</a></li>
<li><a href="#">Grand Evénements</a></li>
</ul>
<img src="img/athlete-img1.jpg" alt="athlete running" />
</div>
</li>
<li class="dropdown"><a href="#">Jeunesse</a>
<div class="dropdown-menu">
<ul>
<li><a href="#">Promotion</a></li>
<li><a href="#">Prévention</a></li>
<li><a href="#">Les Féderations</a></li>
<li><a href="#">Le diréct</a></li>
<li><a href="#">Emplois & Mériers</a></li>
<li><a href="#">Grand Evénements</a></li>
</ul>
<img src="img/athlete-img1.jpg" alt="athlete running" />
</div>
</li>
<li class="dropdown"><a href="#">Publications</a>
<div class="dropdown-menu">
<ul>
<li><a href="#">Promotion</a></li>
<li><a href="#">Prévention</a></li>
<li><a href="#">Les Féderations</a></li>
<li><a href="#">Le diréct</a></li>
<li><a href="#">Emplois & Mériers</a></li>
<li><a href="#">Grand Evénements</a></li>
</ul>
<img src="img/athlete-img1.jpg" alt="athlete running" />
</div>
</li>
<li class="dropdown"><a href="#">Mediatheque</a>
<div class="dropdown-menu">
<ul>
<li><a href="#">Promotion</a></li>
<li><a href="#">Prévention</a></li>
<li><a href="#">Les Féderations</a></li>
<li><a href="#">Le diréct</a></li>
<li><a href="#">Emplois & Mériers</a></li>
<li><a href="#">Grand Evénements</a></li>
</ul>
<img src="img/athlete-img1.jpg" alt="athlete running" />
</div>
</li>
<li><a href="#">Espace Medias</a></li>
</ul>
</div><!-- /.navbar-collapse -->
</div><!-- /.container -->
</nav>
此方法存在缺陷。屏幕尺寸和可移動性並無內在聯繫。 – cvrebert
我們不能寫這樣的東西,「它應該總是顯示下拉懸停,除非屏幕尺寸小於979px,那麼它應該只顯示下拉點擊'? –
大屏幕的平板電腦存在 – cvrebert