如何在javascript中连续执行代码?

时间:2016-04-20 13:11:51

标签: javascript php jquery html

我有一个HTML文件和一个PHP文件。 index.php显示一个传递给servo.php的值。 servo.php将值写入名为/ dev / servoblaster的文件中。

目前只有单击带有我的功能的按钮才会显示该值。 我希望显示并连续发送 ,而不是按一下按钮。

这两个文件可以在这里找到: servo.php index.html

功能:(您也可以在HTML文件中找到它)

    function tilt() { var tilt = document.getElementById("tiltRange").value;
                      document.getElementById("tilt_Range").innerHTML = tilt;
                      var xhttp = new XMLHttpRequest();
                      xhttp.open("GET", "servo.php?dir=P1-11=" + tilt, true);
                      xhttp.send();
                    }

HTML文件的正文标记:

    <button onclick="tilt()">Tilt</button>

    <input type="range" id="tiltRange" value="140" max="170" min="60">

    <text id="tilt_Range"></text>

4 个答案:

答案 0 :(得分:10)

您可以使用setIntervaln秒调用一次脚本:

setInterval(tilt, 5000); 

每5秒钟拨打一次tilt() ......

编辑:

添加了clearInterval示例:

var doIt = setInterval(tilt, 5000);

然后你可以这样清除/停止它:

clearInterval(doIt) 

所以你应该为你的&#34;停止&#34;分配一个点击处理程序。按钮,调用clearInterval。

答案 1 :(得分:3)

您可以使用setInterval以特定时间间隔执行任何代码。

 setInterval(function () {
           document.getElementById("tiltRange").value;
                          document.getElementById("tilt_Range").innerHTML = tilt;
                          var xhttp = new XMLHttpRequest();
                          xhttp.open("GET", "servo.php?dir=P1-11=" + tilt, true);
                          xhttp.send();

        },30000);

答案 2 :(得分:0)

本页上“ Dhara Parmar”的答案对我有用。

我需要一个滚动事件触发器,例如当用户向下滚动到某个位置的网页时,会发生一个事件,例如弹出窗口或警报消息。

这里是一个例子:

setInterval(function () 
    {
        if ($(window).scrollTop() > 1200) // at what scroll position 
            {
                alert("hello");
            }

    }, 10); // time repetition interval in milliseconds

答案 3 :(得分:0)

在这种情况下,可以使用以下语法使用setInterval:

var interval = setInterval(function () 
{
    var tilt = document.getElementById("tiltRange").value;
               document.getElementById("tilt_Range").innerHTML = tilt;
               var xhttp = new XMLHttpRequest();
               xhttp.open("GET", "servo.php?dir=P1-11=" + tilt, true);
               xhttp.send();
}, 5000);

当您想阻止它执行该操作时,只需执行以下操作:

clearInterval(interval);

希望有帮助:) 让我知道不是这种情况