调整窗口大小时切换和记忆类

时间:2018-06-14 22:16:09

标签: javascript jquery css class

在我的网站上,当我点击按钮(手机和大屏幕上)时,网站上都有一个面板打开/显示。当我在手机上打开面板时,我想禁用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))) 类将被删除,面板将被打开,滚动将被激活... 也许是否有办法在移动设备上“记住”滚动类?

0 个答案:

没有答案