2010-01-26 72 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