JavaScript实现简单轮播图效果


Posted in Javascript onDecember 01, 2018

本文实例为大家分享了js实现简单轮播图效果的具体代码,可以实现左右翻转,图片切换显示等效果,供大家参考,具体内容如下

效果展示:

JavaScript实现简单轮播图效果

代码展示:

<!doctype html>
 
<html>
<!-- 
 学习功能:使用JavaScript实现图片轮播,左右翻转,图片切换显示等。
 author: lisa于2018-5-30
 -->
<title>
 <meta charset="utf-8">
</title>
 
<body>
 <div class="maindiv">
 <style>
 * {
 margin: 0px;
 padding: 0px;
 }
 
 .shidian {
 width: 600px;
 height: 300px;
 position: relative;
 }
 
 .shidian>#shidian_img {
 width: 100%;
 height: 100%;
 
 }
 
 .shidian>#shidian_img li {
 width: 100%;
 height: 100%;
 position: absolute;
 left: 0px;
 top: 0px;
 }
 
 .shidian>#shidian_img img {
 width: 100%;
 height: 100%;
 }
 
 .shidian>#shidian_nav li {
 float: left;
 width: 20px;
 height: 20px;
 background: #ffffff;
 border: 1px #ffff00 solid;
 margin-left: 10px;
 text-align: center;
 line-height: 20px;
 list-style: none;
 }
 
 .shidian>#shidian_nav {
 position: absolute;
 right: 10px;
 bottom: 10px;
 }
 
 .shidian>#shidian_nav .active {
 background: 0000ff;
 color: black;
 cursor: pointer;
 }
 
 .shidian .img_nav {
 position: absolute;
 top: 140px;
 width: 100%
 }
 
 .shidian .img_nav .left {
 cursor: pointer;
 }
 
 .shidian .img_nav .right {
 cursor: pointer;
 float: right;
 }
 </style>
 <div class="shidian">
 <ul id="shidian_img" onmouseover="stop_img()" onmouseout="start_img()">
 <li><img src="./image/1.jpg" /></li>
 <li><img src="./image/3.jpg" /></li>
 <li><img src="./image/2.jpg" /></li>
 <li><img src="./image/4.jpg" /></li>
 </ul>
 <ul id="shidian_nav">
 <li class="active" onmouseover="show_img1(this);">1</li>
 <li class="active" onmouseover="show_img1(this);">2</li>
 <li class="active" onmouseover="show_img1(this);">3</li>
 <li class="active" onmouseover="show_img1(this);">4</li>
 </ul>
 <div class="img_nav">
 <span class="left" onclick="left_img()"><<</span>
 <span class="right" onclick="right_img()">>></span>
 </div>
 </div>
 
 <script>
 index = 0;
 imgs = document.getElementById("shidian_img").children; //获得图片节点
 navs = document.getElementById("shidian_nav").children; // 获得右下图片导航的节点
 
 //下一张轮播图片
 function next_img() {
 index++;
 if (index >= imgs.length) {
  index = 0;
 }
 show_log();
 }
 
 //正常显示图片
 function show_log() {
 for (i = 0; i < imgs.length; i++) {
  imgs[i].style.display = "none";
  imgs[i].className = "";
 }
 //console.log(index)
 if (index >= imgs.length) {
  index = 0;
 }
 imgs[index].style.display = "block";
 imgs[index].className = "active";
 }
 show_log();
 timer = setInterval(next_img, 1000);
 
 function stop_img() {
 clearInterval(timer);
 }
 
 function start_img() {
 timer = setInterval(next_img, 1000);
 }
 
 //随机切换显示图片
 function show_img1(obj) {
 stop_img();
 index = getIndex(obj.parentNode, obj);
 show_log();
 
 }
 
 //向左翻图片
 function left_img() {
 stop_img();
 index--;
 if (index < 0) index = imgs.length - 1;
 show_log();
 start_img();
 }
 
 //向右翻图片
 function right_img() {
 stop_img();
 index++;
 if (index > imgs.length) index = 0;
 show_log();
 start_img();
 }
 
 //获得当前的节点
 function getIndex(parent, obj) {
 //console.log(obj.innerHTML);
 e = parent.children;
 for (i = 0; i < e.length; i++) {
  if (e[i] == obj) {
  return i;
  }
 }
 }
 </script>
 </div>
</body>
 
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JavaScript中“+=”的应用
Feb 02 Javascript
Raphael带文本标签可拖动的图形实现代码
Feb 20 Javascript
js中apply方法的使用详细解析
Nov 04 Javascript
JavaScript设计模式之观察者模式(发布者-订阅者模式)
Sep 24 Javascript
JavaScript中的this关键字使用详解
Aug 14 Javascript
原生态js,鼠标按下后,经过了那些单元格的简单实例
Aug 11 Javascript
Angular.js之作用域scope'@','=','&amp;'实例详解
Feb 28 Javascript
基于vue+ bootstrap实现图片上传图片展示功能
May 17 Javascript
微信小程序实现展示评分结果功能
Feb 15 Javascript
react-router-dom 嵌套路由的实现
May 02 Javascript
Vue将props值实时传递 并可修改的操作
Aug 09 Javascript
解决vue net :ERR_CONNECTION_REFUSED报错问题
Aug 13 Javascript
jQuery-ui插件sortable实现自由拖动排序
Dec 01 #jQuery
jquery拖拽自动排序插件使用方法详解
Jul 20 #jQuery
vue实现移动端悬浮窗效果
Dec 01 #Javascript
vue拖拽组件使用方法详解
Dec 01 #Javascript
vue实现div拖拽互换位置
Jul 29 #Javascript
vue插件draggable实现拖拽移动图片顺序
Dec 01 #Javascript
vue.draggable实现表格拖拽排序效果
Dec 01 #Javascript
You might like
php+mysql事务rollback&amp;commit示例
2010/02/08 PHP
php表单敏感字符过滤类
2014/12/08 PHP
PHP多线程模拟实现秒杀抢单
2018/02/07 PHP
微信公众号之主动给用户发送消息功能
2019/06/22 PHP
Centos7 Yum安装PHP7.2流程教程详解
2019/07/02 PHP
Laravel Eloquent ORM 多条件查询的例子
2019/10/10 PHP
ko knockoutjs动态属性绑定技巧应用
2012/11/14 Javascript
jQuery之按钮组件的深入解析
2013/06/19 Javascript
当鼠标滑过文本框自动选中输入框内容的JS代码分享
2013/11/26 Javascript
javascript正则匹配汉字、数字、字母、下划线
2014/04/10 Javascript
基于JavaScript实现简单的随机抽奖小程序
2016/01/05 Javascript
JavaScript新增样式规则(推荐)
2016/07/19 Javascript
Bootstrap源码解读标签、徽章、缩略图和警示框(8)
2016/12/26 Javascript
神级程序员JavaScript300行代码搞定汉字转拼音
2017/05/20 Javascript
Vue2.x中的Render函数详解
2017/05/30 Javascript
JavaScript之class继承_动力节点Java学院整理
2017/07/03 Javascript
jQuery实现的表格前端排序功能示例
2017/09/18 jQuery
jquery之基本选择器practice(实例讲解)
2017/09/30 jQuery
AngularJS实现表单元素值绑定操作示例
2017/10/11 Javascript
解读ES6中class关键字
2017/11/20 Javascript
react native 原生模块桥接的简单说明小结
2019/02/26 Javascript
python查看zip包中文件及大小的方法
2015/07/09 Python
python好玩的项目—色情图片识别代码分享
2017/11/07 Python
解决python给列表里添加字典时被最后一个覆盖的问题
2019/01/21 Python
Python requests HTTP验证登录实现流程
2020/11/05 Python
HTML5使用Audio标签实现歌词同步的效果
2016/03/17 HTML / CSS
便携式太阳能系统的创新者:GOAL ZERO
2018/02/04 全球购物
德国购买踏板车网站:Microscooter
2019/10/14 全球购物
创业计划书——互联网商机
2014/01/12 职场文书
《青山处处埋忠骨》教学反思
2014/04/22 职场文书
党课培训心得体会
2014/09/02 职场文书
2019年健身俱乐部的创业计划书
2019/08/26 职场文书
Python自动化测试PO模型封装过程详解
2021/06/22 Python
linux中nohup和后台运行进程查看及终止
2021/06/24 Python
Java基础之详解HashSet的使用方法
2021/06/30 Java/Android
Java设计模式中的命令模式
2022/04/28 Java/Android