我有一些jQuery可以完美地按照需要运行,但并非总是如此,有时它会再次刷新页面后才会起作用,我不知道为什么。
我想要的是在侧边栏打开时禁用主屏幕滚动,并在其关闭时使其滚动(仅当窗口很小时才显示侧边栏)。
这是我的jQuery:
jQuery(document).ready(function($) {
$(".sidebar-mobile-icon").click(function() {
var sideBar = $(".shop-sidebar");
for (var i = 0; i < sideBar.length; i++) {
$("html").css("overflow", "hidden");
if(sideBar.hasClass("opened")) {
$("html").css("overflow", "scroll");
}
}
});
});
如果您访问我的网站,可以进行测试:outfityard.com,问题出在侧边栏中,但只会出现一个小窗口浏览器。
答案 0 :(得分:1)
我不确定你为什么使用for-loop,但这应该可行。
jQuery(document).ready(function($) {
$(".sidebar-mobile-icon").click(function() {
if ($(".shop-sidebar").hasClass("opened")) {
$("html, body").css("overflow", "scroll");
} else {
$("html, body").css("overflow", "hidden");
}
});
});
答案 1 :(得分:0)
将样式应用于正文,而不是html元素。