• 用JavaScript制作banner轮播图


    JavaScript_banner轮播图

    让我们一起来学习一下用js怎么实现banner轮播图呢?

    直接看代码:

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title>banner轮播</title>
            <style>
                #banner{width:820px;height:430px;margin:0 auto;position:relative;}
                #banner img{width:100%;height:100%;}
                ul{position:absolute;top:83%;left:290px;list-style:none;}
                ul li{width:25px;height:25px;border-radius:50%;float:left;margin-right:15px;text-align:center;line-height:25px;}
                #Left,#Right{position:absolute;top:45%;width:60px;height:60px;display:none;}
                #banner:hover #Left{display:block;}
                #banner:hover #Right{display:block;}
                #Left{left:0;}
                #Right{right:0;}
            </style>
        </head>
        <!--页面加载的时候直接加载它-->
        <body onload="lunbo()">
            <div id="banner">
                <img src="img/banner0.jpg" id="img">
                <ul>
                    <li>1</li>
                    <li>2</li>
                    <li>3</li>
                    <li>4</li>
                </ul>
                <div id="Left">
                    <img src="img/07_箭头_向左.png" id="left">
                </div>
                <div id="Right">
                    <img src="img/07_箭头_向右 (1).png" id="right">
                </div>
            </div>
            <script type="text/javascript">
            //首先我们要获取到他们,便于接下来操作
                var Img=document.getElementById("img");
                var Lis=document.getElementsByTagName("li");
                var Left=document.getElementById("left");
                var Right=document.getElementById("right");
                var index=-1;
                var Banner=document.getElementById("banner");
                //定时器(需要定义的函数,它的毫秒数)
                var timer=setInterval("lunbo()",1800);
                //利用定时器使图片达到轮播效果
                function lunbo(){
                    index++;
                    resetColor();
                    if(index == 4){
                        index=0;
                    }
                    Img.src="img/banner"+index+".jpg";
                    Lis[index].style.background="orchid";
                }
                //小原点初始值颜色(定义函数,在定时器去调用它)
                function resetColor(){
                    for(var i=0;i<Lis.length;i++){
                        Lis[i].style.background="rgba(100,100,100,.5)";
                    }
                }
                //鼠标移入和移出
                Banner.onmouseover=function(){
                    clearInterval(timer);
                }
                Banner.onmouseout=function(){
                    //变量作用域,因为这边已经给它清除了,所以必须重新声明它.
                    timer=setInterval("lunbo()",1800);
                }
                //点击小圆点切换图片到指定位置
                for (var i=0;i<Lis.length;i++) {
                    Lis[i].onclick = function(){
                        clearInterval(timer);
                        index = this.innerHTML-1;
                        Img.src="img/banner"+index+".jpg";
                        resetColor();
                        Lis[index].style.background = "orchid";
                        timer = setInterval("lunbo()",1800);                
                    }
                }
                //左边和右边按钮切换
                Left.onclick = function(){
                    index--;
                    if (index == -1) {
                        index = 3;
                    }
                    Img.src="img/banner"+index+".jpg";
                    resetColor();
                    Lis[index].style.background = "orchid";
                }
                Right.onclick = function(){
                    if (index == 3) {
                        index = -1;
                    }
                    index++;
                    Img.src="img/banner"+index+".jpg";
                    resetColor();
                    Lis[index].style.background = "orchid";
                }
            </script>
        </body>
    </html>

    希望对大家有帮助~~如果有更好的方法,可以一起学习交流哦!

     

  • 相关阅读:
    html基础之html标签
    unittest框架(二)单元测试及测试报告
    unittest框架(一)用例管理
    python实现http接口自动化测试(完善版)
    python学习笔记(二十九)为什么python的多线程不能利用多核CPU
    深入理解JVM(三)——配置参数
    深入理解JVM(二)——内存模型、可见性、指令重排序
    深入理解JVM(一)——基本原理
    做了两款数据库监控工具,打算在近期开源
    电商系统中的商品模型的分析与设计—续
  • 原文地址:https://www.cnblogs.com/cyjfighting/p/8353775.html
Copyright © 2020-2023  润新知