Javascript元素淡入间隔不能正常工作

时间:2015-05-14 13:28:44

标签: javascript html css fadein

我编写的代码,当我的window.pageYOffset超过400时,我为了让某个div淡入而制作它并且它的工作原理很奇怪。首先,它会淡入但它会闪烁,直到不透明度设置为1.0并且我不知道如何修复它。请帮帮我,我不知道哪个是我的错。这是代码:

var navBarVisibility = function () {
    if (window.pageYOffset > 400) {
        var movies = document.getElementById("movies");
        var opacity = 0.1;
        var apparence = function () {
            if (opacity <= 1.0) {
                movies.style.opacity = opacity;
            } else {
                clearInterval(timer2);
                clearInterval(timer);
            }
            opacity += 0.1;
        }
        var timer = window.setInterval(apparence, 70);
    }
}
var timer2 = window.setInterval(navBarVisibility, 1);

非常感谢。

1 个答案:

答案 0 :(得分:0)

它就是这样做的,因为你没有检查代码是否已经运行,因此当你超过400时,它会反复触发相同的事件。

当偏移超过400时,您需要取消timer2。