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 相关文章推荐
js判断为空Null与字符串为空简写方法
Feb 24 Javascript
js脚本获取webform服务器控件的方法
May 16 Javascript
jQuery插件开发的五种形态小结
Mar 04 Javascript
javascript带回调函数的异步脚本载入方法实例分析
Jul 02 Javascript
浅析AngularJs HTTP响应拦截器
Dec 28 Javascript
js实现页面跳转的几种方法小结
May 16 Javascript
bootstrap网格系统使用方法解析
Jan 13 Javascript
Vue.2.0.5实现Class 与 Style 绑定的实例
Jun 20 Javascript
从setTimeout看js函数执行过程
Dec 19 Javascript
node微信开发之获取access_token+自定义菜单
Mar 17 Javascript
vue接通后端api以及部署到服务器操作
Aug 13 Javascript
如何实现vue的tree组件
Dec 03 Vue.js
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+mysqli实现批量替换数据库表前缀的方法
2014/12/29 PHP
PHP实现基于回溯法求解迷宫问题的方法详解
2017/08/17 PHP
jquery ajax return没有返回值的解决方法
2011/10/20 Javascript
Javascript表格翻页效果的具体实现
2013/10/05 Javascript
javascript页面上使用动态时间具体实现
2014/03/18 Javascript
js实现点击后将文字或图片复制到剪贴板的方法
2014/08/04 Javascript
js父页面与子页面不同时显示的方法
2014/10/16 Javascript
javascript实现iframe框架延时加载的方法
2014/10/30 Javascript
javascript中定义类的方法汇总
2014/12/28 Javascript
js正则表达式验证邮件地址
2015/11/12 Javascript
浅谈js和css内联外联注意事项
2016/06/30 Javascript
jQuery如何封装输入框插件
2016/08/19 Javascript
工作中常用的js、jquery自定义扩展函数代码片段汇总
2016/12/22 Javascript
webpack独立打包和缓存处理详解
2017/04/03 Javascript
使用canvas实现一个vue弹幕组件功能
2018/11/30 Javascript
使用axios发送post请求,将JSON数据改为form类型的示例
2019/10/31 Javascript
浅谈js数组splice删除某个元素爬坑
2020/10/14 Javascript
利用JavaScript为句子加标题的3种方法示例
2021/01/05 Javascript
[09:34]2018DOTA2国际邀请赛寻真——永不放弃的iG
2018/08/14 DOTA
Python3读取zip文件信息的方法
2015/05/22 Python
Python Paramiko模块的安装与使用详解
2016/11/18 Python
python批量修改文件编码格式的方法
2018/05/31 Python
使用k8s部署Django项目的方法步骤
2019/01/14 Python
Tornado实现多进程/多线程的HTTP服务详解
2019/07/25 Python
scikit-learn线性回归,多元回归,多项式回归的实现
2019/08/29 Python
vim自动补全插件YouCompleteMe(YCM)安装过程解析
2019/10/21 Python
Petmate品牌官方网站:宠物用品
2018/11/25 全球购物
雷朋巴西官方商店:Ray-Ban Brasil
2020/07/21 全球购物
老师对学生的评语
2014/04/18 职场文书
高中校园广播稿3篇
2014/09/29 职场文书
公司员工离职证明书
2014/10/04 职场文书
秋季运动会开幕词
2015/01/28 职场文书
2015年领导班子工作总结
2015/05/23 职场文书
有关三国演义的读书笔记
2015/06/25 职场文书
小学教师读书笔记
2015/07/01 职场文书
导游词之西安骊山
2019/12/20 职场文书