再一次,我发现自己被某些我不明白的东西卡住了。任何帮助,将不胜感激。 我正在模态窗口上工作,你点击了一些东西,背景被蒙上了阴影,模态窗口显示了一些内容。 我有一个“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