2015-11-06 91 views
0

下面的代碼foreach循環動畫延遲+ 1S

@keyframes example { 
    100% {background-color: grey;} 
} 
<?php 
$code = 1432; 
$arr1 = str_split($code); 
$css = ''; 
foreach ($arr1 as $value) { 
    $css .= '#btn' . $value . ' {'; 
    $css .= 'animation-name:example;'; 
    $css .= 'animation-duration:1s;'; 
    $css .= 'animation-delay:0.5s;'; 
    $css .= '}'; 
} 

echo $css; // output variable 
?> 

創建這樣的輸出:

#btn1 {animation-name:example;animation-duration:1s;animation-delay:0.5s;} 
#btn4 {animation-name:example;animation-duration:1s;animation-delay:0.5s;} 
#btn3 {animation-name:example;animation-duration:1s;animation-delay:0.5s;} 
#btn2 {animation-name:example;animation-duration:1s;animation-delay:0.5s;} 

我的問題是,這四個動畫開始在同一時間。我應該在我的foreach循環中添加什麼,每個動畫延遲1秒。在這個例子中,#btn1在一秒後變成動畫#btn4等等?我知道我需要改變動畫延遲每次加1秒,但我不知道如何。 :/

回答

2
foreach ($arr1 as $index => $value) { 
    $css .= '#btn' . $value . ' {'; 
    $css .= 'animation-name:example;'; 
    $css .= 'animation-duration:1s;'; 
    $css .= 'animation-delay:' . $index . 's;'; 
    $css .= '}'; 
} 
+0

延時0秒對我來說毫無意義..除此之外它還是不錯的 – Andrew

+0

謝謝!這就是我正在尋找的東西,我接受你的答案在8分鐘內:) – klamertd

+1

@Andrew延遲爲0將表明沒有延遲,即如果用戶想要第一個動畫立即開始。他們可以簡單地將它寫成'($ index + 1)',讓所有的動畫從1秒開始,然後是2秒,然後是3秒。 – Quantastical