将$(this)DOM元素传递给函数

时间:2015-11-07 09:46:25

标签: jquery function timer this

我正在尝试创建某种计时器,我希望能够在某些时间内触发并在结束时执行某项任务:

这是我到目前为止所做的,

<span onclick='setTimeout(start_timer_j.call(this,event)'></span> "

单击文本时,将调用函数jquery函数

这是jquery函数:

function start_timer_j(event){
    var el = $(this);
    var count = 1000;
    var counter= setInterval(timer, 100);
    function timer(this){
        $(this).text('k');
        count -=1;
    }
    el.text('k');
}

我的问题是传递这个似乎并没有让函数知道变量,我也尝试传递var el和$(this)。 还有一个问题,你有什么办法可以暂停和重播计时器吗?

谢谢

2 个答案:

答案 0 :(得分:1)

我觉得你正在寻找类似的东西:

"id"

clearInterval(计数器);和setInterval(timer,100);可以用来暂停和重播计时器。

答案 1 :(得分:0)

除了之前的回答,这是做同样事情的另一种方式。

<span onclick='setTimeout(start_timer_j(event),0)'></span>

function start_timer_j( event) {
       var el = $(event.currentTarget); //This will give you the originating element. Then wrap it in jQuery.
       var count = 1000;
       var counter = setInterval(timer, 100);
        function timer(e) {

            el.text('k');
            count -=1;
        }
        el.text('k');
}