2011-12-15 4 views
1

Можно создать дубликат:
How to loop a css background image with Jquery every few seconds?Изменение цвета CSS каждый второй

Я задаюсь вопросом, как добиться простой «анимации» эффект цветов меняется каждую секунду, и если есть способ анимации анимации это может быть еще лучше.

Я просто попытался что-то вроде:

$('.box').delay(1000).css("background","red"); 

И это не работает (функция задержки не работает) .. в любом случае мне нужно как два из них:

$('.box').delay(1000).css("background","red"); 
$('.box').delay(1000).css("background","green"); 

Чтобы он стал красным -> подождать секунду и станет зеленым -> снова станет красным.

Возможно ли это? благодаря!

+0

http://stackoverflow.com/questions/1374867/how-to-loop-a-css-background-image-with-jquery-every-few-seconds <- возможно, этот вопрос может помочь? – andrewdotnich

+4

Как очень празднично. – justis

+0

jquery.animate может делать цвета: http://jqueryui.com/demos/animate/ – Guillaume86

ответ

1

Я думаю, вы должны использовать яваскрипт setInterval метод:

Смотрите здесь: http://www.w3schools.com/jsref/met_win_setinterval.asp

так:

setInterval(function() { 
// Code to execute every second 
}, 1000); 
+3

http://w3fools.com, может быть? ;) – stecb

+1

Может быть, что-то может быть не так, но пример, который я видел, не был .. – Leto

3
setInterval(function() { 
    var box = $('.box'); 
    if (box.css('background-color') == 'red') { 
     box.css({'background-color':'green'}); 
    } 
    else { 
     box.css({'background-color':'red'}); 
    } 
}, 1000); 
+0

Есть ли способ сменить цвет? Теперь он работает, но он меняется один раз и все. – Ricardo

+0

Вы могли бы зацикливаться, но не можете сказать механизму javascript, чтобы расслабиться и обновить пользовательский дисплей без setTimeout или setInterval. Цикл без setTimeout или setInterval просто приведет к краху браузера (в конце концов). – danludwig

2
<h1 id="ho">Ho ho ho!</h1> 
<h2 id="mc">Merry Christmas!</h2> 

<script> 
    var flag = false; 
    setInterval(function() { 
     flag = !flag; 
     $("#ho").css("background", flag ? "red" : "green"); 
     $("#mc").css("background", flag ? "green" : "red"); 
    }, 1000); 
</script> 
Смежные вопросы