Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 17.04.2010, 16:44
Интересующийся
Отправить личное сообщение для torquemada Посмотреть профиль Найти все сообщения от torquemada
 
Регистрация: 17.04.2010
Сообщений: 17

бесконечный цикл вызова
Здравствуйте, дорогие друзья.
Есть на html-странице функция, вызываемая по (window).load. Представляет собой по задумке последовательную анимацию 4-х div-ов - бесконечно, пока пользователь на странице. Смотрел Фленагана, заколебал гугл, ничего найти не могу.
Саму ерунду я написал, все отлично работает, скажем, если вызывать ее по hover. Если вызывать по load, она, естественно, крутится один раз, а надо постоянно.
Вопрос 1: как закольцевать или бесконечный цикл повторов поставить?
Вопрос 2: как реализовать альтернативный вариант с вызовом анимации этой по, скажем, (window).mousemove (в принципе, мне без разницы) - но только чтобы четыре дива анимировались последовательно?

Не знаю, надеюсь, то, что я написал можно понять.
Ответьте, плиз, на один из вопросов (для функционала это одно и тоже). Спасибо.
Ответить с цитированием
  #2 (permalink)  
Старый 17.04.2010, 16:55
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,492

Если вы делали анимацию, вам должны быть знакомы setTimeout и setInterval.
Тогда в чём проблема?
Ответить с цитированием
  #3 (permalink)  
Старый 17.04.2010, 16:59
Аватар для micscr
Профессор
Отправить личное сообщение для micscr Посмотреть профиль Найти все сообщения от micscr
 
Регистрация: 10.09.2009
Сообщений: 1,566

У функции animate есть один параметр - функция, которая вызовется при окончании анимации. Вот и настрой.
Ответить с цитированием
  #4 (permalink)  
Старый 17.04.2010, 17:04
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,492

Аааа, jquery...
Ответить с цитированием
  #5 (permalink)  
Старый 17.04.2010, 17:11
Интересующийся
Отправить личное сообщение для torquemada Посмотреть профиль Найти все сообщения от torquemada
 
Регистрация: 17.04.2010
Сообщений: 17

Спасибо. Плохо понял, правда. setinterval почему то работает как settimeout (просто происходит задержка, повторения нет).
miscr, а где посмотреть как это выглядит? И функцию эту присваивать надо последней по счету анимации?
Ответить с цитированием
  #6 (permalink)  
Старый 17.04.2010, 17:24
Аватар для micscr
Профессор
Отправить личное сообщение для micscr Посмотреть профиль Найти все сообщения от micscr
 
Регистрация: 10.09.2009
Сообщений: 1,566

Что-то типа этого:
function start(){
  $('.div1').animate({'left':'+=100px'},
                     'slow',
                     function() {
                       $('.div2').animate({'left':'+=100px'},
                                          'slow',
                                          function(){
                                            start(); //зацикливаем
                                          });                                           
                     });
}
Ответить с цитированием
  #7 (permalink)  
Старый 17.04.2010, 17:38
Интересующийся
Отправить личное сообщение для torquemada Посмотреть профиль Найти все сообщения от torquemada
 
Регистрация: 17.04.2010
Сообщений: 17

<script type="text/javascript">
$(document).ready(function() {
$(window).load(function start() {

$("#letter_x").animate({opacity:"0.01", marginTop:"120"}, 1).animate({opacity:"1", marginTop:"190"}, 950);

$("#press").animate({opacity:"0.01"}, 950).animate({opacity:"1"}, 950).animate({opacity:"1"}, 2800);
$("#cite").animate({opacity:"1"}, 950).animate({opacity:"0.01"}, 950).animate({opacity:"1"}, 950);
$("#ploit").animate({opacity:"1"}, 1850).animate({opacity:"0.01"}, 950).animate({opacity:"1"}, 950);
}, function() {
start();



});
});
</script>

Чтой-то я не то делаю, верно?
Ответить с цитированием
  #8 (permalink)  
Старый 17.04.2010, 17:44
Аватар для micscr
Профессор
Отправить личное сообщение для micscr Посмотреть профиль Найти все сообщения от micscr
 
Регистрация: 10.09.2009
Сообщений: 1,566

Сообщение от torquemada Посмотреть сообщение
Чтой-то я не то делаю, верно?
Да, что-то не то. Внимательно изучите предоставленный вам пример. И желательно функции анимации в джи.

Самое кидающееся в глаза:
не надо
$(window).load
т.к.
$(document).ready
выполняет эту функцию
Ответить с цитированием
  #9 (permalink)  
Старый 17.04.2010, 17:50
Интересующийся
Отправить личное сообщение для torquemada Посмотреть профиль Найти все сообщения от torquemada
 
Регистрация: 17.04.2010
Сообщений: 17

miscr, спасибо еще раз. Но без window load не работает вообще (
Ответить с цитированием
  #10 (permalink)  
Старый 17.04.2010, 17:51
Аватар для micscr
Профессор
Отправить личное сообщение для micscr Посмотреть профиль Найти все сообщения от micscr
 
Регистрация: 10.09.2009
Сообщений: 1,566

т.е. достаточно:
$(document).ready(function() {
  start(); // Вызовем первоначально анимацию 
});

а как писать функцию start смотри выше.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Цикл по getElementById GogElf Общие вопросы Javascript 7 10.04.2009 19:12
EventListner запуск без вызова в document MHY Events/DOM/Window 8 31.01.2009 09:46
Ошибка вызова замыкания Андрей Параничев Общие вопросы Javascript 8 01.10.2008 21:16
Объединение в цикл baal1988 Общие вопросы Javascript 7 27.08.2008 09:21
Цикл с двумя переменными? SunYang Общие вопросы Javascript 10 07.08.2008 01:29