标签: setinterval

setInterval不适用于ajax调用

我有一个getJson调用web服务,工作正常,现在我试图每10秒发出一次请求.使用带有回调函数的setInterval来触发警报弹出.我不能让它发挥作用.这是代码:

function ajxCall(){
   $.getJSON('http://api.tubeupdates.com/?method=get.status&lines=all&return=name,status,messages,status_starts&jsonp=?',
         function (result){
               $.each(result.response.lines, function(i, item){
                    $('#status').append("<p>"+item.name + " - " + item.status + " <br><b>" +item.messages + "</b> " + item.status_starts + "</p>");
               });
         }); 
    }

setInterval(ajxCall(), (10 * 1000), function(){
    alert('called!')
});
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

提前致谢,

毛罗

ajax setinterval

1
推荐指数
1
解决办法
2566
查看次数

对于一个间隔的循环?

我如何控制for循环运行的间隔?

例如

for (i=0;i<5;i++) {
    //do stuff
}
Run Code Online (Sandbox Code Playgroud)

但我希望for循环每60ms运行一次,而不是尽快运行.有点像是如何setInterval工作.

javascript for-loop setinterval

1
推荐指数
1
解决办法
4537
查看次数

延迟mousedown间隔启动(JQuery/Javascript)

我正在编写一个jQuery插件,只需按一下按钮即可操作输入字段的值.

到目前为止我所拥有的是通过单击按钮来控制值的能力,以及如果用户按下按钮则不断增加它的能力.简化,脚本是这样的:

var element = $('#test-input');
var interval;

$('#test-up-button').on({
    mousedown : function(e) {
        element.val(parseInt(element.val()) + 1);

        //Wait 400ms, than do the interval

        interval = window.setInterval(function() {
            element.val(parseInt(element.val()) + 1);
        }, 200);      
        e.preventDefault();        
    },
    mouseup : function() {
        window.clearInterval(interval);
    }
});
Run Code Online (Sandbox Code Playgroud)

(您还可以在此处查看工作版本:http://jsfiddle.net/Husar/Hxhsh/#base)

但是,正如您在注释中看到的那样,我也希望当mousedown事件发生时,在值初始增加之后,间隔函数将延迟400ms,而不是执行.

因此,您按下按钮,值变为+ 1,您按住按钮一点,然后间隔开始滚动.

javascript jquery settimeout setinterval mousedown

1
推荐指数
1
解决办法
1936
查看次数

如何计算jQuery中每个循环的总时间?

考虑重复循环

setInterval(function(){
$('.test').each(function(idx){
    var duration = 1000;
    $(this).delay(duration*idx);
    Some stuff here
});
}, 4000);
Run Code Online (Sandbox Code Playgroud)

如何计算内部循环setInterval动态设置所花费的总时间?

在这里,如果我们有4个元素带班的test,对循环用完美的作品setInterval4000.如何创建变量以动态设置此值?例如,设置它6000,当我们有6个元素时,依此类推.

我的问题是,我不能使用duration*idxfor 的值setInterval,因为它在里面idx function.

javascript each jquery setinterval

1
推荐指数
1
解决办法
1004
查看次数

JavaScript的setInterval的替代?

我需要实时显示我的内容,但是当加载这么多东西时,它占用了很多CPU并且非常迟钝.

我的代码下面有替代品吗?

$(document).ready(function() {
    var refresh_bal = setInterval(
        function (){
            $.get('./php/get_balance.php', function(balance) {
                $('.balance').html(balance);
            });
        }, 1000);

    var refresh_total = setInterval(
        function (){
            $.get('./php/get_total_bets.php', function(total) {
                $('.total').html(total);
            });
        }, 1000);

    var refresh_profit = setInterval(
        function (){
            $.get('./php/get_profit.php', function(profit) {
                $('.profit').html(profit);
            });
        }, 1000);

    $('.haa').on('click', function() {
        var refresh_bets = setInterval(
            function (){
                $.get('./php/get_bets.php', function(bets) {
                    $('.betsTable').html(bets);
                });
            }, 1000);
    });

    var refresh_site = setInterval(function (){
        $.get('./php/get_site.php', function(site) {
            $('.siteStats').html(site);
        });
    }, 1000);

    var refresh_client = setInterval(function (){
        $.get('./php/get_client.php', function(client) { …
Run Code Online (Sandbox Code Playgroud)

javascript jquery setinterval

1
推荐指数
1
解决办法
6810
查看次数

ReferenceError SetInterval未定义

我在StackOverflow上看到的几乎所有SetInterval错误都是由于将函数名称作为"字符串"传递,但也许我仍然缺少某种变量范围问题.请指教!

我正在创建一个具有暂停和播放功能的幻灯片.在播放时,我希望幻灯片每3秒前进一次.但执行一次后,启动NextSlide函数的SetInterval失败.

我试过它......

SetInterval("nextSlide()", 3000)
SetInterval(nextSlide(), 3000)
var t = SetInterval(nextSlide(), 3000)
var t = SetInterval(function(){nextSlide(), 3000)
Run Code Online (Sandbox Code Playgroud)

......每次都失败了.我在这里错过了什么?

var slide_1 = "slide_1";
var slide_2 = "slide_2";
var slideNum = 0;
var odd = true;
var totalMax = 6;
var busy = false;

var allSlides = new Array();
allSlides[0] = "test_01";
allSlides[1] = "test_02";
allSlides[2] = "test_03";
allSlides[3] = "test_04";
allSlides[4] = "test_05";
allSlides[5] = "test_06";
allSlides[6] = "test_07";

function PlaySlide(){
var t = SetInterval(nextSlide(),3000)
document.getElementById("play").style.visibility = "hidden";
document.getElementById("pause").style.visibility = "visible"; …
Run Code Online (Sandbox Code Playgroud)

javascript undefined setinterval

1
推荐指数
1
解决办法
5924
查看次数

未捕获RangeError:超出最大调用堆栈大小

我有时会在我的chrome控制台中收到一个错误,说'未捕获RangeError:超出最大调用堆栈大小' 我不确定是什么导致它但我相信它与我在我使用的JavaScript setInterval方法有关. js文件.

我使用setInterval方法在用户不活动4秒后隐藏粘性顶部导航,粘性导航在用户移动鼠标或进行按键后重新出现.

此外,虽然下面的代码正如Chrome中所描述的那样工作,但在Firefox中它只能工作一次,即粘性导航被隐藏一次并在鼠标/按键上重新显示但不会再次消失.

可能导致此错误的原因是什么?

为什么Firefox的行为与Chrome不同?

我想可能在我如何使用setInterval方法时出错.在下面的代码中,我在开始时设置间隔并在用户点击导航按钮(即.mk-nav-responsive-link)后清除间隔,然后当用户单击导航按钮关闭菜单时,我重新启动间隔方法.

<!-- CODE ABOVE OMITTED FOR BREVITY -->

    // Hide Nav on User Inactivity START
    var userInactivity = 1;
    var userInactivityInterval = setInterval(function(){userInactivityTimer()},1000);
    function userInactivityTimer(){
        if(userInactivity == 4 && jQuery(window).scrollTop() > (vh/8)){
            jQuery('.mk-nav-responsive-link img').fadeOut();
            userInactivity = 1;
        }
        userInactivity = userInactivity+1;
//        console.log(userInactivity);
//        console.log(jQuery(window).scrollTop());

        jQuery(document).bind('mousemove keypress', function() {
            jQuery('.mk-nav-responsive-link img').fadeIn();
            userInactivity = 1;
        });
    }
    // Hide Nav on User Inactivity END

    // CUSTOM DROP DOWN MENU TRANSITIONS …
Run Code Online (Sandbox Code Playgroud)

javascript jquery setinterval

1
推荐指数
1
解决办法
1万
查看次数

JavaScript - setInterval只运行一次

http://jsfiddle.net/689nauny/

setInterval()只运行一次...... WTF正在进行中?

SO正在询问更多细节,但提供一个JSFiddle就像我可以描述一样?我尝试过使用匿名函数,现在又回调了.我只是不明白吗?: - /

HTML

<script src="http://code.jquery.com/jquery-2.1.3.min.js"></script>

<div id="qanda-timer-container">
    <div class="qanda-timer">
        <span id="qanda-time-remaining"></span>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

JS

    function intervalFunc(thinkingTime, answerTime)
    {
        jQuery('#qanda-time-remaining').text(''+(thinkingTime - 1));
    }

    function enableTimer(time)
    {
        var intervalID;
        var hasThinkingTime = true;
        var thinkingTime = time;

        var hasAnswerTime = true;
        var answerTime = 10;

        if(hasThinkingTime && hasAnswerTime)
        {
            setInterval( intervalFunc(thinkingTime, answerTime), 1000);
        }

        setTimeout(function(){ 

            clearInterval(intervalID);

        }, time * 1000);
    }

enableTimer(30);
Run Code Online (Sandbox Code Playgroud)

javascript jquery setinterval

1
推荐指数
1
解决办法
1259
查看次数

setinterval非常随机地工作

嗨,

我有这个代码:

//<![CDATA[
$(window).load(function(){
setInterval(function(){ 
   // toggle the class every 10 seconds
   $('body').addClass('new');  
   setTimeout(function(){
     // toggle back after 10 seconds
     $('body').removeClass('new');  
   },10000)
},10000);
});//]]>
Run Code Online (Sandbox Code Playgroud)

该代码应该在页面首次加载后10秒后将类"new"添加到正文中,然后再次在10秒后将其删除以开始进入无限循环.但它不会按预期工作.有时它需要超过10秒才能添加类,并且它会过早删除它.有时它只做一次然后循环结束就像那样.

这里有什么不对?一个更有效和可靠的替代方案也将受到欢迎.

谢谢.

javascript setinterval

1
推荐指数
1
解决办法
36
查看次数

将JS setInterval反应到API

我想使用setInterval每小时,每小时调用一次API,我将如何实现它?

componentDidMount() {
  fetch(fullURL)
    .then((response) => response.json())
    .then((responseJson) => {
      // console.log(responseJson);
      const resultyt = responseJson.items.map(obj => "https://www.youtube.com/embed/" + obj.id.videoId);
      this.setState({resultyt});
    })
    .catch((error) => {
      console.error(error);
    });
}
Run Code Online (Sandbox Code Playgroud)

API调用存储在名为fullURL的const中

javascript setinterval reactjs

1
推荐指数
1
解决办法
2767
查看次数