• 轮播图效果


    没有鼠标事件时,图片一张一张切换显示,下面有相应的图片角标切换,当鼠标移到哪个角标上时,切换到那张图片上,不再切换,鼠标移出,再次切换。

    <!doctype html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>轮播效果</title>
        <style type="text/css">
        #div1{
            730px;
            height:454px;
            background: 1px solid blue;
            margin:0 auto;
            position: relative;
        }
        #div1 img{
            position: absolute;
            display: none;
    
        }
        #div1 img.cur{
            display:block;
        }
        #div1 ul{
            position: absolute;
            right:0px;
            top:400px;
        }
        #div1 ul li{
            float: left;
            list-style: none;
            background: #3E3E3E;
            25px;
            height: 25px;
            line-height: 25px;
            text-align: center;
            color:white;
            margin-right:10px;
            border-radius: 12px;
        }
        #div1 ul .cur{
            background:#B61B1F;
        }
        </style>
    <script type="text/javascript">   
    window.onload=function(){
        var oDiv=document.getElementById('div1');//获得div1元素
        var aimg=oDiv.getElementsByTagName('img');//获得img元素
        var ali=oDiv.getElementsByTagName('li');//获得li标签
        var index=0;//定义全局变量,记录切换样式的角标
        function qiehuan(){//切换图片的方法
            index++;//角标加1
            if(index==6){//如果角标为6,直接变成0,因为有6张图片,最大角标为5
                index=0;
            }
            for(var i=0;i<aimg.length;i++){//将所有图片的class去掉,全部不显示
                aimg[i].className='';
    
            }
            aimg[index].className='cur';//根据角标依次添加cur属性,依次显示
            for(var i=0;i<ali.length;i++){//将所有li的class都去掉,都不显示
                ali[i].className='';
    
            }
            ali[index].className='cur';//根据角标依次添加cur属性,依次显示
        }
        var timer=setInterval(qiehuan,1000);//定义定时器,每1秒切换一张图片
        for(var i=0;i<ali.length;i++){//for循环,添加事件
            ali[i].onmouseover=function(e){//鼠标移入li事件
                clearInterval(timer);//关闭定时器
                var ev=e||window.event;
                var curo=ev.srcElement||ev.target;//获得事件对象,
                for(var j=0;j<ali.length;j++){
                    if(ali[j]==curo){
                        index=j;//鼠标移到哪个li标签上,将角标赋给index
                    }
                }
                for(var i=0;i<aimg.length;i++){//同上,让相应的图片显示
                    aimg[i].className='';
    
                }
                aimg[index].className='cur';
                for(var i=0;i<ali.length;i++){//让相应的li变样式
                    ali[i].className='';
    
                }
                ali[index].className='cur';    
            }
            ali[i].onmouseout=function(){//鼠标移出,重新开定时器
                timer=setInterval(qiehuan,1000);
            }
        }
        
    
    }
    </script>
    
    </head>
    <body>
        <div id="div1">
            <img class="cur" src="1.jpg" alt="第一张">
            <img src="2.jpg" alt="第二张">
            <img src="3.jpg" alt="第三张">
            <img src="4.jpg" alt="第四张">
            <img src="5.jpg" alt="第五张">
            <img src="6.jpg" alt="第六张">
            <ul>
                <li class="cur">1</li>
                <li>2</li>
                <li>3</li>
                <li>4</li>
                <li>5</li>
                <li>6</li>
            </ul>
    
        </div>
    </body>
    </html>
    
  • 相关阅读:
    HTML-代码定义
    数组
    for。。。for嵌套if,if嵌套for。
    输入年月日, 判断输入的是否正确
    日期功能
    方程
    5.8 一维数组
    5.9 二维数组
    5.7 类
    5.4穷举,迭代
  • 原文地址:https://www.cnblogs.com/lzzhuany/p/4573842.html
Copyright © 2020-2023  润新知