我想用 jquery 完全禁用页面上的滚动(不是正文溢出:隐藏)。
我认为这会起作用,但由于某种原因它不起作用。
$( window ).on( "scroll", function(e) {
e.preventDefault();
});
Run Code Online (Sandbox Code Playgroud) 我正在为Skrollr滑块创建一个"有限的"可视化构建器.它允许用户构建由section页面上彼此相邻的幻灯片(html 标签)组成的滑块,每个幻灯片包含许多应用了Skrollr数据属性/动画(关键帧?)的html元素.
有没有办法暂停幻灯片(前进到下一张幻灯片),直到所有内部元素都完成了动画?
我知道这个例子pausing.html可以证明我需要什么,但是这些"幻灯片"已修复,这可能会给我的用户带来问题.滑块将被放入WordPress网站主题,大多数元素都没有修复.
因为幻灯片内容是如此动态和不可预测,很难知道锁定滚动多长时间?希望有可能做到这一点?
我的困境的例子:
.... Some regular WordPress page content (Navbar, Header maybe posts, etc.)
<div id="skrollr-body">
// Pause this slides scrolling till all child elements have completed their animations
// Slide child elements will ALWAYS have relative animations (data-100-top="..." NOT data-100="...")
<section id="slide-1" class="slide">
<p data-center="opacity: 1;" data-top="opacity: 0;">Some awesomeness</p>
<img data--100-center="transform: translate(-100%,0);" data-top="transform: translate(0,0);" src="..."/>
... lots of other elements
</section>
<section id="slide-2" class="slide">
...
</section>
<section id="slide-3" class="slide">
...
</section>
</div> …Run Code Online (Sandbox Code Playgroud) 在复习有关StackOverflow上该主题的许多问题和答案时,提供的所有解决方案均无法可靠地工作。所有CSS,JavaScript,jQuery和混合解决方案都至少存在一个缺陷,导致滚动无法有效禁用和/或切换。
我还在网上搜索了很多内容,但没有找到一个好的答案。
到目前为止,我具有此功能:
function toggleScroll(btn, item) {
$(btn).click(function() {
$(item).toggleClass("noscroll");
});
}
Run Code Online (Sandbox Code Playgroud)
...这会将a添加overflow: hidden;到我想要的任何类中onclick,并在第二次单击时将其删除。
问题是,此代码不适用于iOS设备。
如何在iOS设备上使用此功能?
理想情况下,我希望使用纯CSS解决方案。但是我知道这可能是不可能的,尤其是切换组件。
任何JavaScript或jQuery解决方案也都可以。
提前致谢!
1)如果您有Google Plus帐户,请转到您的主页.
2)在右侧,有一个可以悬停的"添加到圆圈"按钮列表.
3)请注意,当您将鼠标悬停在其中一个"添加到圆圈"下拉列表中时(如果您有足够的圆圈可以在下拉列表中滚动),则会禁用页面滚动功能.只允许在下拉列表中垂直滚动.
这是如何用javascript完成的?

我可以在此处滚动(右侧的滚动条),但在下拉时无法在页面主体上滚动.
我已禁用iPad上的滚动:
function disableScrolling() {
document.ontouchmove = function(e){
e.preventDefault();
}
}
Run Code Online (Sandbox Code Playgroud)
有没有办法再次启用它?
它在以下功能中特别有用:
function enableScrolling() {
// enable scrolling
}
Run Code Online (Sandbox Code Playgroud) jquery ×6
scroll ×4
javascript ×3
html ×2
css ×1
google-plus ×1
ios ×1
ipad ×1
iphone ×1
scroll-lock ×1
skrollr ×1