Div Opacity Change与setTimeout功能不起作用

时间:2018-02-28 02:34:46

标签: javascript html css

我试图在给定的时间间隔内更改div的不透明度,以便对象始终发出脉冲。元素将持续脉冲,直到按下按钮。下面的代码没有得到不断改变不透明度的元素,我不知道为什么。

function setRandomZoneOpacity(){
    while(buttonpressed==false;){
        var n=randomIntFromInterval(0,1);
        var zone_string = zones[n];
        document.getElementById(zone_string).style.filter="opacity(100%)";
        setTimeout(function(){};,1000);
        document.getElementById(zone_string).style.filter="opacity(0%)";
        setTimeout(function(){};,1000);
    }
};
function randomIntFromInterval(min,max){ //random number generator
    return Math.floor(Math.random()*(max-min+1)+min);
}

2 个答案:

答案 0 :(得分:0)

setTimeout不正确

M = v .^ (1:n);

答案 1 :(得分:0)

setTimeout(callback, delay) NOT 暂停delay毫秒的脚本执行。它的作用是将callback函数排在 delay ms之后

你应该这样做:

setTimeout(function(){
    document.getElementById(zone_string).style.filter="opacity(100%)";
}, 1000);
setTimeout(function(){
    document.getElementById(zone_string).style.filter="opacity(0%)";
}, 2000);

......或者这个:

setTimeout(function(){
    document.getElementById(zone_string).style.filter="opacity(100%)";
    setTimeout(function(){
        document.getElementById(zone_string).style.filter="opacity(0%)";
    }, 1000);
}, 1000);