2012-11-21 43 views
1

在PHP中製作不斷循環的字符串的有效方法是什麼?不斷循環的字符串

我試着讓這個這些字符之間的字符串$ R週期:

-

\

|

/

因此,它看起來好像是回聲時的動畫。我試圖使一個無限循環這樣的:

while(1) { 
    $r = "-"; 
    $r = "\"; 
    $r = "|"; 
    $r = "/"; 
} 

,但該網頁將不會加載,所以我認爲它不會加載,因爲它直到循環結束後不會加載任何內容。

+3

這應該是在客戶端完成,而不是在PHP。 –

+1

那麼你會建議我在Javascript中使用它嗎? – AlphaDelta

+4

有很多很漂亮的動畫加載gif,看起來會少一些chessey。甚至一個應用程序,使自己的:http://ajaxload.info/ – 2012-11-21 02:40:03

回答

5

while(1)只是要鎖定瀏覽器。這需要用JavaScript來完成,但即使如此,你仍然會遇到麻煩。

+0

那麼我怎麼能在Javascript中實現這一點? – AlphaDelta

0

這可以在PHP中完成,但這樣做沒有意義。

您只需要echo $r;並打開輸出緩衝。你必須回顯一些Javascript來清除屏幕上已有的內容,然後回顯新的角色。但這實在是一個糟糕的主意。我已經看到加載這樣的酒吧,但是,曾經是(仍然是?)一個基於它的圖書館。

+0

證明它,顯示代碼,它的旋轉,沒有頁面刷新:-) – 2012-11-21 02:45:13

+0

我正準備接受你的挑戰'直到我花了20分鐘重新配置nginx允許增量緩衝。我發誓它曾經比這更容易!然後我再次用xampp在Windows上做這個..嗯,時代已經改變了。看看http://us1.php.net/manual/en/function.flush.php - 這實際上很容易做到正確的設置。 –

1

見我的這個答案:javascript spinner for grails

document.getElementById("button").onclick = function() { 
    var spinner = document.getElementById("spinner_container")​​​​; 
    spinner.anim_mode = 0; 
    var animation = ["|", "/", "–", "\\"] 
    var spin = function() { 
     spinner.anim_mode = (spinner.anim_mode + 1) % animation.length; 
     spinner.innerHTML = animation[spinner.anim_mode]; 
    }; 
    spin(); 
    setInterval(spin, 100); 
};​ 

http://jsfiddle.net/dGL8X/

+2

哇它的1980年代再一次:-) – 2012-11-21 02:44:03

+0

謝謝你! – AlphaDelta

+2

在按鈕上點擊幾次以獲得更多樂趣! ;) –