使用JavaScript 实现最简单最基本的轮播图样式

简介: 学习JavaScript 实现最简单最基本的轮播图样式。

目录


一、效果展示


二、H5的布局


三、CSS的布局


四、JS的布局


第一步


第二步


第三步


一、效果展示


主要通过,设置点击事件来实现,简单的轮播图效果


主要通过,设置点击事件来实现,简单的轮播图效果


主要通过,设置点击事件来实现,简单的轮播图效果

image.png



二、H5的布局


可以使用自己的图片,需要注意路径


可以使用自己的图片,需要注意路径


可以使用自己的图片,需要注意路径

<div class="banner">
    <ul class="imgList">
    <li><img src="1.png"/></li>
    <li><img src="2.jpg"/></li>
    <li><img src="3.jpg"/></li>
    <li><img src="4.jpg"/></li>
    </ul>
    <div class="circle">
    </div>
  </div>


三、CSS的布局

*{
    padding: 0px;
    margin: 0px;
    }
    .banner{
     width: 600px;
     margin: auto;
     border: 10px solid green;
     height: 350px;
     position: relative;
    overflow: hidden;
    position: relative;
    }
    .imgList img{
    width: 600px;
    height: 350px;
    }
    .imgList{
    /* 绝对定位 */
     position: absolute;
    }
    .imgList li{
    float:left;
    margin-right: 20px;
     list-style: none;



给图片下的小圆点进行布局


给图片下的小圆点进行布局


给图片下的小圆点进行布局

.circle{position: absolute;bottom: 15px;left:50%;transform: translateX(-50%);}
  .circle a{
     width: 15px;
     height: 15px;
     background: green;
     display: block;
     border-radius: 50%;
     opacity: .8;
     float: left;
     margin-right: 10px;
    }
    .circle a.hover{
    background: black;
     opacity: .7;
    }
          ul {
    transition-duration: 0.3s;
    left: 0px; 
     }



四、JS的布局

第一步

 

// 确定ul的宽度 动态的创建小圆点
    var imgList = document.querySelector('.imgList');
    var circle = document.querySelector('.circle');
    var flag = true;
    //给ui标签设置宽度
    imgList.style.width =imgList.children.length*620+'px';
    //下面动态创建a标签
    for (var i = 0; i < imgList.children.length; i++) {
      var aNode = document.createElement('a');
    //我们在这里创建index属性来记录索引值
    aNode.setAttribute('index',i);
    circle.appendChild(aNode);
    }



第二步

使用点击事件,可以通过小圆点来切换图片

circle.addEventListener('click',function(e){
                var cirCle = e.target.getAttribute('index');
                if(e.target.nodeName=='A'){
                        imgList.style.left = cirCle*-620+'px';
                for(j=0;j<circle.children.length;j++){
                    circle.children[j].className='';
                }this.children[cirCle].className='hover';
            }
            })


第三步

通过,定义新的值,使用if判断来实现自动点击小圆点,从而实现自动播放的效果


 

var i = 1;
                setInterval(function(){
                 if(i<=3){
                    circle.children[i].click();
                    i++;
                 }else{
                    i=0;
                    circle.children[0].click();
                    i++;
                 }
                },2000)


相关文章
|
存储 Python
Python中的函数与模块:核心概念与实践
Python中的函数与模块:核心概念与实践
243 4
|
云安全 运维 架构师
阿里云ACE认证含金量高不高?考试内容难不难?
IT行业可以说是现在最热门的行业之一,很多人都想在这一行有所建树,于是他们就会选择考取阿里云人才认证来帮助自己提升技能、升职加薪。
1545 1
阿里云ACE认证含金量高不高?考试内容难不难?
|
SQL 存储 安全
【SQL刷题】Day3----SQL必会的常用函数专项练习
【SQL刷题】Day3----SQL必会的常用函数专项练习
307 0
【SQL刷题】Day3----SQL必会的常用函数专项练习
|
存储 机器学习/深度学习 人工智能
英特尔持续推动NAND技术创新,引领数据中心QLC SSD普及浪潮
2021中国闪存市场峰会(CFMS)9月14号在深圳成功举行,今年主题为 “存储标准 - 存储生态”。这场高标准市场化运作的峰会,得到众多产业链核心厂商的积极响应和大力支持,英特尔、三星、美光、铠侠、长江存储等企业悉数到场。英特尔NPSG亚太区销售总监倪锦峰在会上发表了“英特尔推动NAND技术创新,释放存储潜力”的主题演讲,承诺英特尔会继续加强对NAND技术的投入,并且通过今年新发布的D5-P5316新一代QLC SSD,推动QLC技术在数据中心的普及。
566 0
英特尔持续推动NAND技术创新,引领数据中心QLC SSD普及浪潮
|
编译器 异构计算 索引
HLS设计方法论 - 结构优化策略
HLS设计方法论 - 结构优化策略
308 0
HLS设计方法论 - 结构优化策略
|
JSON Prometheus 监控
Spring Boot 怎么做监控?这篇总算整明白了。。。(2)
Spring Boot 怎么做监控?这篇总算整明白了。。。(2)
339 0
Spring Boot 怎么做监控?这篇总算整明白了。。。(2)
|
SQL 分布式计算 供应链
慢sql治理经典案例分享
菜鸟供应链金融慢sql治理已经有一段时间,自己负责的应用持续很长时间没有慢sql告警,现阶段在推进组内其他成员治理应用慢sql。这里把治理过程中的一些实践拿出来分享下。
慢sql治理经典案例分享
|
安全 Cloud Native 分布式数据库
用户指南—账号和安全—三权分立—管理三权分立系统账号
开启三权分立模式后,您可以在控制台上查看三权分立系统账号的名称或修改密码。本文介绍相关操作步骤。
415 0
用户指南—账号和安全—三权分立—管理三权分立系统账号
|
安全 网络安全 数据安全/隐私保护
SSL TSL 协议中高危漏洞处理方法
SSL/TSL协议存在高危漏洞(CVE-2013-2566、CVE-2015-2808),这是由于远程桌面采用了ssl加密漏洞造成了,解决办法就是关闭远程桌面的ssl加密算法。
1945 1
SSL TSL 协议中高危漏洞处理方法
|
Shell 程序员 iOS开发
定制化酷炫的Mac终端环境
定制化酷炫的Mac终端环境
359 0