Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 24.01.2013, 22:01
Профессор
Отправить личное сообщение для Dimaz Посмотреть профиль Найти все сообщения от Dimaz
 
Регистрация: 25.12.2009
Сообщений: 222

Как сделать анимацию элемента?
Привет всем. Хочу, чтобы при клике по div-у каждые 200 мс изменялся его цвет. Цвет меняется, но только один раз. Что не так?
$('div').click(function(){
    for(var i=1; i<100; i++){
    setTimeout(function(){
    $('div').css("background-color","RGB("+i+",200,15)");
    },200);
    }
});
Ответить с цитированием
  #2 (permalink)  
Старый 24.01.2013, 22:15
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Dimaz,
Пример ошибочного использования
Ответить с цитированием
  #3 (permalink)  
Старый 24.01.2013, 22:38
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Dimaz,
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8" />
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script>
$(function(){
 $('div').click(function(){
    for(var i=1; i<256; i++){
    setTimeout(function(x){
    return function() {$('div').css("background-color","RGB("+x+",200,15)").html(x)
    }}(i),200*i) }
});
});
</script>
</head>
<body>
<div style="width:330px;height:100px;">click</div>
</body>
</html>
Ответить с цитированием
  #4 (permalink)  
Старый 24.01.2013, 22:41
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от Dimaz
но только один раз. Что не так?
Один раз клик возможен или что ?
Ответить с цитированием
  #5 (permalink)  
Старый 24.01.2013, 22:43
Профессор
Отправить личное сообщение для Dimaz Посмотреть профиль Найти все сообщения от Dimaz
 
Регистрация: 25.12.2009
Сообщений: 222

Спасибо большое
Ответить с цитированием
  #6 (permalink)  
Старый 24.01.2013, 22:47
Профессор
Отправить личное сообщение для Dimaz Посмотреть профиль Найти все сообщения от Dimaz
 
Регистрация: 25.12.2009
Сообщений: 222

Сообщение от Deff Посмотреть сообщение
Один раз клик возможен или что ?
Да нет. Цвет менялся, но сразу, а не постепенно. Рони подсказал, теперь все работает. Осталось только вникнуть в весь этот код.)
Ответить с цитированием
  #7 (permalink)  
Старый 24.01.2013, 22:51
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Dimaz,
В вашем случае i всегда 99 было и все таймеры на одно и тоже время.срабатывал первый таймер, а все остальные уже ничего не меняли.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как сделать fullscreen -=1100=- Общие вопросы Javascript 8 30.07.2012 09:53
Как вовремя остановить анимацию poorking Общие вопросы Javascript 2 11.02.2011 19:06
Как сделать анимацию циклично? Randomizer jQuery 4 23.09.2010 21:19
Как сделать? При выходе мышкой за пределы окна браузера, начинает грузится другая стр alb Events/DOM/Window 13 01.09.2010 12:19
Как сделать постоянную проверку на javascript alb Общие вопросы Javascript 18 09.01.2010 14:05