首页 > 其他分享 >js/css实现图片轮播

js/css实现图片轮播

时间:2023-01-02 21:46:11浏览次数:33  
标签:index 轮播 img url jpg js 索引 display css

实现样式:

tplb.css

ul,
li {
    padding: 0;
    margin: 0;
    list-style: none;
}

.adver {
    margin: 0 auto;
    width: 700px;
    overflow: hidden;
    height: 454px;
    position: relative;
    background: url(../img/adver01.jpg);
}

ul {
    position: absolute;
    bottom: 10px;
    z-index: 100;
    width: 100%;
    text-align: center;
}

ul li {
    display: inline-block;
    font-size: 10px;
    line-height: 20px;
    font-family: "楷体";
    margin: 0 1px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #333333;
    text-align: center;
    color: #ffffff;
}

.arrowLeft,
.arrowRight {
    position: absolute;
    width: 30px;
    background: rgba(0, 0, 0, 0.2);
    height: 50px;
    line-height: 50px;
    text-align: center;
    top: 200px;
    z-index: 150;
    font-family: "楷体";
    font-size: 28px;
    font-weight: bold;
    cursor: pointer;
    display: none;
}

.arrowLeft {
    left: 10px;
}

.arrowRight {
    right: 10px;
}

li:nth-of-type(1) {
    background: orange;
}

html(6张图片轮播)

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
        <link rel="stylesheet" href="css/tplb.css" />
    </head>
    <body>
            <!-- 
                1.完成点击 》、《 切换图片
                    1.1 鼠标进到 id="adver" 显示 》《
                    1.2 给绑定 》 单击事件,将 div 的背景图片切换到下一张
                        1.2.1 将所有被切换的图片存储在数组
                        1.2.2 存储的是现在显示的图片的在数组中的索引
                        1.2.3 将 索引 + 1,通过计算之后的索引到数组中获取图片的路径
                        1.2.4 如果 计算索引 超过了数组长度,索引从 0 开始
                    1.3 给绑定 》 单击事件,将 div 的背景图片切换到上一张
                        1.2.1 将 索引 - 1,通过计算之后的索引到数组中获取图片的路径
                        1.2.2 如果 计算索引 < 0,索引从 数组.length-1 开始
                    1.4 移出 id="adver" 隐藏 》《
                 -->

        
        <div class="adver" id="adver" onm ouseover="showArrow()" onm ouseout="hideArrow()">
            <ul>
                <li onclick="changeNumberImage(this)">1</li>
                <li onclick="changeNumberImage(this)">2</li>
                <li onclick="changeNumberImage(this)">3</li>
                <li onclick="changeNumberImage(this)">4</li>
                <li onclick="changeNumberImage(this)">5</li>
                <li onclick="changeNumberImage(this)">6</li>
            </ul>
            <div class="arrowLeft" id="arrowLeft" onclick="changePrveImage()">
                &lt;
            </div>
            <div class="arrowRight" id="arrowRight" onclick="changeNextImage()">
                &gt;
            </div>
        </div>
        <script type="text/javascript">
            // 存储所有被切换的图片
            var imageArray = ["url('img/adver01.jpg')", "url('img/adver02.jpg')", "url('img/adver03.jpg')",
                "url('img/adver04.jpg')", "url('img/adver05.jpg')", "url('img/adver06.jpg')",
            ];
            // 存储的是现在显示的图片的在数组中的索引
            var index = 0;
            //轮播
            function show(){
                setInterval(function(){
                    index++;
                    if(index>=imageArray.length){
                        index=0;
                    }
                    //切换图片地址,修改li样式
                    changeImage();
                },3000)
            }
            show();
            
            // 鼠标移入
            function showArrow(){
                document.getElementById("arrowLeft").style.display="block";
                document.getElementById("arrowRight").style.display="block";
            }
            //鼠标移出
            function hideArrow(){
                document.getElementById("arrowLeft").style.display="none";
                document.getElementById("arrowRight").style.display="none";
            }
            //切换下一张图片
            function changeNextImage(){
                // 1 将 索引 + 1,通过计算之后的索引到数组中获取图片的路径
                index++;
                // 2 如果 计算索引 超过了数组长度,索引从 0 开始
                if(index>=imageArray.length){
                    index=0;
                }
                changeImage();
            }
            //切换上一张图片
            function changePrevImage(){
                // 将 索引 - 1
                index--;
                // 如果 计算索引 < 0,索引从 数组.length-1 开始
                if(index<0){
                    index=imageArray.length-1;
                }
                changeImage();
            }
            //切换图片
            function changeImage(){
                // 数组中获取图片的路径
                var imagePath=imageArray[index];
                // 设置图片背景图片
                document.getElementById("adver").style.background=imagePath;
                // 获取所有的li
                var lis=document.getElementsByTagName("li");
                // 将 所有的li设置为黑色
                for(var i=0;i<lis.length;i++){
                    lis[i].style.backgroundColor="black";
                }
                lis[index].style.backgroundColor="orange";
            }
            //点击li切换图片
            function changeNumberImage(liObj){
                // 获取到 li 内容
                var liNumber=liObj.innerText;
                // 通过 liNumber 获取图片的下标
                index=parseInt(liNumber)-1;
                changeImage();
            }
        </script>
    </body>
</html>

 

标签:index,轮播,img,url,jpg,js,索引,display,css
From: https://www.cnblogs.com/19981206-zxb/p/17020592.html

相关文章

  • js hw12
    标签页效果-鼠标滑过高亮的菜单选择效果<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metahttp-equiv="X-UA-Compatible"content="IE=edge"><......
  • js hw15 spa
    spa<!--locationnavigatorhistoryscreenwindow--><!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metahttp-equiv="X-UA-Compatible"co......
  • CSS的总结1
    1.CSS的行内样式2.CSS的内部样式表3.CSS的外部连接式在头部用link的方式进行连接外部的CSS样式。将外部CSS的路径输入到href里。4.CSS的字体样式属性4.1font-size:字......
  • 第1节 js相关概念
    1:js介绍javascript是一门弱类型的编程语言,简称js,创始人布兰登·艾奇,由美国网景公司发布。微软也有类似的语言叫jscript。前端编程语言只有js,而后端编程语言有java、C......
  • HTML/CSS
    HTML基本框架<!doctypehtml><html><head><metacharset="utf-8"><title>无标题文档</title></head> <body></body></html>段落标记:<p></p>预留格式(文本中......
  • jsdemo01.html
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>Title</title><scripttype="text/javascript">varx;......
  • 第20章_ CSS-练习
    ​  层叠样式表(英文全称:CascadingStyleSheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。CSS不仅可......
  • 第20章_ CSS-练习
    ​  层叠样式表(英文全称:CascadingStyleSheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。CSS不仅可......
  • angularJS友好URL实现 good
    nginx部署angularjs时的rewrite问题使用h5+angularjs完成了一个项目此项目在正式环境上使用nginx做webserver此项目的入口在微信/微博分享中由于分享时的项目访问地址中......
  • 引入,CSS的书写方式
    ​  【1】为什么要学习CSS?HTML画页面--》这个页面就是页面上需要的元素罗列起来,但是页面效果很差,不好看,为了让页面好看,为了修饰页面---》CSSCSS的作用:修饰HTML页面......