Javascript 在CSS上禁用滚动时使用jQuery滚动
我想使用jQuery动画滚动页面,但CSS中禁用了滚动,不允许进行动画:Javascript 在CSS上禁用滚动时使用jQuery滚动,javascript,jquery,Javascript,Jquery,我想使用jQuery动画滚动页面,但CSS中禁用了滚动,不允许进行动画: $('html, body').css({ 'overflow': 'hidden', 'height': '100%' }); $('html, body').animate({ scrollTop: 939 }, 2500); 问题是:我可以建议使用边距顶部。由于没有滚动条,因此对用户的效果相同: 我可以建议改用页边距顶部。由于没有滚动条,因此对用户的效果相同: 如果设置overflo
$('html, body').css({
'overflow': 'hidden',
'height': '100%'
});
$('html, body').animate({
scrollTop: 939
}, 2500);
问题是:我可以建议使用
边距顶部。由于没有滚动条,因此对用户的效果相同:
我可以建议改用页边距顶部
。由于没有滚动条,因此对用户的效果相同:
如果设置overflow:hidden,则不会发生滚动事件。因此,也不能使用动画触发它。实际上,如果用户无法滚动,那么设置滚动动画有什么意义呢
一种解决方案是将内容包装到另一个容器中,并设置容器动画,如下所示:
演示:
还有Javascript:
$('#content').animate({ top: -939 });
如果设置overflow:hidden,则不会发生滚动事件。因此,也不能使用动画触发它。实际上,如果用户无法滚动,那么设置滚动动画有什么意义呢
一种解决方案是将内容包装到另一个容器中,并设置容器动画,如下所示:
演示:
还有Javascript:
$('#content').animate({ top: -939 });
除了基于webkit的浏览器之外,它在任何地方都可以工作。当然这不是一个答案,只是一个有趣的注释。@Tommi“无处不在”-真的吗?我在Chrome中找到了一个适合我的解决方案&IE 10,我在Opera 12.16中尝试过;IE10处于10和9模式,最新的FF、Chrome和Safari(Windows)。它不适用于Chrome和Safari(都基于webkit)@Tommi我正在寻找一个跨浏览器的解决方案。除了基于webkit的浏览器之外,它在任何地方都可以使用。当然这不是一个答案,只是一个有趣的注释。@Tommi“无处不在”-真的吗?我在Chrome中找到了一个适合我的解决方案&IE 10,我在Opera 12.16中尝试过;IE10处于10和9模式,最新的FF、Chrome和Safari(Windows)。它在Chrome和Safari(都基于webkit)中不起作用@Tommi我正在寻找一个跨浏览器的解决方案。它看起来更像是一种技巧,而不是一种正确的方法。而且,与预期的结果相比,这不是很顺利:我相信应该有办法。只要看看这个隐藏在其主体中的溢出的站点:它看起来更像是一种技巧,而不是一种正确的方法。而且,与预期的结果相比,这不是很顺利:我相信应该有办法。只要看看这个在其主体中隐藏了溢出的站点:有趣的是,您在动画中使用了属性top
,而不是scrollTop
。我也在用一个容器尝试它,但它似乎不适用于scrollTop
。谢谢@阿尔瓦罗那里没有魔法。滚动被禁用,“scrollTop”动画属性也被禁用,因为它会触发滚动本身。有趣的是,您在动画中使用了属性top
,而不是scrollTop
。我也在用一个容器尝试它,但它似乎不适用于scrollTop
。谢谢@阿尔瓦罗那里没有魔法。该滚动被禁用,“scrollTop”动画属性也被禁用,因为它会触发滚动本身。
#content{position:relative}
$('#content').animate({ top: -939 });