2013-01-10 56 views
2

我有以下的javascript代碼:採取jQuery的變量javascript函數

// timer code 
    var count=120; 
    var pars = 0; 
    var counter=setInterval(timer, 1000); // will run it every 1 second 
    var redirect="index.php"; 

    function timer(){ 
     if (count <= 0){ 
     window.location = redirect; 
     } else{ 
      if(pars == 1){ 

      } else { 
      count=count-1; 
      } 
     } 
     document.getElementById("timer").innerHTML=":" + count ; 
    } 

這顯示DIV#定時器的定時器,我需要它有一些鏈接點擊如下暫停:

$(".quad").click(function(){ 
    pars = 1; 
}); 

由於我是JavaScript新手,我認爲這個問題是由全局&私有變量引起的。 你能幫我嗎?

+0

您可能想要查看使用JQuery Widget工廠,它爲您管理了很多工作,如http://jqueryui.com/widget/和http://onallthingsweb.wordpress.com/2013/01/05/building-jquery-widgets-part-1/ –

+0

你遇到的實際問題是什麼?你會得到一個錯誤(如果是這樣,是什麼?),還是隻是不像你期望的那樣工作? – GreyBeardedGeek

+0

即使變量pars不等於1,計時器功能也不會暫停 – housamz

回答

2

您的代碼適用於我。確保文件被加載後您的。點擊事件註冊:

$(document).ready(
    $(".quad").click(function(){ 
     pars = 1; 
    }); 
}); 

你也應該使用

window.location.href = redirect; 
+0

onload事件是關鍵:) – Nick

+0

感謝兄弟,這給了我解決方案:) – housamz

+0

@xyro請選擇我的答案作爲正確的答案:) –

1

它的運行OK here做重定向,太。這假設他人負責的onload功能。

這是更好的使用:

 if(pars != 1){ 
     count=count-1; 
     } 
0

確保兩個代碼片段都在同一範圍內的工作。如果您的回調代碼位於document.ready回調中,請將計時器代碼移至回調中。