Как сделать анимацию элемента?
Привет всем. Хочу, чтобы при клике по div-у каждые 200 мс изменялся его цвет. Цвет меняется, но только один раз. Что не так?
$('div').click(function(){
for(var i=1; i<100; i++){
setTimeout(function(){
$('div').css("background-color","RGB("+i+",200,15)");
},200);
}
});
|
|
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>
|
Цитата:
|
Спасибо большое:)
|
Цитата:
|
Dimaz,
В вашем случае i всегда 99 было и все таймеры на одно и тоже время.срабатывал первый таймер, а все остальные уже ничего не меняли. |
| Часовой пояс GMT +3, время: 02:02. |