JavaScript中的幻灯片显示不起作用

时间:2015-03-20 11:41:23

标签: javascript html function

好的,我成功创建了一个基本幻灯片,但我想添加更多效果,以使其看起来更逼真。我正在做一些编码,但我不知道出了什么问题。每次运行脚本时,我最终都会崩溃MOZILLA。谁能帮我正确地做到这一点? 更不用说我不想对我的代码进行任何类型的jQuery修改

的JavaScript

    var img = new Array("a.jpg","b.jpg","c.jpg");
    var len = img.length - 1;
    var pos = 0;

    function slid(e){
        pos = pos + e;
        if(pos < 0)
        {
            pos = len;
        }
        if(pos > len)
        {
            pos = 0;
        }

        var a = 1;
        var i = 1;

        while(i<=50)
        {
            function op(a) {
                a -= 0.02;
                if(a < 0)
                {
                    a = 1;
                }
                document.getElementById("slide").style.opacity = a;
            }
            i++;
        }

        document.getElementById("slide").src = img[pos];
        return false;
    };

并且它没有消失(在这种情况下改变不透明度)也帮助我吗?

1 个答案:

答案 0 :(得分:2)

看看这里:

while(i<=50)
    {
        function op(a) {
            a -= 0.02;
            if(a < 0)
            {
                a = 1;
            }
            document.getElementById("slide").style.opacity = a;
        }
    }

你没有增加你的'i&#39;计数器变量,导致无限循环,因此浏览器崩溃。替换为:

while(i<=50)
    {
        function op(a) {
            a -= 0.02;
            if(a < 0)
            {
                a = 1;
            }
            document.getElementById("slide").style.opacity = a;
        }
        i++; //increment the counter variable to prevent an infinite loop
    }