javascript - 清除后间隔开始两次

标签 javascript jquery

我正在尝试创建一个间隔并发送请求。它将随着单击开始并随着单击停止。开始和停止工作都很棒。但是在停止间隔后,当您再次按下按钮开始间隔时,间隔会开始两次。停止后再次启动,开始3个间隔。

这是我的代码:

var running=0
var pathArray = window.location.pathname.split( '.html' );
var pathArray = pathArray.reverse();
var pathArray = pathArray .join('');
var pathArray= pathArray .split('/');
var bidnum=pathArray[3];
    $(document).ready(function(){

        $('body').append("<div id=\"cdjs\" style=\"position: absolute; top: 30px; background-color: gray; box-shadow: 0px 0px 0px 3px; left: 30px;\">Click to start</div>");
        $('#cdjs').click(letswin); 

    });

    function checkandbid(){
            if(running==1){
                $.get("http://www.bigibid.com/LiveResponder/LR.bid?_as="+bidnum, function(data){
                    Marray = data.split("'te':'")
                    time = Marray[1].split("'")
                    time = time[0]
                    $('#cdjs').html(time);
                    if(time < 2 && able==1){
                            able=0;
                            $('#ctl00_ContentPlaceHolder1_ibBid').click();
                    }else{
                        able=1;
                    }
                });
            }
    }

        function letswin(){
            if(running==1){
                    running=0
                    clearInterval(IntRun);
                    delete IntRun;
                    $('#cdjs').html('Click to start'); 
            }else if(running==0){
                running++
                delete IntRun;
                clearInterval(IntRun);
                var IntRun = setInterval(checkandbid, 300);
                }

        }

    function bidders(){
    }

这是jsFiddle

最佳答案

您的 IntRun 变量仅在 letswin 函数内有效,并且每次调用该函数时都会重置为未定义的值。

您需要将其声明移至该函数的外部,以便在调用之间记住其值。

关于javascript - 清除后间隔开始两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9412305/

相关文章:

javascript - Jquery onclick 事件触发一次

JavaScript 在 Bootstrap 导航栏上传递数据点击

javascript - 我的 fullcalendar 插件中的弃用警告

javascript - 为什么 delay() 方法在 session 存储中不起作用?

javascript - 如何防止样式传播到下一个 LI 元素?

javascript - 简单的 Javascript : Running a function over an array

javascript - div 在 jquery 动画期间闪烁

javascript - 位置 :sticky : Adding style when the element detaches from normal flow

javascript - 单击按钮时在所有页面中显示警报

javascript - 为什么在我的页面加载后这个输入没有用 jquery 添加触发 keyup 事件?