代碼工作得很好,直到我添加setTimeout。現在,無論我如何嘗試調用setTimeout中的函數(如setTimeout(function(){fadeOut()},1000);
,setTimeout("fadeOut()",1000);
等),它似乎都沒有進入函數。setTimeout似乎沒有調用函數
我是一個JavaScript新手,所以任何和所有幫助表示讚賞=]
javascript代碼:
var slideArray = ["slide1","slide2","slide3","slide4","slide5","slide6"];
var currentSlide = null;
var current = null;
var done = false;
function fade(newSlide)
{
if(currentSlide === null)
{
currentSlide = slideArray[0];
document.getElementById(currentSlide).style.opacity = 1.0;
for(var i=1;i<slideArray.length;i++)
document.getElementById(slideArray[i]).style.opacity = 0.0;
}
current = document.getElementById(currentSlide);
done = false;
do
{
window.setTimeout(fadeOut,1000);
} while(done == false);
currentSlide = newSlide;
current = document.getElementById(currentSlide);
done = false;
do
{
window.setTimeout(fadeIn,1000);
} while(done == false);
}
function fadeOut()
{
if(parseFloat(current.style.opacity)-0.1>.0000001)
{
current.style.opacity = parseFloat(current.style.opacity) -0.1;
done = false;
}
else
{
current.style.opacity = 0.0;
done = true;
}
}
function fadeIn()
{
if(0.9-parseFloat(current.style.opacity)>.0000001)
{
current.style.opacity = parseFloat(current.style.opacity)+0.1;
done = false;
}
else
{
current.style.opacity = 1.0;
done = true;
}
}
您可能已成功設置了數百萬個超時處理程序。 – Pointy 2012-07-27 23:01:45
控制檯中沒有記錄任何語法錯誤或錯誤消息嗎? – mellamokb 2012-07-27 23:01:51
請確保當你調用它的功能被定義,並且我同意@Pointy – 2012-07-27 23:03:06