【发布时间】:2014-10-18 04:40:26
【问题描述】:
这个问题只存在于屏幕宽度小于 990
使用基于Bootstrap 的startup framework,我的导航栏中有一个下拉菜单。它在网站的桌面版本上完美运行,但在移动版本上,当单击下拉菜单时,它会显示链接,然后立即再次折叠。这使得无法从移动设备浏览网站。
导航栏的链接是HERE
这是我用于导航的 html
<div class="collapse navbar-collapse pull-right">
<ul class="nav pull-left">
<?php
$pages = array(
"home" => "HOME",
"about" => "ABOUT"
);
$p = (isset($_GET['p'])) ? $_GET['p'] : "";
foreach ($pages as $url => $label) {
?>
<li><a <?= $p == $url ? 'class="active"' : ""?> href="index.php?p=<?=$url?>" > <?=$label?> </a></li>
<?php
}
?>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">SERVICES<b class="caret"></b></a>
<span class="dropdown-arrow"></span>
<ul class="dropdown-menu">
<li><a href="engineering.php">ENGINEERING</a></li>
<li><a href="#">CERTIFICATION</a></li>
<li><a href="#">MANUFACTURING</a></li>
</ul>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">CONTACT<b class="caret"></b></a>
<span class="dropdown-arrow"></span>
<ul class="dropdown-menu">
<li><a href="contact.php">CONTACT US</a></li>
<li><a href="employees.php">EMPLOYMENT</a></li>
<li><a href="empPortal.php">EMPLOYEE PORTAL</a></li>
<li><a href="cust.php">CUSTOMER PORTAL</a></li>
</ul>
</li>
</div>
</div>
</div>
</div>
我已将下拉类移动到 a 标记并将下拉菜单包装在单独的 div 中,但没有任何帮助。我能想到的唯一另一件事就是弄乱JS,但我不知道从哪里开始?
这是引导程序的已知问题吗?还是我的代码中遗漏了什么?
window.isRetina = (function() {
var root = ( typeof exports == 'undefined' ? window : exports);
var mediaQuery = "(-webkit-min-device-pixel-ratio: 1.5),(min--moz-device-pixel-ratio: 1.5),(-o-min-device-pixel-ratio: 3/2),(min-resolution: 1.5dppx)";
if (root.devicePixelRatio > 1)
return true;
if (root.matchMedia && root.matchMedia(mediaQuery).matches)
return true;
return false;
})();
window.startupKit = window.startupKit || {};
startupKit.hideCollapseMenu = function() {
$('body > .navbar-collapse').css({
'z-index': 1
});
$('html').removeClass('nav-visible');
setTimeout(function() {
$('body > .navbar-collapse').addClass('collapse');
$('body > .colapsed-menu').removeClass('show-menu');
}, 400)
}
$(function () {
$('.page-wrapper, .navbar-fixed-top, .navbar-collapse a, .navbar-collapse button, .navbar-collapse input[type=submit]').on('click', function(e) {
if($('html').hasClass('nav-visible')) {
setTimeout(function(){
startupKit.hideCollapseMenu();
}, 200)
}
});
$(window).resize(function() {
if($(window).width() > 965) {
startupKit.hideCollapseMenu();
}
});
var menuCollapse = $('#header-dockbar > .colapsed-menu').clone(true);
$('body').append(menuCollapse);
$('#open-close-menu').on('click', function () {
if($('html').hasClass('nav-visible')) {
startupKit.hideCollapseMenu();
} else {
$('body > .colapsed-menu').addClass('show-menu');
if($('#header-dockbar').length) {
$('body > .colapsed-menu').css({
top: $('#header-dockbar').height()
});
}
setTimeout(function() {
$('html').addClass('nav-visible');
}, 1)
}
});
});
【问题讨论】:
-
我认为问题出在你的 CSS 中,你能分享一下吗
-
提供它的一些工作小提琴,以便我们可以看到并修改它
-
问题是我使用的是启动框架。所以我不确定导航栏的移动版本是如何制作的。我希望有经验的人会看到这个。
标签: javascript jquery html css twitter-bootstrap