javascript图片切换效果
  • 分享到微信朋友圈
    X

本文介绍使用javascript制作图片浏览切换效果

主要js与解析

<script>
    //javascript图片切换效果
    function tableChange() {
        //获得#Nav中所有的<li>元素
        var lis = document.getElementById("Nav").getElementsByTagName("li");
        //获得#Pic中所有的<a>元素
        var spans = document.getElementById("Pic").getElementsByTagName("span");
        //保存当前焦点元素的索引
        var current_index = 0;
        //启动定时器
        var timer = setInterval(autoChange, 3000);
        //遍历lis,为各<li>元素添加事件
        for (var i = 0; i < lis.length; i++) {
            //<li>的鼠标移入事件
            lis[i].onmouseover = function () {
                //定时器存在时清除定时器
                if (timer) {
                    clearInterval(timer);
                }
                //遍历lis
                for (var i = 0; i < lis.length; i++) {
                    //设置当前焦点元素的样式
                    if (lis[i] == this) {
                        spans[i].className = "sp";
                        //保存当前索引,当恢复自动切换时继续切换
                        current_index = i;
                        //设置非当前焦点元素的样式
                    } else {
                        spans[i].className = "";
                    }
                }
            }
            //<li>的鼠标移出事件
            lis[i].onmouseout = function () {
                //启动定时器,恢复图片自动切换
                timer = setInterval(autoChange, 3000);
            }
        }
        //定时器周期函数-图片自动切换
        function autoChange() {
            //自增索引
            ++current_index;
            //当索引自增达到上限时,索引归0
            if (current_index == lis.length) {
                current_index = 0;
            }
            //遍历lis,将所有元素取消焦点样式
            for (var i = 0; i < lis.length; i++) {
                spans[i].className = "";
            }
            //为当前索引元素添加焦点样式
            spans[current_index].className = "sp";
        }
    }
    tableChange(); 
    </script>