Вы можете использовать JavaScript-метод setInterval() для повторного выполнения функции через определенный период времени. Метод setInterval() требует наличия двух параметров, первый из которых обычно является функцией или выражением, а второй — временной задержкой в миллисекундах.

В следующем примере функция showTime() вызывается повторно через каждые 1000 миллисекунд (1 секунду), пока вы не прикажете ей остановиться. Давайте посмотрим, как это работает:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>The JavaScript setInterval() Method</title>
<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
<script>
    var myVar;    
    function showTime(){
        var d = new Date();
        var t = d.toLocaleTimeString();
        $("#demo").html(t); // display time on the page
    }
    function stopFunction(){
        clearInterval(myVar); // stop the timer
    }
    $(document).ready(function(){
        myVar = setInterval("showTime()", 1000);
    });
</script>
</head>
<body>
    <p id="demo"></p>
    <button onclick="stopFunction()">Stop Timer</button>
</body>
</html>

Однако лучший подход — использовать функцию setTimeout(), потому что, в отличие от setInterval() с функцией setTimeout() вы можете дождаться полного выполнения функции перед ее повторным вызовом. Вот пример:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>The JavaScript setTimeout() Method</title>
<style>
    img{
        display: none;
    }
</style>
<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
<script>
    var myVar;    
    function showImage(){
        $("img").fadeIn(750).fadeOut(750);
        myVar = setTimeout(showImage, 2000);
    }
    function stopFunction(){
        clearTimeout(myVar); // stop the timer
    }
    $(document).ready(function(){
        showImage();
    });
</script>
</head>
<body>
    <button onclick="stopFunction()">Stop Image Transition</button>
    <p>
        <img src="images/sky.jpg" alt="Cloudy Sky">
    </p>
</body>
</html>

В приведенном выше примере функция showImage() вызывается каждый раз через 2000 миллисекунд (2 секунды) после того, как переход изображения нарастает и затухает полностью.

Читайте также

Насколько публикация полезна?

Нажмите на звезду, чтобы оценить!

Средняя оценка 5 / 5. Количество оценок: 1

Оценок пока нет. Поставьте оценку первым.