JS轮播图带序号小点和左右按钮
轮播图作为前端比较简易的动画,使用非常频繁,这里记录以便使用
此轮播图为最简易自动播放,非无缝,但有按钮,有序号跳转小点
想看全套轮播图可以查看我的分类轮播图全套
html布局
<div style="width: 100%;">
<div id="zuo" onClick="huan('zuo')">《</div>
<div class="tu">
<img src="02xsxx.jpg" alt="">
</div>
<div class="tu">
<img src="20181011qlqnlt.jpg" alt="">
</div>
<div class="tu">
<img src="20181011rcqx.jpg" alt="">
</div>
<div class="tu">
<img src="20181016qdxq.jpg" alt="">
</div>
<div class="tu">
<img src="20181018-sdlt0.jpg" alt="">
</div>
<div class="tu">
<img src="20181022fanzeng.jpg" alt="">
</div>
<!-- 此处有函数 huan() 参数为 'zuo' 和 'you' 切换图片按钮-->
<div id="you" onClick="huan('you')">》</div>
</div> <div id="dian">
<div style="width:230px; margin: auto; height: 30px;">
<!-- 此处添加函数 dianji() 点击小点切换图片-->
<div onClick="dianji(0)" class="dian"></div>
<div onClick="dianji(1)" class="dian"></div>
<div onClick="dianji(2)" class="dian"></div>
<div onClick="dianji(3)" class="dian"></div>
<div onClick="dianji(4)" class="dian"></div>
<div onClick="dianji(5)" class="dian"></div>
</div>
</div>
css样式
*{
margin: 0 auto;
padding: 0 auto;
}
.tu{
float: left;0
width: 100%;
display: none;
}
.tu img{
width: 100%;
}
#zuo{
position: absolute;
top: 300px;
background-color: rgba(255,255,255,0.50);
width: 40px;
height: 40px;
}
#you{
position: absolute;
top: 300px;
background-color: rgba(255,255,255,0.50);
width: 40px;
height: 40px;
right: 5px;
} #dian{
text-align: center;
position: relative;
top: -60px;
} .dian{
float: left;
border: 1px solid rgba(255,255,255,1.00);
border-radius: 30px;
width: 30px;
height: 30px;
margin-left: 5px;
background-color: rgba(0,0,0,1.00);
}
同样布局不用要完全可以自己布局,下面看js
var jishu=0; //记录到第几张
var tu; //接收图片的dom
var dian; //接收小点dom
// 自己播放函数,不懂请看轮播图全套里 JS最通俗易懂简易轮播实现
function aaa(){
tu =document.getElementsByClassName("tu");
dian =document.getElementsByClassName("dian"); //显示当前隐藏其他
for(var a=0;a<tu.length;a++){
if(a==jishu){
tu[jishu].style.display="block";
dian[jishu].style.border="1px solid rgba(255,0,4,1.00)";
dian[jishu].style.backgroundColor = "white";
}else{
tu[a].style.display="none";
dian[a].style.border="1px solid rgba(255,255,255,1.00)";
dian[a].style.backgroundColor = "black";
}
}
//到最后一张回到第一张
if(jishu>tu.length-2){
jishu=0;
}else{
jishu++;
} }
aaa();
var dong = setInterval("aaa()",2000);
// 切换上一张和下一张
function huan(data){
// 先暂停,防止出现手动切换和自动切换重叠
clearInterval(dong);
// 判断实参
if(data=="zuo"){
// jishu<=1请情况有两种,0和1
if(jishu<=1){
// 如果是0那么当前显示的是第6张,请结合上面jishu清零语句
if(jishu==0){
// 那么jishu=4就是显示 第五张
jishu=4;
}else{
// 否则jishu=1时,显示的是第一张,结合上面jishu+1操作,jishu=5就是显示第六张
jishu=5;
}
}else{
// 此处否则 显示上一张,此处需要-2因为每次运行完jishu都会多加1
jishu=jishu-2;
} }else{
// 否则 此处是向右滚动,向左判断完成后,向右只考虑最后一张的情况。jishu=6时显示的是五张,再点击一次需要回到第一张
if(jishu>=6){
jishu=0;
}
}
// 判断完运行左还是右之后重新调用函数即可
aaa();
dong = setInterval("aaa()",2000);
}
//
// 小点翻页
function dianji(data){
clearInterval(dong);
// 参考html代码中,给此函数的实参
jishu = data; aaa();
dong = setInterval("aaa()",2000);
}
JS轮播图带序号小点和左右按钮的更多相关文章
- JS轮播图(网易云轮播图)
JS 轮播图 写在前面 最聪明的人是最不愿浪费时间的人.--但丁 实现功能 图片自动切换 鼠标移入停止自动播放,显示按钮 点击按钮,实现前后翻 鼠标移入小圆圈,可以跳转到对应图片 点击左右两侧图片部分 ...
- [js开源组件开发]js轮播图片支持手机滑动切换
js轮播图片支持手机滑动切换 carousel-image 轮播图片,支持触摸滑动. 例子见DEMO http://www.lovewebgames.com/jsmodule/carousel-ima ...
- js___原生js轮播
原生js轮播 作为一名前端工程师,手写轮播图应该是最基本掌握的技能,以下是我自己原生js写的轮播,欢迎指点批评: 首先css代码 a{text-decoration:none;color:#3DBBF ...
- JavaScript的案例(数据校验,js轮播图,页面定时弹窗)
1.数据校验 步骤 1.确定事件(onsubmit)并绑定一个函数 2.书写这个函数,获取数据,并绑定id 3. ...
- 纯js轮播图练习-2,js+css旋转木马层叠轮播
基于css3的新属性,加上js的操作,让现在js轮播图花样越来越多. 而现在出现的旋转木马层叠轮播的轮播图样式,却是得到了很多人都喜爱和投入使用. 尤其是在各大软件中,频繁的出现在大家的眼里,在web ...
- 纯js轮播图练习-1
偶尔练习,看视频自己学着做个简单的纯JS轮播. 简单的纯js轮播图练习-1. 样子就是上面图片那样,先不管好不好看,主要是学会运用和理解轮播的原理 掌握核心的理论知识和技术的操作,其他的都可以在这个基 ...
- 原生JS轮播-各种效果的极简实现(二)面向对象版本的实现和优化
之前写了一篇原生JS轮播,不过是非面向对象的,并且也没有添加上自动轮播.这里来写一下如何优化和进阶. 这里简单地介绍一下之前的代码,这是html结构 <body> <div clas ...
- javascript原生js轮播图
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- js+css制作简单的轮播图带有定时功能
用纯css和JavaScript代码制作带有定时轮播功能的轮播图 <!DOCTYPE html> <html> <head> <meta charset=&q ...
随机推荐
- nginx平滑升级、在线添加模块(tengine 动态加载模块)
http://www.orzace.com/how-to-upgrade-nginx/ 下面是nginx替换成tengine再加上lua 模块,(tengine-2.0.1版本暂时无法动态加载lua模 ...
- 获得CCNA和CCNP及CCIE认证的必备条件和有效期绍
CCNA认证培训介绍 CCNA认证(CCNA-思科网络安装和支持认证助理)是整个Cisco认证体系中最初级的认证,同时它也是获得CCNP认证.CCDP认证和CCSP认证的必要条件(CCIP认证.CCI ...
- phpsocket.io
https://github.com/walkor/phpsocket.io phpsocket.io A server side alternative implementation of sock ...
- DNS 处理模块 dnspython
简介: dnspython (http://www.dnspython.org/)是Python实现一个DNS的工具包,支持所有的记录类型,可以用于查询.传输并动态更新ZONE信息. 安装 wget ...
- Blazor一个简单的示例让我们来起飞
Blazor Blazor他是一个开源的Web框架,不,这不是重点,重点是它可以使c#开发在浏览器上运行Web应用程序.它其实也简化了SPA的开发过程. Blazor = Browser + Razo ...
- golang之method
method Go does not have classes. However, you can define methods on types. package main import ( &qu ...
- B. Math Show 暴力 C - Four Segments
B. Math Show 这个题目直接暴力,还是有点难想,我没有想出来,有点思维. #include <cstdio> #include <cstdlib> #include ...
- E - Petya and Exam CodeForces - 832B 字典树+搜索
E - Petya and Exam CodeForces - 832B 这个题目其实可以不用字典树写,但是因为之前写过poj的一个题目,意思和这个差不多,所以就用字典树写了一遍. 代码还是很好理解的 ...
- 201771010113 李婷华 《面向对象程序设计(Java)》第六周总结
一.理论知识部分 第四章 类与对象 1.方法的定义:方法声明和方法体. 2.重载:一个类中可以有多个方法具有相同的名字,不同的类型,不同的参数. 3.构造器:也叫构造方法,是类中的一种特殊的方法,其作 ...
- Spring 循环引用(三)源码深入分析版
@ 目录 前言 正文 分析 doGetBean 为什么Prototype不可以 createBean doCreateBean getEarlyBeanReference getSingleton b ...