使用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)


相关文章
|
云安全 运维 架构师
阿里云ACE认证含金量高不高?考试内容难不难?
IT行业可以说是现在最热门的行业之一,很多人都想在这一行有所建树,于是他们就会选择考取阿里云人才认证来帮助自己提升技能、升职加薪。
1601 1
阿里云ACE认证含金量高不高?考试内容难不难?
|
JavaScript Java 关系型数据库
车辆充电桩|基于Springboot+vue的车辆充电桩管理系统的设计与实现(源码+数据库+文档)
车辆充电桩|基于Springboot+vue的车辆充电桩管理系统的设计与实现(源码+数据库+文档)
486 0
|
SQL 存储 安全
【SQL刷题】Day3----SQL必会的常用函数专项练习
【SQL刷题】Day3----SQL必会的常用函数专项练习
343 0
【SQL刷题】Day3----SQL必会的常用函数专项练习
|
编译器 异构计算 索引
HLS设计方法论 - 结构优化策略
HLS设计方法论 - 结构优化策略
358 0
HLS设计方法论 - 结构优化策略
|
JSON Prometheus 监控
Spring Boot 怎么做监控?这篇总算整明白了。。。(2)
Spring Boot 怎么做监控?这篇总算整明白了。。。(2)
381 0
Spring Boot 怎么做监控?这篇总算整明白了。。。(2)
|
SQL 分布式计算 供应链
慢sql治理经典案例分享
菜鸟供应链金融慢sql治理已经有一段时间,自己负责的应用持续很长时间没有慢sql告警,现阶段在推进组内其他成员治理应用慢sql。这里把治理过程中的一些实践拿出来分享下。
慢sql治理经典案例分享
|
安全 Cloud Native 分布式数据库
用户指南—账号和安全—三权分立—管理三权分立系统账号
开启三权分立模式后,您可以在控制台上查看三权分立系统账号的名称或修改密码。本文介绍相关操作步骤。
427 0
用户指南—账号和安全—三权分立—管理三权分立系统账号
|
Shell 程序员 iOS开发
定制化酷炫的Mac终端环境
定制化酷炫的Mac终端环境
398 0
|
运维 资源调度 Kubernetes
阿里巴巴超大规模 Kubernetes 基础设施运维体系揭秘
ASI 作为阿里集团、阿里云基础设施底座,为越来越多的云产品提供更多专业服务,托管底层 K8s 集群,屏蔽复杂的 K8s 门槛、透明几乎所有的基础设施复杂度,并用专业的产品技术能力兜底稳定性,让云产品只需要负责自己的业务,专业的平台分工做专业的事。
阿里巴巴超大规模 Kubernetes 基础设施运维体系揭秘
|
网络协议 算法 安全
MQTT.fx接入物联网平台使用说明
通过MQTT.fx工具快速接入阿里云物联网平台
6250 0
MQTT.fx接入物联网平台使用说明