Как приостановить анимацию.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();    
});
Другие вопросы по тегам