每4秒重复一次代码
Repeat code every 4 seconds
我想每4秒重复一次这段代码,如何使用javascript或jquery?谢谢。:)
$.get("request2.php", function(vystup){
if (vystup !== ""){
$("#prompt").html(vystup);
$("#prompt").animate({"top": "+=25px"}, 500).delay(2000).animate({"top": "-=25px"}, 500).delay(500).html("");
}
});
使用setInterval函数
setInterval( fn , miliseconds )
来自MDC文档:
摘要
重复调用一个函数,每次调用该函数之间有固定的时间延迟。
语法
var intervalID = window.setInterval(func, delay[, param1, param2, ...]);
var intervalID = window.setInterval(code, delay);
其中
intervalID是一个可以传递给clearInterval()的唯一间隔ID。
func是要重复调用的函数。
code在替代语法中,是要重复执行的代码字符串。(不建议使用此语法,原因与使用eval()相同)
delay是setInterval()函数在每次调用func之前应等待的毫秒数(千分之一秒)。与setTimeout一样,有一个强制的最小延迟。
请注意,以第一种语法向函数传递附加参数在Internet Explorer中不起作用。
示例
// alerts "Hey" every second
setInterval(function() { alert("Hey"); }, 1000);
setInterval(function(){
// your code...
}, 4000);
这在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);
希望这能有所帮助!
另一种可能性是使用setTimeout
,但将其与代码一起放在函数中,该函数在$.get()
请求的回调中被递归调用。
这将确保请求之间至少间隔4秒,因为在收到上一个响应之前,下一个请求不会开始。
// 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
const milliseconds = 4000
setInterval(
() => {
// self executing repeated code below
}, milliseconds);
连续20秒,每2秒调用一个Javascript函数。
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"); }
相关文章:
- 可能只在for循环内部运行一次代码块
- 在单击事件中,第一次单击时激发代码一次,其余代码在所有单击时运行
- JavaScript 只在 php 代码中执行一次
- 是否有脚本/代码可以一次将链接属性添加到多个链接
- 计划每60秒运行一次代码
- ASP.NET:每5分钟从代码后面调用一次弹出窗口
- 为什么我的代码可以在chrome上工作,而不是一次使用cordova编译
- 代码只执行一次,但应该继续执行
- 有没有可能的方法可以在一次ASP按钮单击中同时显示JavaScript和服务器端代码中的消息
- 我想单击一个按钮,一次只执行已经制作的程序中的一行代码.(JavaScript)
- 浏览器化只执行一次模块代码,在多个需要调用上
- 如何获取单击元素的类值,并使用此值在 jquery 中最后一次出现此类之后放置一段 html 代码
- 如何在文本区域的焦点上执行一次代码
- 强制键控事件每个键代码仅触发一次
- 如何修复此代码以显示 10 秒并一次又一次地永远隐藏 10 秒
- Javascript - 滚动事件的效率,仅运行一次代码
- Keydown只运行一次代码
- 每10秒执行一次代码,但也从0秒开始
- 每隔几秒钟只在setInterval函数内执行一次代码
- 每4秒重复一次代码