再一次,我發現自己被某些我不明白的東西卡住了。任何幫助,將不勝感激。 我正在模態窗口上工作,你點擊了一些東西,背景被蒙上了陰影,模態窗口顯示了一些內容。 我有一個「display:none」和「opacity:0」的div,當用戶觸發模式時,這個div將覆蓋所有內容並對它有一定的透明度。 在我看來,我需要做的是: 設置不透明度 執行一個「for」循環來檢查不透明度是否小於所需值。 在這個循環中,執行一個「setInterval」逐漸增加不透明度的值,直到達到所需的值。 達到所需值後,執行「if」語句以「clearInterval」。 到目前爲止我的代碼如下:。在超過500毫秒的原始javascript中淡入HTML元素
var showMask = document.getElementById('mask');
function fireModal(){
showMask.style.opacity = 0;
showMask.style.display = 'block';
var getCurrentOpacity = showMask.style.opacity;
var increaseOpacity = 0.02;
var finalOpacity = 0.7;
var intervalIncrement = 20;
var timeLapse = 500;
function fadeIn(){
for(var i = getCurrentOpacity; i < finalOpacity; i++){
setInterval(function(){
showMask.style.opacity = i;
}, intervalIncrement)
}
if(getCurrentOpacity == finalOpacity){
clearInterval();
}
}
fadeIn();
}
大家都可以猜到,這是行不通的,它是所有沒有在逐漸淡化它提前設置不透明度爲「1」 謝謝您幫幫我。
爲什麼jQuery不是一個選項? – 2010-04-22 18:30:32
jQuery是你的朋友。把它拿出來喝,看看你是否繼續。 – 2010-04-22 18:36:24
我知道,我真的使用它很多,不幸的是不能用它來實現這個功能,我很慚愧地承認我對原始javascript不太熟悉。 – jnkrois 2010-04-22 18:44:31