感谢用户Rex,我现在使用以下代码通过动画效果更改滚动边距。
$(document).scroll(function () {
$("#content").animate({margin: "0px 0px 0px 0px"}, 3000);
});
http://jsfiddle.net/Vinay199129/qSe4e/10/
现在我希望在向上滚动时边距恢复到原始状态时产生相同的效果,我尝试使用以下脚本检测向上或向下滚动,但它不起作用:{{3 } (如果滚动检测脚本有效,警报消息可以帮我看看)
希望有人可以帮助我SOLUTION:
答案 0 :(得分:0)
修改强>
这个答案指的是这个jsfiddle:http://jsfiddle.net/qSe4e/14
结束编辑。
在jsfiddle中,您正在为窗口的滚动事件注册一个处理程序,该事件表示“当窗口滚动时,注册文档滚动事件的处理程序”,这会搞乱一切。所以你的代码看起来像这样:
$(document).scroll(function () {
$("#three").animate({margin: "0px 0px 0px 0px"}, 3000);
});
真的应该是这样:
$("#three").animate({margin: "0px 0px 0px 0px"}, 3000);
基本上只需删除文档滚动包装。
然后,还有第二个问题,即jQuery会自动为您排队这些动画,因此当您滚动时它们会被延迟。你会得到一个更好的结果:
$("#three").animate({margin: "0px 0px 0px 0px"}, {queue: false, duration: 3000});
在你的小提琴中做出这些改变,看看你得到了什么。