Repeat code every 4 seconds

后端 未结 6 2076
遇见更好的自我
遇见更好的自我 2021-01-04 04:07

I want repeat this code every 4 seconds, how i can do it with javascript or jquery easly ? Thanks. :)

$.get(\"request2.php\", function(vystup){
   if (vystup         


        
相关标签:
6条回答
  • 2021-01-04 04:33
    setInterval(function(){
      // your code...
    }, 4000);
    
    0 讨论(0)
  • 2021-01-04 04:33

    Call a Javascript function every 2 second continuously for 20 second.

    var intervalPromise;
    $scope.startTimer = function(fn, delay, timeoutTime) {
        intervalPromise = $interval(function() {
            fn();
            var currentTime = new Date().getTime() - $scope.startTime;
            if (currentTime > timeoutTime){
                $interval.cancel(intervalPromise);
              }                  
        }, delay);
    };
    
    $scope.startTimer(hello, 2000, 10000);
    
    hello(){
      console.log("hello");
    }

    0 讨论(0)
  • 2021-01-04 04:36

    Another possibility is to use setTimeout, but place it along with your code in a function that gets called recursively in the callback to the $.get() request.

    This will ensure that the requests are a minimum of 4 seconds apart since the next request will not begin until the previous response was received.

     // v--------place your code in a function
    function get_request() {
        $.get("request2.php", function(vystup){
           if (vystup !== ""){
              $("#prompt").html(vystup)
                          .animate({"top": "+=25px"}, 500)
                          .delay(2000)
                          .animate({"top": "-=25px"}, 500)
                          .delay(500)
                          .html("");
            }
            setTimeout( get_request, 4000 ); // <-- when you ge a response, call it
                                             //        again after a 4 second delay
        });
    }
    
    get_request();  // <-- start it off
    
    0 讨论(0)
  • 2021-01-04 04:43

    Use setInterval function

    setInterval( fn , miliseconds )
    

    From MDC docs:

    Summary

    Calls a function repeatedly, with a fixed time delay between each call to that function.

    Syntax

    var intervalID = window.setInterval(func, delay[, param1, param2, ...]);
    var intervalID = window.setInterval(code, delay);
    

    where

    intervalID is a unique interval ID you can pass to clearInterval().

    func is the function you want to be called repeatedly.

    code in the alternate syntax, is a string of code you want to be executed repeatedly. (Using this syntax is not recommended for the same reasons as using eval())

    delay is the number of milliseconds (thousandths of a second) that the setInterval() function should wait before each call to func. As with setTimeout, there is a minimum delay enforced.

    Note that passing additional parameters to the function in the first syntax does not work in Internet Explorer.

    Example

    // alerts "Hey" every second
    setInterval(function() { alert("Hey"); }, 1000);
    
    0 讨论(0)
  • 2021-01-04 04:53
    const milliseconds = 1000 
    
    setInterval(
      () => { 
      // self executing repeated code below
    
    }, milliseconds);
    
    0 讨论(0)
  • 2021-01-04 04:57

    It's not too hard in javascript.

    // declare your variable for the setInterval so that you can clear it later
    var myInterval; 
    
    // set your interval
    myInterval = setInterval(whichFunction,4000);
    
    whichFunction{
        // function code goes here
    }
    
    // this code clears your interval (myInterval)
    window.clearInterval(myInterval); 
    

    Hope this helps!

    0 讨论(0)
提交回复
热议问题