2010-12-02 2 views
0
function updateimage(){ 
$("#fileimg").attr("src","secondimage.jpg"); 
$('#fileimg').fadeIn('slow'); 
} 
setTimeout(updateimage(), 5000); 

Это код, который я попробовал. Его код для перезагрузки изображения каждые 5 секунд. Но это не сработает. Я получаю эту ошибку в IE: Недопустимый аргумент Можете ли вы мне помочь? Благодарю.Время ожидания не работает

ответ

1

2 варианта.

SetTimeout ("updateimage()", 5000)

или

setTimeout(function() { 
    updateimage(); 
}, 5000); 
+0

Вам нужно больше возможностей! :) – epascarello 2010-12-02 17:56:36

+0

Когда я ударил «Ответ», ответов не было. Когда я отправил свой ответ, мы еще 4. ЛОЛ. – Gregg 2010-12-02 18:04:25

7

Вы должны пройти действительную функцию в качестве аргумента, а не призыв:

setTimeout(updateimage, 5000); 
0
setTimeout(updateimage(), 5000); 

Снимите скобку из updateimage, так что:

setTimeout(updateimage, 5000); 
+0

Неа Безразлично, т работать – Thew 2010-12-02 18:08:01

0

Как и другие заявили, вы вызываете это неправильно.

Что там у вас:

function updateimage(){ 
$("#fileimg").attr("src","secondimage.jpg"); 
$('#fileimg').fadeIn('slow'); 
} 

setTimeout(updateimage(), 5000); 

При выполнении этого проедет результата из updateImage() к setTimeout() вызова. Как ваша функция не возвращает никакого значения, вы в действительности на самом деле говорят:

setTimeout(null, 5000); 

Передайте функцию по имени, как будто это переменная с таким именем, которое на самом деле это.

setTimeout(updateimage, 5000); 
0

Согласно майкрософт документации here это параметр должен быть указателем на функцию или строку. Таким образом, оба twerks ниже будут работать.

Метод 1

setTimeout(updateimage, 5000); 

Метод 2

setTimeout("updateimage", 5000); 
Смежные вопросы