我使用带有鼠标滚轮的事件侦听器在 javascript 中制作了自己的滚动函数,问题是,该函数允许用户在到达滚动 div 的底部后继续粗略地向下滚动而不是停止。
这就是我所拥有的:http: //jsfiddle.net/RjEr7/7/
有问题的功能:
function do_it(e){
var jump = 50;
var parentHeight = parseInt(this.parentNode.offsetHeight)-50;
var childHeight = parseInt(this.offsetHeight);
var i = parseInt(this.style.marginTop, 10) || 0;
var wheel = e.wheelDeltaY;
var childHeightNew = childHeight + i;
if(wheel == -120){
if(childHeightNew > parentHeight){
i -= jump;
}
}else if(wheel == 120){
if( (childHeightNew < childHeight) && i < 0){
i += jump;
if(i>0){
i=0;
}
}
}
this.style.marginTop = i + 'px';
}
在 JSfiddle 中,您会看到红色框向上滚动太多。不知道如何解决它。
请帮忙。