我正在研究jQuery悬停滚动导航。我将scrollLeft
和scrollTop
方法与.mouseover()
和.mouseout()
结合使用。在Chrome/Safari中,一切似乎都很好。我注意到意想不到的行为。主要是滚动事件似乎只触发一次。我不确定是什么原因造成的,或者是否有办法解决这个问题。jQuery滚动事件只在Chrome中触发一次
无论如何,这里是我的代码和网站的链接,所以你可以看到自己的行为。任何帮助都会很棒。
网址:http://www.derekhutchinson.com
var delay = false;
function Movehorizonal(speed, ammount) {
var curpos = $('body,html').scrollLeft();
$("body,html").animate({
scrollLeft: curpos + ammount
}, speed);
delay = setInterval(function() {
//console.log("tick_horizontal");
var curpos = $('body,html').scrollLeft();
$("body,html").animate({
scrollLeft: curpos + ammount
}, speed);
}, speed);
}
$(function() {
var speed = 400;
$('#goLeft').mouseover(function() {
Movehorizonal(speed, -200);
});
$('#goLeft').mouseout(function() {
$("body,html").stop();
clearInterval(delay);
delay = false;
});
});
谢谢:D这是需要的。我没有意识到这一点。 – TheSnooker