我正在研究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