Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Множественный запуск animate (https://javascript.ru/forum/jquery/14623-mnozhestvennyjj-zapusk-animate.html)

TicTac 23.01.2011 22:13

Множественный запуск animate
 
Здравствуйте!

Прицепил к событию hover анимацию вылазит из под фотки ее описание. (это касается не только этого случая, а вообще где использую animate)

Вот если поводить на фотках специально запустив анимацию несколько раз, тогда после ухода мыши, продолжается аминирование еще некоторое время.

Как с этим бороться? пойдет даже ссылка где можно почитать...


Был бы очень благодарен.
На форуме искал нашел много интересного, вот только свою проблему не нашел:)

monolithed 23.01.2011 22:34

queue:false

dmitriymar 23.01.2011 22:38

Цитата:

Сообщение от monolithed
queue:false

а что это? пытался найти описание этой функции не нашел...
эт насколько я понимаю запрет ставить в очередь анимацию пока она выполняется?

monolithed 23.01.2011 23:18

Цитата:

Сообщение от dmitriymar
а что это

<script src="http://code.jquery.com/jquery-1.4.4.js"></script>

<script type="text/javascript">
$(function(){
    $(".block").mouseenter(function(){
        $(this).animate({left: "+=200px"}, {duration: 5000, queue: false});
    });
});
</script>

<div class="block" style=" background: #abc; left: 0; position: absolute; width: 90px; height: 90px;">
</div>

<script src="http://code.jquery.com/jquery-1.4.4.js"></script>

<script type="text/javascript">
$(function(){
    $(".block").mouseenter(function(){
        $(this).animate({left: "+=200px"}, {duration: 5000, queue: true});
    });
});
</script>

<div class="block" style=" background: #abc; left: 0; position: absolute; width: 90px; height: 90px;">
</div>

TicTac 24.01.2011 00:41

monolithed, спасибо.

вроде перестало дергается только как теперь вызвать функцию callback например в Вашем коде. Я почему то добавляю ее после {duration: 5000, queue: false} через запятую, а она вообще перестает вызваться после завершения анимации.

Вот так где-то
$(this).animate({left: "+=200px"}, {duration: 5000, queue: true}, function(){alert("work")});



Эх, пойду наверно книгу читать jquery in action second edition) а то методом тыка долго буду еще учится :)

dmitriymar 24.01.2011 00:42

спс. теперь понятно

monolithed 24.01.2011 11:11

Цитата:

Сообщение от TicTac
Эх, пойду наверно книгу читать jquery in action second edition) а то методом тыка долго буду еще учится

достаточно API-справки http://api.jquery.com/animate/


Часовой пояс GMT +3, время: 07:49.