在我的网站上,当我点击按钮(手机和大屏幕上)时,网站上都有一个面板打开/显示。当我在手机上打开面板时,我想禁用body
上的滚动。我是通过添加课程disableScroll
来完成的。
我的代码如下:
isMobile
- 某些媒体查询,例如,如果屏幕为< true
,则返回.disableScroll {
overflow: auto;
}
@media screen and (max-width: 768px) {
.disableScroll {
overflow: hidden;
}
}
if (isMobile) {
if (panelVisible) {
$('body').addClass('disableScroll');
} else {
$('body').removeClass('disableScroll');
}
}
768px。
disableScroll
此代码仅适用于手机。两个,但...... ...
当我在移动视图中打开面板然后将窗口调整为大屏幕时,disableScroll
类仍保留在代码中。
因此,当我在移动设备中打开面板,然后调整大小,关闭大面板(disableScroll
不会消失,因为removeClass仅在移动设备上工作)并再次调整为移动设备,我的面板将关闭if
有效。
我尝试通过添加类似的disableScroll
来修复它,但它可以正常工作,但它也会在大型手机上切换if (!isMobile) {
if (!panelVisible) {
$('body').addClass('disableScroll');
} else {
$('body').removeClass('disableScroll');
}
}
类。
@media
感谢disableScroll
它工作正常,但是:
1)我不想在大屏幕上切换if (!isMobile)
课程
2)应该有更好的方法来解决它。
如果我在disableScroll
时完全删除了该类,当我在移动设备上打开面板时,调整大小然后调整回移动设备(不关闭并重新打开面板),hourTime<-(seq.POSIXt(as.POSIXct(Sys.Date()),
as.POSIXct(Sys.Date()+1),
by = "5 min"))
ARRIVALTIME <- sample(hourTime, 1000, replace=T)
TRETTIME <- ARRIVALTIME +
(hours(sample(1:3, 1000, replace=T)) +
minutes(sample(1:60, 1000, replace=T)))
类将被删除,面板将被打开,滚动将被激活...
也许是否有办法在移动设备上“记住”滚动类?