我是jQuery的初学者,对它有一个简单的问题。
<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领域的初学者。感谢。
答案 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)
试试这个:
$( 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;