2011-07-26 98 views
0

我們有一些銷售團隊。對於這些銷售團隊,我們有一個排行榜。每次其中一人進行銷售時,揚聲器上的聲音將通過瀏覽器播放,該瀏覽器每2分鐘刷新頁面並檢查是否存在差異。一旦看到不同之處,它就會發揮團隊的聲音。播放已延遲聲音在瀏覽器中使用JavaScript

以前的聲音會一起含糊,因爲我會打電話像這樣的功能:

setTimeout(sounds[team_id].play(), delayTime); 

我想通了,我必須使它成爲一個功能基準點,通過刪除()。在這種情況下,我似乎無法向該參考點發送一個參數。

轟然倒下了兔子洞後,瀏覽器漏洞和意外mutings後,我厭倦了我做事情的方式。我不認爲這是最佳的。

我需要從任何位置(不,我不會盜鏈)沒有堅持的setTimeout播放聲音文件的好方法。我想與jQuery的delay()函數有關。

回答

1

jQuery的延遲功能是基於setTimeout,如將是任何其他圖書館提供的任何其他基於時間延遲或功能。

我沒有看到爲什麼你的煩惱 - 封閉應該能夠處理你的情況描述:

setTimeout(function() { 
    sounds[team_id].play() 
}, delayTime); 

假設team_id是球隊誰的聲音,你想打的id ,並且team_id在您撥打setTimeout的範圍內可用。在沒有看到完整的代碼的情況下,很難確定任何潛在的問題。

+0

我明白了,我可以證實,聲音也被接納到瀏覽器中,而只能通過使用硬編碼方法的各種蹩腳的解決方法。 (還有,我聽不到它在瀏覽器)的問題主要在於,我現在可以增加對每個業務員都有自己聲音的能力,而我只是沒有硬編碼。另外,如果我玩(),似乎所有的聲音都會一起玩,因爲它們需要一個參考函數。 –

+0

我不知道你的意思是「參考函數」。你可以發佈更多的代碼 - 特別是定義了'sounds'和'team_id'的部分嗎? –