.hover () onmouseout breake for () {}

0
$('#drugiGumb').hover(
    function () {
        for (var i = 0; i < 60; i++) {
            $('#drugiGumbSlika').delay(15).animate({ marginLeft: '-=149px' }, 1);
        }
        $('#drugiGumbSlika').animate({ marginLeft: '-8791px' }, 1);
    }, function () {
        $('#drugiGumbSlika').stop().animate({ marginLeft: '0px' }, 1);
    }
    );

Привет всем, у меня ширина изображения 8791px и его анимация на одном изображении. один кадр составляет 149x85px. Чтобы анимировать его, я создаю код выше. Моя проблема в том, что я наклоняю тормоз для цикла на мыши и остановку добавления анимации. Любые идеи, как я могу это сделать?

спасибо заранее.

Теги:
for-loop
onmouseout

3 ответа

0
Лучший ответ

jQuery .stop() docs - http://api.jquery.com/stop/

$('#drugiGumb').hover(
function () {
    for (var i = 0; i < 60; i++) {
        $('#drugiGumbSlika').delay(15).animate({ marginLeft: '-=149px' }, 1);
    }
    $('#drugiGumbSlika').animate({ marginLeft: '-8791px' }, 1);
}, function () {
    $('#drugiGumbSlika').stop(true, true).animate({ marginLeft: '0px' }, 1);
}
);
1

Попробуйте .stop(true,true)

$('#drugiGumb').hover(function () {
    for (var i = 0; i < 60; i++) {
        $('#drugiGumbSlika').delay(15).animate({
            marginLeft: '-=149px'
        }, 1);
    }
    $('#drugiGumbSlika').animate({
        marginLeft: '-8791px'
    }, 1);
}, function () {
    $('#drugiGumbSlika').stop(true,true).animate({
        marginLeft: '0px'
    }, 1);
});
0

Вам нужно обработать события mouseenter и mouseleave. Не парить.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню