Как приостановить анимацию.scrollTop() при наведении курсора? (JSFIDDLE включен)
Я использую следующий код jquery для создания анимации медленной прокрутки. http://jsfiddle.net/fhj45f21/
К сожалению, у меня возникают проблемы с приостановкой анимации при наведении курсора мыши. Может ли кто-нибудь взглянуть и дать мне подсказку?
function Scroller(y){
this.times = 0;
this.moveInter = 0;
this.backInter = 0;
this.moveBack = function () {
var self = this;
clearInterval(this.moveInter);
this.backInter = setInterval(function () {
self.times -= 5;
y.scrollTop(self.times);
if (self.times == 0) {
return self.startMove();
}
}, 1);
}
this.move = function() {
var self = this;
this.moveInter = setInterval(function () {
self.times++;
y.scrollTop(self.times);
if (self.times == 1200) {
return self.moveBack();
}
}, 50);
}
this.startMove = function() {
this.times = 0;
var self = this;
if (this.backInter != null) {
clearInterval(this.backInter);
}
window.setTimeout(function () {
self.move();
}, 1000);
}
}
jQuery('.textBox').each(function () {
y = jQuery(this);
var scroller = new Scroller(y);
scroller.startMove();
});
Огромное спасибо!
1 ответ
Решение
Здесь вы идете: http://jsfiddle.net/nxk4vseq/ добавить обработчик y.hover с функциями для mousein и mouseout
var scrl=this;
y.hover(function(){
clearInterval(scrl.moveInter);
},function(){
scrl.move();
});