基于jQuery实现左右图片轮播(原理通用)


Posted in Javascript onDecember 24, 2015

本文为大家分享了jQuery实现左右图片轮播代码,供大家参考,具体实现内容如下

运行效果图:

基于jQuery实现左右图片轮播(原理通用)

重点!!!

实现原理:

通过判断index值的大小变化来判断图片左移还是右移。通过控制图片的left值,来达到一个轮播的效果。

具体代码:

<!DOCTYPE html>
<html>
 <head>
  <meta charset="utf-8">
  <title></title>
 </head>
 <script src="js/jquery.min.js"></script>
 <style>
  .banner{
   margin:0 auto;
   border: 4px dashed black;
   width:400px;
   height:200px;
   position: relative;
   overflow:hidden;
  }
  .banner a{
   z-index: 100;
   display: block;
   width:100%;
   height: 100%;
   position: absolute;
   left:100%;
   top:0;
  }
  .banner .first{
   left:0;
  }
  .banner a img{
   width:100%;
   height: 100%;
  }
  .choose{
   z-index: 1000;
   position: absolute;
   left:150px;
   top:180px;
   width:100px;
   height: 10px;
  }
  .choose span{
   margin-right: 15px;
   float: left;
   display:block;
   background: blue;
   width:10px;
   height: 10px;
   border-radius: 10px;
  }
  .choose span:hover{
   background: red;
  }
  .choose .red{
   background: red;
  }
  .banner .pre,.next{
   cursor:pointer;
   text-align:center;
   border-radius:20px;
   display:block;
   background:#cccccc;
   opacity:0.4;
   text-decoration: none;
   z-index: 200;
   display:block;
   width:40px;
   height: 40px;
   font-size: 40px;
   color:red;
   position: absolute;
   top:80px;
  }
  .banner .pre{
   left:0px
  }
  .banner .next{
   right: 0px;
  }
 </style>
 <body>
  
  <div class="banner">
   <!--
    这里为上一页下一页点击按钮
   -->
   <span class="pre">-</span>
   <span class="next">+</span>
   <!--
    此处为轮播主体,颜色块代替。图片自加
   -->
   <a href="###" class="first" style="background: pink;"></a>
   <a href="###" style="background: blue;"><img src="images/banner1.jpg"/></a>
   <a href="###" style="background: greenyellow;"><img src="images/banner2.jpg"/></a>
   <a href="###" style="background: deepskyblue;"><img src="images/banner3.jpg"/></a>
   <!--
    此处为轮播部分下方小点选择
   -->
   <div class="choose">
    <span class="red"></span>
    <span></span>
    <span></span>
    <span></span>
   </div>
  </div>
  
  <script>
   /*定义两个变量,保存当前页码和上一页页码*/
   var $index=0;
   var $exdex=0;
   /*小点的鼠标移入事件,触发图片左移还是右移*/
   $(".choose span").mouseover(function(){
    //获取当前移入的index值
    $index=$(this).index();  
    //首先让点的颜色变化,表示选中
    $(".choose span").eq($index).addClass("red").siblings().
      removeClass("red");
    //判断如果index变小,证明图片要往左移动。变大则为右移
    if($index>$exdex){
     next();
    }else if($index<$exdex){
     pre();
    }
    //移动完毕将当前index值替换了前页index
    return $exdex=$index;
   });
   //下一页的点击事件。在右移基础上加了最大index判断
   $(".next").click(function(){
    $index++;
    if($index>3){
     $index=0
    }
    $(".choose span").eq($index).addClass("red").siblings().
      removeClass("red");
    next();
    return $exdex=$index;
   });
   //上一页的点击事件
   $(".pre").click(function(){
    $index--;
    if($index<0){
     $index=3
    };
    $(".choose span").eq($index).addClass("red").siblings().
     removeClass("red");
    pre();
    return $exdex=$index;
   });
   //加个定时器,正常轮播
   var atime=setInterval(function(){
    $(".next").click();   
   },1000);
   //这里为右移和左移的事件函数。
   //右移基本原理就是先让exdex定位的left左移百分百,而选中的当前页从屏幕右边移入,left变为0
   function next(){
    $(".banner a").eq($index).stop(true,true).
      css("left","100%").animate({"left":"0"});
    $(".banner a").eq($exdex).stop(true,true).
      css("left","0").animate({"left":"-100%"});
   }
   function pre(){
    $(".banner a").eq($index).stop(true,true).
     css("left","-100%").animate({"left":"0"});
    $(".banner a").eq($exdex).stop(true,true).
     css("left","0").animate({"left":"100%"});
   }
  </script>
 </body>
</html>

精彩专题分享:jQuery图片轮播 JavaScript图片轮播 Bootstrap图片轮播

以上就是本文的全部内容,帮助大家实现一个简单大方的图片轮播效果。

Javascript 相关文章推荐
远离JS灾难css灾难之 js私有函数和css选择器作为容器
Dec 11 Javascript
jquery 年会抽奖程序
Dec 22 Javascript
Jquery+Ajax+PHP+MySQL实现分类列表管理(上)
Oct 28 Javascript
理解javascript中DOM事件
Dec 25 Javascript
jQuery查找节点并获取节点属性的方法
Sep 09 Javascript
基于jQuery实现火焰灯效果导航菜单
Jan 04 Javascript
JS 实现计算器详解及实例代码(一)
Jan 08 Javascript
求js数组的最大值和最小值的四种方法
Mar 03 Javascript
bootstrap IE8 兼容性处理
Mar 22 Javascript
Angular4 中常用的指令入门总结
Jun 12 Javascript
用Object.prototype.toString.call(obj)检测对象类型原因分析
Oct 11 Javascript
JS删除对象中某一属性案例详解
Sep 08 Javascript
jquery捕捉回车键及获取checkbox值与异步请求的方法
Dec 24 #Javascript
jquery遍历函数siblings()用法实例
Dec 24 #Javascript
jQuery中的siblings用法实例分析
Dec 24 #Javascript
JQuery标签页效果实例详解
Dec 24 #Javascript
谈谈我对JavaScript原型和闭包系列理解(随手笔记9)
Dec 24 #Javascript
JQuery实现Ajax加载图片的方法
Dec 24 #Javascript
谈谈我对JavaScript原型和闭包系列理解(随手笔记8)
Dec 24 #Javascript
You might like
PHP获取ip对应地区和使用网络类型的方法
2015/03/11 PHP
PHP实现过滤各种HTML标签
2015/05/17 PHP
JavaScript 异步调用框架 (Part 5 - 链式实现)
2009/08/04 Javascript
IE之动态添加DOM节点触发window.resize事件
2010/07/27 Javascript
js数值和和字符串进行转换时可以对不同进制进行操作
2014/03/05 Javascript
Javascript学习笔记之函数篇(四):arguments 对象
2014/11/23 Javascript
JS函数this的用法实例分析
2015/02/05 Javascript
jQuery实现右侧显示可向左滑动展示的深色QQ客服效果代码
2015/10/23 Javascript
Javascript 实现全屏滚动实例代码
2016/12/31 Javascript
JavaScript正则表达式替换字符串中图片地址(img src)的方法
2017/01/13 Javascript
微信小程序 开发之滑块视图容器(swiper)详解及实例代码
2017/02/22 Javascript
react实现pure render时bind(this)隐患需注意!
2017/03/09 Javascript
基于bootstrap实现bootstrap中文网巨幕效果
2017/05/02 Javascript
jQuery EasyUI window窗口使用实例代码
2017/12/25 jQuery
JavaScript如何对图片进行黑白化
2018/04/10 Javascript
Vue兼容ie9的问题全面解决方案
2018/06/19 Javascript
详解vscode中vue代码颜色插件
2018/10/11 Javascript
微信小程序文章列表功能完整实例
2020/06/03 Javascript
JavaScript中的全局属性与方法深入解析
2020/06/14 Javascript
JavaScript WeakMap使用详解
2021/02/05 Javascript
[02:51]DOTA2英雄基础教程 艾欧
2014/01/13 DOTA
Python黑魔法Descriptor描述符的实例解析
2016/06/02 Python
Python中对象迭代与反迭代的技巧总结
2016/09/17 Python
解决pycharm无法调用pip安装的包问题
2018/05/18 Python
python合并已经存在的sheet数据到新sheet的方法
2018/12/11 Python
Python数据可视化库seaborn的使用总结
2019/01/15 Python
对Python生成汉字字库文字,以及转换为文字图片的实例详解
2019/01/29 Python
基于Python pyecharts实现多种图例代码解析
2020/08/10 Python
个人简历的自荐信
2013/10/23 职场文书
中学生差生评语
2014/01/30 职场文书
2014年护理工作总结范文
2014/11/14 职场文书
城管个人总结
2015/02/28 职场文书
小学体育组工作总结
2015/08/13 职场文书
详解MySQL主从复制及读写分离
2021/05/07 MySQL
matlab xlabel位置的设置方式
2021/05/21 Python
Go语言读取txt文档的操作方法
2022/01/22 Golang