Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Полезная опция для анимации (https://javascript.ru/forum/jquery/12993-poleznaya-opciya-dlya-animacii.html)

hrundel 11.11.2010 21:10

Полезная опция для анимации
 
Есть ли в jQuery возможности взаимодействовать с анимацией во время её выполнения? Например, можно ли задать условие, когда при нажатии на кнопку анимация воспроизводится, а если она ещё не закончилась, но кнопка была нажата повторно, то здесь есть альтернативы:
а) анимация останавливается
б) анимация начинается сначала
и т.д.

Для функции animate() я к сожалению не нашёл такой полезной опции. Можно ли её каким-то образом задать если не в параметрах функции animate(), то другим способом?

monolithed 11.11.2010 22:58

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

<style type="text/css">
div {
    position: absolute;
    background: red;
    top: 50px;
    left: 10px;
    width: 50px;
    height: 50px;
}
</style>


<input type="button" value="start" />
<div></div>

<script type="text/javascript">
$('input').click(function(){
    $('div').each(function(){
        $(this).is(':animated') ? $(this).stop() : $(this).animate({left: '+=400px'}, 1000);
    });
});
</script>

рони 11.11.2010 23:22

monolithed,
Снова немножко ))) див без тега боди перекрывает кнопку и её невидно в некоторых браузерах поэтому для дива неплохобы добавить top: 40px;

monolithed 11.11.2010 23:30

:yes:

hrundel 12.11.2010 16:30

monolithed,
спасибо за наглядный пример.


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