我正在尝试运行一个创建弹出窗口的代码.弹出窗口打开后,会初始化一个计数器,该计数器每秒递增一次并使用setInterval.但是,当我取消进程(clearInterval及其中)并重新打开弹出窗口时,计数器会初始化,但每秒递增两次.您可以在下面找到我的jquery脚本以供参考.请让我知道为什么我会观察这种奇怪的行为.请原谅脏代码,如果我的jquery做法错了,请随时指出.我对前端开发相当新,因此它可能是一个微不足道的问题,但我似乎无法在网上找到任何理由.期待任何投入.
// Semicolon (;) to ensure closing of earlier scripting
// Encapsulation
// $ is assigned to jQuery
;
(function($) {
var counter2 = 0;
var counter3 = 60;
var counter4 = 60;
var interval2;
var timeNow;
var canFlag = 0;
// DOM Ready
$(function() {
var checker = '';
var popClicked = 0;
var timeout = 0;
// Binding a click event
// From jQuery v.1.7.0 use .on() instead of .bind()
$('#my-button').bind('click', function(e) {
checker = $('#log').text();
popClicked = …Run Code Online (Sandbox Code Playgroud) 我需要在将来执行一个函数,所以我这样做:
setTimeout(function(){ console.log("hi");}, 3000));
Run Code Online (Sandbox Code Playgroud)
问题是我只想在 3000 毫秒过去后打印。任何人都可以帮助我吗?
我有以下代码:
var counter = 0;
setInterval(run, 10);
function run() {
counter++;
for (i=0; i<=100; i++) {
// do something complicated
}
alert(counter);
}
Run Code Online (Sandbox Code Playgroud)
出于某种原因,警报永远不会被解雇.
有谁知道这会怎么样?
按照大众需求,jsFiddle上的整个代码:
我已经尝试了设置间隔,因此应该在2秒后调用函数computercardArrange()只调用一次.但它在2秒后连续调用函数computercardArrange().如何停止,以便在2秒后只调用一次computercardArrange()函数.下面是代码.
function timer() {
setInterval(function(){
computercardArrange(); // This function should be called only one time after 2 second.
}, 2000);
}
Run Code Online (Sandbox Code Playgroud)