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事件串连执行多个处理过程的方法
Mar 09 Javascript
构造函数+原型模式构造js自定义对象(最通用)
May 12 Javascript
jQuery.each使用详解
Jul 07 Javascript
基于HTML5上使用iScroll实现下拉刷新,上拉加载更多
May 21 Javascript
使用jquery提交form表单并自定义action的方法
May 25 Javascript
浅谈js构造函数的方法与原型prototype
Jul 04 Javascript
EasyUI学习之DataGird分页显示数据
Dec 29 Javascript
JS和canvas实现俄罗斯方块
Mar 14 Javascript
javascript 中的try catch应用总结
Apr 01 Javascript
在vue中通过axios异步使用echarts的方法
Jan 13 Javascript
Vue使用localStorage存储数据的方法
May 27 Javascript
React Hook用法示例详解(6个常见hook)
Apr 28 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 文件缓存函数
2011/10/08 PHP
php使用fputcsv()函数csv文件读写数据的方法
2015/01/06 PHP
Laravel修改验证提示信息为中文的示例
2019/10/23 PHP
XHTML-Strict 内允许出现的标签
2006/12/11 Javascript
js+FSO遍历文件夹下文件并显示
2007/03/07 Javascript
jquery复选框CHECKBOX全选、反选
2008/08/30 Javascript
jquery tools 系列 scrollable学习
2009/09/06 Javascript
浅谈javascript的原型继承
2012/07/25 Javascript
JS实现关键字搜索时的相关下拉字段效果
2014/08/05 Javascript
javascript制作坦克大战全纪录(1)
2014/11/27 Javascript
JavaScript实现获得所有兄弟节点的方法
2015/07/23 Javascript
轻松掌握JavaScript策略模式
2016/08/25 Javascript
浅谈js常用内置方法和对象
2016/09/24 Javascript
vue router-link传参以及参数的使用实例
2017/11/10 Javascript
使用node打造自己的命令行工具方法教程
2018/03/26 Javascript
vue cli3.0结合echarts3.0与地图的使用方法示例
2019/03/26 Javascript
vue 进阶之实现父子组件间的传值
2019/04/26 Javascript
Python文件夹与文件的相关操作(推荐)
2016/07/25 Python
独特的python循环语句
2016/11/20 Python
python3读取MySQL-Front的MYSQL密码
2017/05/03 Python
元组列表字典(莫烦python基础)
2019/04/03 Python
解决pycharm 远程调试 上传 helpers 卡住的问题
2019/06/27 Python
使用python快速在局域网内搭建http传输文件服务的方法
2019/11/14 Python
Python 通过爬虫实现GitHub网页的模拟登录的示例代码
2020/08/17 Python
联想澳大利亚官网:Lenovo Australia
2018/01/18 全球购物
优秀的教师个人的中文求职信
2013/09/21 职场文书
女大学生自我鉴定
2013/12/09 职场文书
关于毕业的中学校园广播稿
2014/01/26 职场文书
教师师德反思材料
2014/02/15 职场文书
Python入门之基础语法详解
2021/05/11 Python
简单且有用的Python数据分析和机器学习代码
2021/07/02 Python
ElementUI实现el-form表单重置功能按钮
2021/07/21 Javascript
docker-compose部署Yapi的方法
2022/04/08 Servers
Python何绘制带有背景色块的折线图
2022/04/23 Python
Tomcat弱口令复现及利用
2022/05/06 Servers
Python 一键获取电脑浏览器的账号密码
2022/05/11 Python