如何在小于 600 像素的屏幕上的页面加载中“打开”引导下拉菜单
How to 'open' Bootstrap Dropdown menus on pageload on screens smaller than 600px
im 试图让我的引导下拉列表默认在小于 600px(移动(的屏幕上打开。
这似乎让它尝试,但看起来有些东西覆盖了它并再次关闭它:
<script type="text/javascript">
$(window).load(function () {
var width = $(window).width();
if (width >= 0 && width <= 600) {
$('#openBrowseMobile').addClass('open');
}
else {
$('#openBrowseMobile').removeClass('open');
}
})
.load();
</script>
关于如何使这项工作的任何想法?
我可以用这个来调整大小,但我需要它来处理页面加载/文档准备好了。
<script type="text/javascript">
$(window).resize(function () {
console.log('resize called');
var width = $(window).width();
if (width >= 0 && width <= 600) {
$('#openBrowseMobile').addClass('open');
}
else {
$('#openBrowseMobile').removeClass('open');
}
})
.resize();
</script>
您可以通过触发多个事件将它们移动到同一处理程序中。
<script type="text/javascript">
$(window).on('load resize',function () {
console.log('resize called');
var width = $(window).width();
if (width >= 0 && width <= 600) {
$('#openBrowseMobile').addClass('open');
}
else {
$('#openBrowseMobile').removeClass('open');
}
});
</script>
我遇到了同样的问题,这是使用jQuery的另一种方法,它不涉及弄乱更少的代码或CSS。
我刚刚添加了一个触发器,以便在菜单打开后立即打开下拉菜单。
有一个超时,等待到主菜单打开。(在打开下拉列表之前会有 100 毫秒的延迟(,如果您喜欢它不要等待,我想可以更改更少。
$(".navbar-toggle").click(function() {
if (window.matchMedia("(max-width: 768px)").matches) {
// on mobile, dropdown default opened:
setTimeout(function() {
$(".dropdown-toggle").click();
}, 100);
}
});
相关文章:
- $(select).selectmenu('打开')不'如果使用ajax加载页面,则不起作用
- 打开CSS菜单加载
- 通过javascript在同一个打开的选项卡中重新加载新的网页内容
- 如何在页面加载时打开灯箱一次
- 页面上的传单加载打开所有标记的弹出窗口
- 如何在打开模型时动态加载控制器文件
- 打开 UI5 sap-ui-core.js无法加载资源
- 如何打开弹出窗口并重新加载另一个页面
- javascript可以在加载完整文档之前打开辅助窗口吗?
- 打开节点上的JSTree的渐进加载
- 色盒延迟打开;锁定“;当加载外部javascript文件时
- 当子窗口打开并完成加载时得到通知
- 当窗口打开时,IE9在加载前启动事件
- 选择框导航:窗口打开页面加载而不是更改
- 使用带有错误图像路径的 jQuery 加载打开的页面
- 谷歌地图API -如何不加载/打开信息窗口点击,如果它已经打开停止闪烁
- 在新选项卡中加载打开页面- Chrome
- 通过加载/打开页面编辑Javascript
- 页面加载打开面板在HTML中使用Java脚本
- 在img加载打开新标签Jquery不点击