如何在jquery中使用不同的值多次调用函数

如何在jquery中使用不同的值多次调用函数,jquery,function,timer,call,Jquery,Function,Timer,Call,我有一个函数,我想用不同的值同时调用它两次或三次,例如: var stopClock = false; function myTimer(clockTime, inClockFunction) { stopClock = false; ChatClock = { totalSeconds: 0, start: function () { this.interval = setInterval(function () {

我有一个函数,我想用不同的值同时调用它两次或三次,例如:

var stopClock = false;

function myTimer(clockTime, inClockFunction) {

    stopClock = false;
    ChatClock = {
        totalSeconds: 0,
        start: function () {
            this.interval = setInterval(function () {
                if (!stopClock) {
                    inClockFunction()
                }
                else {
                    ChatClock.pause();
                }
            }, clockTime);
        },
        pause: function () {
            clearInterval(this.interval);
            delete this.interval;
        }
    };  
    ChatClock.start();  
}

var time1 = 5000;
var func1 = function() {
   alert(time1)
   stopClock = true;
}
myTimer(5000, func1 )

var time2 = 8000;
var func2 = function() {
    alert(time2)
}
myTimer(8000, func2 )

func2不会显示警报,因为在func1中stopClock变量已更改为true,如何使用不同的值调用多次?

您的变量
stopClock
是全局变量,因此两个函数访问相同的变量值。只在函数内部初始化变量,应该可以。这是给你的

您的javascript有更多的公共/私有变量和函数冲突。下面是另一个修复了所有这些问题(代码运行所必需的)


你能告诉我们这段代码在做什么,你想实现什么吗?一点也不清楚。我希望它为聊天室做一些工作,每5秒它将从数据库中获取数据,每8秒将向用户显示数据。我记得可以为timer定义一个类,并调用两个具有不同值的新类,在这里我不知道怎么做,你确实解决了秒表问题,但我发现另一个问题,秒表不能停止func1,func1将每5秒显示一次,当我希望它只显示func1警报一次时,请帮助解决这个问题too@MojtabaSh我已经修改了我的答案。主要问题是公共和私有变量的错误声明
var timeris = function myTimer(clockTime, inClockFunction) {

    var stopClock = false;
    var ChatClock = {
        totalSeconds: 0,
        start: function () {
            this.interval = setInterval(function () {
                if (!stopClock) {
                    stopClock = inClockFunction();
                }
                else {
                    ChatClock.pause();
                }
            }, clockTime);
        },
        pause: function () {
            clearInterval(this.interval);
            delete this.interval;
        }
    };  
    ChatClock.start();  
}

var time1 = 5000;
var func1 = function() {
   alert(time1);
   return true;
}
aa = new timeris(5000, func1 );

var time2 = 8000;
var func2 = function() {
    alert(time2);
    return false;
}
bb = new timeris(8000, func2 );