Php 为setInterval调用的函数提供参数
我有以下功能:Php 为setInterval调用的函数提供参数,php,javascript,Php,Javascript,我有以下功能: <script> var count=900; var countM; var counter=setInterval(timer, 1000); //1000 will run it every 1 second function timer() { count=count-1; countM=Math.floor(count/60); if (count <= 0)
<script>
var count=900;
var countM;
var counter=setInterval(timer, 1000); //1000 will run it every 1 second
function timer()
{
count=count-1;
countM=Math.floor(count/60);
if (count <= 0)
{
clearInterval(counter);
return;
}
for(var i=0; i<10; i++)
{
document.getElementById("timer"+i).innerHTML=countM+"mins. "+(count%60)+ " secs"; // watch for spelling
}
}
</script>
var计数=900;
var-countM;
var计数器=设置间隔(计时器,1000)//1000将每1秒运行一次
函数计时器()
{
计数=计数-1;
countM=数学楼层(计数/60);
如果(计算)
'我想给它一个参数,称之为“count”'
如下所示:
function createTimer(count) {
var countM,
counter=setInterval(timer, 1000);
function timer()
{
count -= 1;
countM = Math.floor(count/60);
if (count <= 0) {
clearInterval(counter);
return;
}
for(var i=0; i<10; i++) {
document.getElementById("timer"+i).innerHTML=countM+"mins. "+(count%60)+ " secs";
}
}
}
如果您希望不同的跨距具有不同的计数器,则可以执行以下操作:
function createTimer(count, elementID) {
// code exactly the same as above function except
// remove the `for` loop and just reference the elementID
// passed into the function:
document.getElementById(elementID).innerHTML=countM+"mins. "+(count%60)+ " secs";
}
createTimer(900, 'timer1');
createTimer(200, 'timer2');
// etc.
演示:像这样吗
var counter = window.setInterval(function() {
timer('parameter');
}, 1000);
我看不出javascript和PHP部分之间的关系。使用函数原型创建带有默认参数的函数
timer.bind(null,count-1);
第一个参数是函数上下文(null表示全局),从左开始为函数参数设置以下可选参数。结果是新函数。因此在代码中:
function timer(count) {
console.log(count); // do some stuff
if(count>0) setTimeout(timer.bind(null,count-1),1000);
}
timer(10); // counts from 10 to 0 in 1s interval
请看您没有发布调用函数的方式和位置。我也不明白span
元素如何调用函数。span元素显示计时器,它是一个倒计时计时器,我添加了$theCounter变量来显示不同的计时器!啊。我还注意到var counter=setInterval(timer,1000)
现在就加入你的代码。因此,与span
元素交互不会启动函数,而是立即调用。你问题的标题提出了其他建议,让我感到困惑。谢谢你的回答,问题是我在我的网页中的一个表的计时器中显示,使用,我如何在php上调用函数?谢谢s@user2465233:这是一个JavaScript函数。您不能在PHP中调用它。只需将createTimer(900);
放在函数定义之后。如果您想使用PHP变量值而不是900
,请执行与HTML中相同的操作:createTimer();
。哦!这是一种具有逻辑性的方法,让我试试,非常感谢!
timer.bind(null,count-1);
function timer(count) {
console.log(count); // do some stuff
if(count>0) setTimeout(timer.bind(null,count-1),1000);
}
timer(10); // counts from 10 to 0 in 1s interval