2010-01-26 71 views
1

內更新了一些我有以下代碼:jQuery的一個div

function tryToDownload(url) { 
    oIFrm = document.getElementById('download'); 
    oIFrm.src = url; 
    //alert(url); 
} 

function downloadIt(file) { 
    var text = $("#downloaded").text(); 
    setTimeout(function(){ $("#downloadBar").slideDown("fast") }, 700); 
    setTimeout('tryToDownload("index.php?fileName='+file+'")', 400); 
    setTimeout(function(){ $("#downloadBar").slideUp("fast") }, 5000); 
} 

並且存在與ID的DIV「已下載」。所以代碼是

<div id="downloded">230</div> 

230顯示該項目被下載230次。我想要做的是,當有人點擊下載時,它會更新230到231.如何用jquery幫助。

回答

1

把這個的downloadIt()函數內所有的下一個定時器,被稱爲之後

var curr_val = $('#downloaded').text(); 
var new_val = parseInt(curr_val)+1; 
$('#downloaded').text(new_val); 
+0

感謝您的快速回復。 :)感謝大家的幫助= P。 – Ahsan 2010-01-26 10:06:22

0

如何:

var num = $("div#downloaded").html(); 
var num_new = parseInt(num, 10) + 1; // number add here as you want 
$("div#downloaded").html(num_new); 
0

類似於th是會做:

i = parseInt($("#downloaded").text()); 
$("#downloaded").text((i+1)); 
0
var downloadCount = Number($("#downloaded").text); 
$("downloaded").text(downloadCount + 1); 

第一部分獲取文本中該元素並重新蒙上它的數量,從而避免了在那裏你可以得到的「2301」,而不是「231」的任何問題。第二部分將文本設置爲值+1。

將其包裝到函數中並在單擊下載時調用該函數。

0

這個怎麼樣腳本:

<html> 
    <head> 
    <title>My Title</title> 
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.0/jquery.min.js"></script> 
    <script type="text/javascript"> 
     $(function(){ 
      var total_download = 0; 
      $("#download-it").click(function(){ 
      total_download = total_download + 1; 
      $("#downloaded").text("Downloaded: " + total_download); 
return false; 
      }); 
     }); 
    </script> 
    </head> 
    <body> 
    <form> 
     <div id="downloaded">Downloaded: 0</div><br /> 
    <a id="download-it" href="#">click me!</a> 
    </form> 
    </body> 
</html> 
+0

很棒.. !!它的工作就像一個魅力 – Ahsan 2010-01-26 10:22:27

1

這是使用新的jQuery 1.4辣味:-)

$("#downloaded").text(function (i,current) { return parseInt(current)+1;}) ; //Works with jQuery1.4 and above 

如果你給一個函數與.text區段()的第二個參數是一個機會當前值,所以你可以在你想要的功能中使用它。

編輯:你可以使用return + current + 1;而不是return parseInt(current)+1;這樣你就可以得到0 + 1 = 1而不是NaN + 1 = NaN,以防你用空格開始。

+0

+ 1爲非常jqueryish一線性方法。 – 2010-01-26 10:35:27