我想要一个显示或隐藏div
的按钮,但是当我调整浏览器大小并触发媒体查询时,我想要禁用该按钮,在调整大小到之前的媒体查询时再次启用它。
我正在使用body:after {content:'tablet'; display:none;}
,body:after {content:'laptop'; display:none;}
进行媒体查询,效果很好。
我正在使用jQuery .on();
和.off();
在窗口大小调整上添加/删除事件处理程序。我遇到的问题是事件处理程序正在添加,但是当我点击它时,它会立即切换,返回到“平板电脑”视口大小。
如何制作它以便在我调整“笔记本电脑”大小时删除处理程序,但当我再次调整为“平板电脑”时,我会添加事件处理程序。
jQuery
function chooseMenu() {
$('#sidebarWrapper').css('position', 'absolute').stop(true, true).toggle('showOrHide');
} // button function
if (size != currentSize) {
if (size == 'tablet') {
$('.menuButton').on('click', chooseMenu);
$('#sidebarWrapper').css('display', 'none');
currentSize = 'tablet';
}
if (size == 'laptop') {
$('.menuButton').off();
$('#sidebarWrapper').css('position', 'static');
$('#sidebarWrapper').css('display', 'block');
currentSize = 'laptop';
}
} //if size
我假设我的开/关或切换逻辑出了问题,我必须要错过。如果不是这种情况,您需要查看更多信息,或者只是查看实际网站。这是左侧灰色条带上的菜单按钮。 http://lartmagazine.co.uk/。 (对不起链接我只是不知道如何在小提琴中显示这一点。)
错误..在检查我的链接时,我注意到它在FireFox中有效但在Chrome中无效吗?
答案 0 :(得分:0)
问题是当我调整窗口大小时我需要限制我的功能,我安装了underscore.js并使用了这个:
$(window).resize(_.debounce(function(){
},100));
我实际上之前安装了这个,但忘记了它与其他东西一起玩......