Javascript 简单的jQuery切换到$(“html,body”).css({quot;overflow";:“hidden";});打开时,然后切换到;卷轴;关闭时
切换的工作原理与您预期的一样,它是通过将类附加到要打开的元素来实现的。正如你可能在下面所说: 问题是。。你可能可以从我的尝试中看出,我有三个元素可以打开和关闭切换,单击Javascript 简单的jQuery切换到$(“html,body”).css({quot;overflow";:“hidden";});打开时,然后切换到;卷轴;关闭时,javascript,jquery,css,Javascript,Jquery,Css,切换的工作原理与您预期的一样,它是通过将类附加到要打开的元素来实现的。正如你可能在下面所说: 问题是。。你可能可以从我的尝试中看出,我有三个元素可以打开和关闭切换,单击.isilnk,.isi\uu wrapper,和。isi\uu expander,我只是试图设置元素何时展开或是否打开。例如,if($(“.isi”).hasClass(“isi--show isi”){只需将overflow:hidden设置为html,body,当它关闭或未打开或上面没有类时,只需设置html,body{ov
.isilnk
,.isi\uu wrapper
,和。isi\uu expander
,我只是试图设置元素何时展开或是否打开。例如,if($(“.isi”).hasClass(“isi--show isi”){
只需将overflow:hidden
设置为html,body
,当它关闭或未打开或上面没有类时,只需设置html,body{overflow:scroll;}
我下面的任何尝试都不允许同时使用打开和关闭,只有一个或另一个。因此,当前,当元素切换为打开时,它可以工作,但当元素关闭时,html,body
溢出不会返回滚动,用户无法浏览站点
$(document).ready(function(){
$('.isilnk').on('click', function(){
$('.isi').addClass('isi--show-isi');
$("html, body").css({"overflow": "hidden"});
});
if ($(".isi").hasClass("isi--show-isi")) {
$("isi__wrapper").css("overflow","scroll");
$("html, body").css({"overflow": "scroll"});
}
else {
$("html, body").css({"overflow": "scroll"});
}
$('.isi__expander').click(function() {
$("html, body").css({"overflow": "hidden"});
});
$('.isi__wrapper').click(function() {
$("html, body").css({"overflow": "scroll"});
}
});
作为猜测:
$(document).ready(function(){
$('.isilnk').on('click', function(){
$('.isi').toggleClass('isi--show-isi');
$("html, body").css({"overflow": "hidden"});
setCSS();
});
$('.isi__expander').click(function() {
('.isi').addClass('isi--show-isi');
setCSS();
});
$('.isi__wrapper').click(function() {
('.isi').removeClass('isi--show-isi');
setCSS();
}
});
function setCSS() {
if ($(".isi").hasClass("isi--show-isi")) {
$("isi__wrapper").css("overflow","scroll");
$("html, body").css({"overflow": "scroll"});
}
else {
$("html, body").css({"overflow": "scroll"});
}
}
您可以发布html吗?另外,部分代码不在click事件函数中。例如,
if($(“.isi”).hasClass(“isi--show isi”))
将始终执行else
语句,因为它只运行一次:on document ready。更改该语句不会产生不同的结果。谢谢,由于某些原因,我根本不会运行该语句。您能将html添加到问题中吗?