簡體   English   中英

“ FadeIn”和“ FadeOut”不起作用

[英]'FadeIn' and 'FadeOut' don't work

我創建了兩個名為“ FadeIn”和“ FadeOut”的函數,因為我無法使用jQuery,但是它們不起作用,我不知道為什么。 他們將不透明度直接設置為0或1,而無需逐步進行設置。 這是代碼:

function fadeIn(el){
    var val = 0;
    document.getElementById(el).style.opacity = val;
    function fade(){
        val += .1;
        document.getElementById(el).style.opacity = val;
        if (val < 1){
            setTimeout(fade(), 90);
        }
    }
    fade();   
}

function fadeOut(el){
    var val = 1;
    document.getElementById(el).style.opacity = val;
    function fade(){
        val -= .1;
        document.getElementById(el).style.opacity = val;
        if (val > 0){
            setTimeout(fade(), 90);
        }
    }
    fade();   
}

你很親近 當您將fade()而不是fade作為第一個參數時,該函數將調用自身,而setTimeout()執行任何操作。 這應該工作:

function fadeIn(el){
    var val = 0;
    document.getElementById(el).style.opacity = val;
    function fade(){
        val += .1;
        document.getElementById(el).style.opacity = val;
        if (val < 1){
            setTimeout(fade, 90); // A Small fix to your code
        }
    }
    fade();
}

fadeOut()將以相同的方式修復。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM