我不是Javascript的新手,但后来我意识到我不知道如何使用setTimeout()。
我试过这个:
$(document).ready(function(){
setTimeout('changeit()',1000); // I have also tried setTimeout('changeit',1000);
// var t = setTimeout('changeit()',1000); <--- tried also something like this.
// changeit(); <-- works when i do this.
function changeit(){
$('#hello').html('Hello World - this was inserted using jQuery');
// #hello is <p id="hello">Hello World</p>
}
})
任何人都可以帮我这个吗?
答案 0 :(得分:4)
传递对changeit
函数的引用,而不是JavaScript代码字符串。
$(document).ready(function() {
setTimeout(changeit, 1000);
function changeit() {
$("#hello").html("Hello world - this was inserted using jQuery.");
}
});
答案 1 :(得分:1)
怎么样:
setTimeout(changeit, 1000);
答案 2 :(得分:1)
这样做:
$(function() {
setTimeout(changeit, 1000);
});
function changeit() {
$('#hello').html('Hello World - this was inserted using jQuery');
}
或者这个:
$(function() {
setTimeout(changeit, 1000);
function changeit() {
$('#hello').html('Hello World - this was inserted using jQuery');
}
});
您的版本存在的问题是您正在将字符串传递给setTimeout()
,而该字符串已被评估,但到那时changeit()
超出了范围,因此无效。
另一种方法是将changeit
设为全局(根据第一个代码段)。