js中的图片指定切换效果的实现

实现图片指定切换的代码一:

<!DOCTYPE html>

<html>

    <head>

        <meta charset="utf-8">

        <title>js的图片指定切换效果</title>

        <style>

            h1{ height:30px; width:300px; border:2px solid pink; font-size:25px; text-align:center; line-height:30px; margin:40px auto;}

            #pic{ height:350px; width:500px; border:2px solid yellow; position:relative; margin:0 auto;}

            #pic img{ height:350px; width:500px;}

            ul{ padding:0; margin:0; position:absolute; top:0; right:-80px;}

            li{ height:50px; width:50px; background:pink; border:2px solid #CCC; margin-bottom:5px; list-style:none;}

            #pic .active{ background:yellow;}

            #pic p,span{ height:30px; width:500px; background:#CCC; font-size:20px; text-align:center; line-height:30px; color:#FFF; position:absolute; left:0; margin:0;}

            p{ bottom:0;}

            span{ top:0;}

        </style>

        <script>

            window.onload = function(){

                var oDiv = document.getElementById('pic');

                var oImg = oDiv.getElementsByTagName('img')[0];

                var oSpan = oDiv.getElementsByTagName('span')[0];

                var oP = oDiv.getElementsByTagName('p')[0];

                var oUl = oDiv.getElementsByTagName('ul')[0];

                var aLi = oUl.getElementsByTagName('li');

                var arrUrl = ['imgs/z.1.jpg','imgs/z.2.jpg','imgs/z.3.jpg','imgs/z.4.jpg'];

                var arrText = ['眺望远方','在海边嬉戏','爱心世界','美丽花环'];

                var num = 0;

                for( var i=0;i<arrUrl.length;i++){

                    oUl.innerHTML += '<li></li>';

                } // 找到代码中的li

                //初始化

                oImg.src = arrUrl[num];

                oSpan.innerHTML = 1 + num +'/' +arrUrl.length;

                oP.innerHTML = arrText[num];

                aLi[num].className = 'active'; // 运用className的方法将指定的li变为其它的颜色

                for( var i=0;i<aLi.length;i++){

                    aLi[i].index = i; // 定义了索引值

                    aLi[i].onclick = function(){

                        oImg.src = arrUrl[this.index];

                        oSpan.innerHTML = 1 + this.index + '/' + arrUrl.length;

                        oP.innerHTML = arrText[this.index]; // htis与索引值属性的联合使用

                       for( var i=0;i<aLi.length;i++){

                            aLi[i].className = '';

                          }

                        this.className = 'active'; 

                    } // 此处为点击哪个li,哪个li就变为当前的li的方法之

                }

             }

        </script>

    </head>

    <body>

        <h1>js的图片指定切换效果</h1>

        <div id="pic">

            <img src="" alt="" />

            <span>数量正在计算中...</span>

            <p>文字正在加载中...</p>

            <ul></ul>

        </div>

    </body>

</html>

此代码中当点击哪个li,哪个li就为当前的li的方法的基本思路为:

清空所有li的class属性,给当前点击的那个li添加className属性。

此方法虽然暴力,但是却很实用。

实现图片指定切换的代码二:

<!DOCTYPE html>

<html>

    <head>

        <meta charset="utf-8">

        <title>js的图片指定切换效果</title>

        <style>

            h1{ height:30px; width:300px; border:2px solid pink; font-size:25px; text-align:center; line-height:30px; margin:40px auto;}

            #pic{ height:350px; width:500px; border:2px solid yellow; position:relative; margin:0 auto;}

            #pic img{ height:350px; width:500px;}

            ul{ padding:0; margin:0; position:absolute; top:0; right:-80px;}

            li{ height:50px; width:50px; background:pink; border:2px solid #CCC; margin-bottom:5px; list-style:none;}

            #pic .active{ background:yellow;}

            #pic p,span{ height:30px; width:500px; background:#CCC; font-size:20px; text-align:center; line-height:30px; color:#FFF; position:absolute; left:0; margin:0;}

            p{ bottom:0;}

            span{ top:0;}

        </style>

        <script>

             window.onload = function(){

                var oDiv = document.getElementById('pic');

                var oImg = oDiv.getElementsByTagName('img')[0];

                var oSpan = oDiv.getElementsByTagName('span')[0];

                var oP = oDiv.getElementsByTagName('p')[0];

                var oUl = oDiv.getElementsByTagName('ul')[0];

                var aLi = oUl.getElementsByTagName('li');

                var oldLi = null;// 定义了一个变量名

                var arrUrl = ['imgs/z.1.jpg','imgs/z.2.jpg','imgs/z.3.jpg','imgs/z.4.jpg'];

                var arrText = ['眺望远方','在海边嬉戏','爱心世界','美丽花环'];

                var num = 0;

                for( var i=0;i<arrUrl.length;i++){

                    oUl.innerHTML += '<li></li>';

                } // 找到代码中的li

                oldLi = aLi[num];//将li的值存储在此变量中

                //初始化

                

                oImg.src = arrUrl[num];

                oSpan.innerHTML = 1 + num +'/' +arrUrl.length;

                oP.innerHTML = arrText[num];

               aLi[num].className = 'active'; // 运用className的方法将指定的li变为其它的颜色

                for( var i=0;i<aLi.length;i++){

                    aLi[i].index = i;

                    aLi[i].onclick = function(){

                        oImg.src = arrUrl[this.index];

                        oSpan.innerHTML = 1 + this.index + '/' + arrUrl.length;

                        oP.innerHTML = arrTextt[this.index]; // htis与索引值属性的联合使用

                       oldLi.className = '';

                       oldLi = this;// 将此时点击的值设为当前值的前一个值,方便下一次点击时进行改变

                       this.className = 'active';

                    } // 此处为点击哪个li,哪个li就变为当前的li的方法之 

                }

             }

        </script>

    </head>

    <body>

        <h1>js的图片指定切换效果</h1>

        <div id="pic">

            <img src="" alt="" />

            <span>数量正在计算中...</span>

            <p>文字正在加载中...</p>

            <ul></ul>

        </div>

    </body>

</html>

猜你喜欢

转载自www.cnblogs.com/tongguilin/p/12196616.html