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 相关文章推荐
jQuery实现延迟跳转的方法
Jun 05 Javascript
函数window.open实现关闭所有的子窗口
Aug 03 Javascript
js文本框走动跑马灯效果代码分享
Aug 25 Javascript
基于javascript实现动态显示当前系统时间
Jan 28 Javascript
关于数据与后端进行交流匹配(点亮星星)
Aug 03 Javascript
javaScript生成支持中文带logo的二维码(jquery.qrcode.js)
Jan 03 Javascript
React复制到剪贴板的示例代码
Aug 22 Javascript
Angular实现下拉框模糊查询功能示例
Jan 03 Javascript
es6新特性之 class 基本用法解析
May 05 Javascript
Vue中computed、methods与watch的区别总结
Apr 10 Javascript
JS中call()和apply()的功能及用法实例分析
Jun 28 Javascript
vue项目使用.env文件配置全局环境变量的方法
Oct 24 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
Oracle Faq(Oracle的版本)
2006/10/09 PHP
基于mysql的bbs设计(二)
2006/10/09 PHP
PHP中函数内引用全局变量的方法
2008/10/20 PHP
PHP遍历并打印指定目录下所有文件实例
2014/02/10 PHP
curl和libcurl的区别简介
2015/07/01 PHP
js window.onload 加载多个函数的方法
2009/11/02 Javascript
ExtJs GridPanel简单的增删改实现代码
2010/08/26 Javascript
各浏览器对link标签onload/onreadystatechange事件支持的差异分析
2011/04/27 Javascript
Javascript的常规数组和关联数组对比小结
2012/05/24 Javascript
仿百度输入框智能提示的js代码
2013/08/22 Javascript
基于BootStrap Metronic开发框架经验小结【八】框架功能总体界面介绍
2016/05/12 Javascript
Node.js的环境安装配置(使用nvm方式)
2016/10/11 Javascript
微信小程序wx.uploadfile 本地文件转base64的实现代码
2018/06/28 Javascript
一百行JS代码实现一个校验工具
2019/04/30 Javascript
对vuex中getters计算过滤操作详解
2019/11/06 Javascript
vue+animation实现翻页动画
2020/06/29 Javascript
手把手教你如何编译打包video.js
2020/12/09 Javascript
python数据清洗系列之字符串处理详解
2017/02/12 Python
Python复制Word内容并使用格式设字体与大小实例代码
2018/01/22 Python
Pandas:DataFrame对象的基础操作方法
2018/06/07 Python
tensorflow实现逻辑回归模型
2018/09/08 Python
APIStar:一个专为Python3设计的API框架
2018/09/26 Python
Python3实现统计单词表中每个字母出现频率的方法示例
2019/01/28 Python
Django通过dwebsocket实现websocket的例子
2019/11/15 Python
Python高级特性——详解多维数组切片(Slice)
2019/11/26 Python
PyCharm无法引用自身项目解决方式
2020/02/12 Python
猫途鹰英国网站:TripAdvisor英国(旅游社区和旅游评论)
2016/08/30 全球购物
《观舞记》教学反思
2014/04/16 职场文书
学生干部培训方案
2014/06/12 职场文书
政府个人对照检查材料思想汇报
2014/10/08 职场文书
2015年第十五个全民国防教育日宣传活动方案
2015/05/06 职场文书
2015暑假社会调查报告
2015/07/13 职场文书
详解Node.js如何处理ES6模块
2021/05/15 Javascript
Golang流模式之grpc的四种数据流
2022/04/13 Golang
Java8 Stream API 提供了一种高效且易于使用的处理数据的方式
2022/04/13 Java/Android
使用 MybatisPlus 连接 SqlServer 数据库解决 OFFSET 分页问题
2022/04/22 SQL Server