setTimeout的问题“函数未定义”!
此代码有什么问题?
$(document).ready(function(){
function ISS_NextImage() { //ImageSlideShow NextImage
$('.ImageSlideShow').each(function() {
alert($(".correntImage", this).text());
});
}
var t=setTimeout("ISS_NextImage();",1000);
});
答案 0 :(得分:12)
当您eval
代码时,它在全局范围内完成。由于您尝试调用的函数是本地作用域,因此失败。
将函数传递给setTimeout
,而不是将字符串传递给eval
。
var t=setTimeout(ISS_NextImage,1000);
答案 1 :(得分:3)
尝试将您的设置超时调用更改为:
var t=setTimeout(function(){ISS_NextImage();},1000);
答案 2 :(得分:1)
避免将字符串传递给setTimeout()。只需传递对函数的引用:
var t = setTimeout(IIS_NextImage, 1000);
答案 3 :(得分:0)
你也可以:
$(function() {
var t = setTimeout(new function() {
$('.ImageSlideShow').each(function() {
alert($(".correntImage", this).text());
});
}, 1000);
});
答案 4 :(得分:0)
你可以这样做:
$(document).ready(function(){
setTimeout(ISS_NextImage,1000);
});
function ISS_NextImage() {
$('.ImageSlideShow').each(function() {
alert($(".correntImage", this).text());
});
}