div上的JQuery计数器

时间:2015-11-14 13:13:03

标签: php jquery

我是jQuery的初学者,对它有一个简单的问题。

我的php脚本是:

<html>
<body>  
<?php
$counter = 1;
while ($counter<=10) {
echo $counter;\\want jquery counter here which run on screen from 1 to 10
$counter++; 
}
?>
</body>

如果我运行这个脚本,我得到以下输出,比如 12345678910

我的问题是,如何在jQuery中重现这一点,以便我可以在我的屏幕上获得计数器,在一个地方从1到10,&amp;屏幕上的最终输出为10。

如果可能的话,请发布完整的脚本,在这个领域更快地取得进展将非常有帮助。我尝试其他来源,但他们的脚本不适合像jquery领域的初学者。感谢。

3 个答案:

答案 0 :(得分:1)

可能的例子 https://jsfiddle.net/1gtr6vx3/

第一个html,包括一个专注于

的ID
<div id="counter"></div>

你实际上并不需要你提出的问题。只是javascript(可以没有jquery,但我喜欢jquery)就足够了

var step = 1;
var max = 10;
function add_to_count(){
    if(step++ <= max)
    {
        jQuery("#counter").text(step);
        window.setTimeout(add_to_count,1000);
    }
};

window.setTimeout(add_to_count,1000);

代码很多:设置初始步长值(1)

设置最大步长值(10)

创建一个功能,在步骤中添加1,将其与最大值进行比较以查看是否已完成,如果未完成则在计数器div上显示

使用超时执行以上所有操作,以便用户实际看到它变为hapening(第一个是调用第二个的函数是以毫秒为单位调用的时间)

答案 1 :(得分:1)

您正在使用php - 在您的浏览器实际收到之前,数字12345678910正在添加到您的页面中。您应该在JavaScript中执行此操作。

如果你想让php输出JavaScript / jQuery,你可以简单地回复代码:

<?php
    echo "<script>$(document).ready(function(){ code here... });";
?>

但是从你想要做的事情你不需要php ... php是服务器端脚本,所以执行脚本并生成页面然后发送到你的浏览器进行显示...计数器不是“就你的浏览器而言,是”活着的。

你应该使用像setTimeout()这样的函数来定期显示和更新你的计数器。

你有没有理由在这里尝试使用php?

答案 2 :(得分:1)

试试这个:

&#13;
&#13;
$( document ).ready(function() {
    	var handle;
        var counter=0;             
    	handle = setInterval(function(){
           counter = counter + 1;
           $('#value').text(counter); 
           if (counter == 10) clearInterval(handle);          
        }, 400); 		
});    
   
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span> counter:  </span>
<span id="value"></span>
&#13;
&#13;
&#13;