【发布时间】:2015-02-03 08:40:33
【问题描述】:
我做了一些有趣的宽度 JavaScript。我有带有部分的页面,并且我使用 jQuery 禁用了窗口滚动,它工作正常。我还写了一些js来检测用户是否想要滚动,我用参数是向下滚动还是向上滚动。如果向下滚动身体。我写了一些js,但它不能正常工作。当向下滚动它时,我只需要调用一次动画,当动画和用户滚动时,它会按时再次执行。随着时间的推移,身体动画滚动将被禁用。lastscrollTop 参数也有一些问题,它工作得不好。对不起我的英语,谢谢你的帮助。
jsfiddle链接http://jsfiddle.net/DHz77/277/
还有js代码。
$(document).ready(function(){
$('body').on({
'mousewheel': function(e) {
e.preventDefault();
e.stopPropagation();
}
});
var lastscrollTop = 0;
function mousewheel (e) {
e = window.event || e;
var delta = Math.max(-1, Math.min(1, (e.wheelDelta || -e.detail)));
var windowHeight = $(window).height();
var curscroll = $(window).scrollTop();
if(delta > 0) {
if($(window).scrollTop() == 0) {
return false;
}else {
$("html,body").stop(true,true).animate({
scrollTop: lastscrollTop - windowHeight
});
}
}else {
if($(window).scrollTop() == $(document).height() - $(window).height()) {
return false;
}else {
$("html,body").stop(true,true).animate({
scrollTop: lastscrollTop + windowHeight
});
}
}
lastscrollTop = curscroll;
}
var body = $("body").get(0);
if (body.addEventListener) {
body.addEventListener('mousewheel', mousewheel, false);
body.addEventListener("DOMMouseScroll", mousewheel, false);
} else {
body.attachEvent("onmousewheel", mousewheel);
}
});
【问题讨论】:
标签: jquery html scroll jquery-animate