もう一度、私は自分が理解できない何かに行き詰まっていることに気づきます。どんな助けでも大歓迎です。何かをクリックすると、背景がマスクされ、モーダル ウィンドウにコンテンツが表示されます。「display:none」と「opacity:0」の div があり、ユーザーがモーダルをトリガーすると、この div はすべてをオーバーレイし、特定の透明度を持ちます。不透明度を設定する「for」ループを実行して、不透明度が目的の値よりも小さいかどうかを確認します。このループ内で、「setInterval」を実行して、目的の値に達するまで不透明度の値を徐々に増やします。目的の値に到達したら、「clearInterval」に対して「if」ステートメントを実行します。これまでの私のコードは次のとおりです。
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」に設定するだけです。ご協力いただきありがとうございます。