2013-08-21 35 views
0

我有一個遊戲網站,並使用計時器計時器來跟蹤用戶解決遊戲所花費的時間。在頁面加載後啓動Countup計時器

這裏每個遊戲都使用jquery加載函數加載到特定的div中。

代碼:$('#gamewindow').load('game.php')

我已經把計時器在 「game.php」。在大多數情況下,計時器在所有遊戲操作數和操作員加載之前開始運行(特別是頁面加載時第一次)。這需要避免。

計時器只需要在遊戲準備就緒時開始運行。

我搜索瞭解決方案,找到了一些解決方案,但哪些對我來說工作不正常。

a)sol 1:延遲一段時間後啓動定時器。即使用setTimeout函數
問題與此sol 1:我的問題不是一直髮生。所以它消耗的時間是不必要的。

b)溶膠2:使用$(window).load(function(){ });而不是$(document).ready(function(){ });

這個溶膠2的問題:因爲我已經把計時器放在內頁,$(window).load(function(){ })不工作。如果我在$(window).load(function(){ })的主頁中放置了定時器腳本,那麼定時器對於第一個遊戲而言工作正常,但對於第二個遊戲則不起作用,因爲我使用load函數加載下一個遊戲。

請幫我解決問題。

+0

爲什麼不加載遊戲(禁用),用戶點擊「開始」按鈕,遊戲就點擊啓用並啓動計時器 – hex4

回答

0

爲了確保在加載所有內容時啓動腳本,可以使用jQuery ready函數來啓動加載遊戲(不啓動計時器)。

jQuery(document).ready(function() { 
    // load game 
}); 
+0

這是第一次,我裝使用jQuery(文檔)的遊戲。就緒(function(){});功能只。而對於下一場比賽,我稱之爲javascript函數在當前比賽結束時加載比賽。 – lifeline

+0

在更改遊戲時,您可以嘗試從'load'回調(第三參數)啓動計時器。 –

+0

謝謝。現在我試着從這裏加載回調: - 引用網址:「http://api.jquery.com/load/#callback-function」。 Firefox和Chrome現在更好了。但與IE 9無關。 – lifeline