jQuery设置超时函数
这个函数有什么问题jQuery设置超时函数,jquery,Jquery,这个函数有什么问题 function getTuittingCookie() { var tuitting_cookie = $.cookie("tuittingID"); $("#tuittingID").val(tuitting_cookie); //alert(tuitting_cookie); setTimeout(getTuittingCookie, 2000); } 它应每2秒在字段上写入一次值: <input id="tuittingID" style="display:n
function getTuittingCookie() {
var tuitting_cookie = $.cookie("tuittingID");
$("#tuittingID").val(tuitting_cookie);
//alert(tuitting_cookie);
setTimeout(getTuittingCookie, 2000);
}
它应每2秒在字段上写入一次值:
<input id="tuittingID" style="display:none" value=""/>
但是它却什么也没写
您能帮我一下吗?您可能想写入div,而不是输入,或者您的输入需要一个type属性,不应该显示为:none
(另外,可能要说明一个明显的问题,确保调用了函数,并且cookie实际上包含内容。)是否在代码中调用函数
gettuitingcookie()
。
这段代码对我有效,请参见
而不是使用代码
你可以用
<input id="tuittingID" type="hidden" value=""/>
假设您首先调用此函数,一切看起来都很好
$.cookie()
如果找不到cookie并使用.val(null)为输入值赋值,则将返回null
代码>是可以接受的
至于调用该函数,您可能希望在中这样做:
您还可以考虑使用隐藏的输入<代码> <代码>,因为它自动隐藏自己,而不必对显示大惊小怪:没有。
同样,这也是有争议的,但是使用字符串表达式而不是函数名本身来调用setTimeout()可能更安全,以避免空引用
setTimeout('getTuittingCookie()', 2000);
这个代码在我现在的兄弟身上运行得很好
$(document).ready(function() {
setTimeout(function(){
getTuittingCookie();
}, 2000);
});
function getTuittingCookie() {
var tuitting_cookie= Math.floor(Math.random()*11)
$("#tuittingID").val(tuitting_cookie);
}
附带问题:为什么不使用
而不是添加style=“display:none”
?或者正如Ray Toal所问,您是否打算使用隐藏的div
?
setTimeout('getTuittingCookie()', 2000);
$(document).ready(function() {
setTimeout(function(){
getTuittingCookie();
}, 2000);
});
function getTuittingCookie() {
var tuitting_cookie= Math.floor(Math.random()*11)
$("#tuittingID").val(tuitting_cookie);
}