我在javascript中使用鼠标滚轮使用事件侦听器创建了自己的滚动函数,问题是,该函数允许用户大致保持向下滚动而不是停止一旦它们到达底部滚动DIV ..JavaScript滚动功能
这是我有: 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,你会看到红色框滚动涨过头。不知道如何解决它。
请帮忙。
看起来事件监听程序没有连接正确。添加警报('egewrweg');在功能的开始 - 对我来说,当我滚动时没有任何提醒信息。 – frenchie
@frenchie http://jsfiddle.net/RjEr7/8/警报正常工作。 – Sir
http://jsfiddle.net/RjEr7/9/这个工程;不知道为什么,但即使刚更新的小提琴也不会触发警报。使用jQuery滚动处理程序进行调试,以便至少我们确信处理程序能够正常工作。 – frenchie