基于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脚本控制asp.net下treeview的NodeCheck的实现代码
Mar 02 Javascript
jQuery实现类似滑动门切换效果的层切换
Sep 23 Javascript
Javascript中arguments和arguments.callee的区别浅析
Apr 24 Javascript
简单谈谈Javascript中类型的判断
Oct 19 Javascript
javascript多物体运动实现方法分析
Jan 08 Javascript
去除html代码里面的script正则方法
May 19 Javascript
Bootstrap零基础入门教程(二)
Jul 18 Javascript
JavaScript组成、引入、输出、运算符基础知识讲解
Dec 08 Javascript
vue 和vue-touch 实现移动端左右导航效果(仿京东移动站导航)
Apr 22 Javascript
JavaScript解析任意形式的json树型结构展示
Jul 23 Javascript
JavaScript显式数据类型转换详解
Mar 18 Javascript
微信小程序scroll-view隐藏滚动条的方法详解
Mar 25 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
NO3第三帝国留言簿制作过程
2006/10/09 PHP
php 常用类整理
2009/12/23 PHP
php结合ajax实现赞、顶、踩功能实例
2014/05/12 PHP
PHP原生函数一定好吗?
2014/12/08 PHP
Laravel5.1 框架控制器基础用法实例分析
2020/01/04 PHP
通过JAVASCRIPT读取ASP设定的COOKIE
2007/02/15 Javascript
关于JavaScript中var声明变量作用域的推断
2010/12/16 Javascript
基于jQuery架构javascript基础体系
2011/01/01 Javascript
Angular中的Promise对象($q介绍)
2015/03/03 Javascript
jquery控制表单输入框显示默认值的方法
2015/05/22 Javascript
详解jQuery Mobile自定义标签
2016/01/06 Javascript
AngularJS基础 ng-keypress 指令简单示例
2016/08/02 Javascript
jQuery+CSS3实现仿花瓣网固定顶部位置带悬浮效果的导航菜单
2016/09/21 Javascript
基于jQuery制作小图标上下滑动特效
2017/01/18 Javascript
JS组件系列之JS组件封装过程详解
2017/04/28 Javascript
解决Vue打包上线之后部分CSS不生效的问题
2019/11/12 Javascript
JS常用排序方法实例代码解析
2020/03/03 Javascript
[47:50]Secret vs VP 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
python实现网页链接提取的方法分享
2014/02/25 Python
用Python设计一个经典小游戏
2017/05/15 Python
pygame实现俄罗斯方块游戏(基础篇3)
2019/10/29 Python
wxPython之wx.DC绘制形状
2019/11/19 Python
Python 写了个新型冠状病毒疫情传播模拟程序
2020/02/14 Python
Python实现仿射密码的思路详解
2020/04/23 Python
Django实现后台上传并显示图片功能
2020/05/29 Python
python中reload重载实例用法
2020/12/15 Python
CSS3 text-shadow实现文字阴影效果
2016/02/24 HTML / CSS
随机分配座位,共50个学生,使学号相邻的同学座位不能相邻
2014/01/18 面试题
孝敬父母的演讲稿
2014/05/14 职场文书
卫生院健康教育实施方案
2014/06/07 职场文书
校本教研活动总结
2014/07/01 职场文书
企业领导对照检查材料
2014/08/20 职场文书
政风行风评议心得体会
2014/10/21 职场文书
给上级领导的感谢信
2015/01/22 职场文书
基层组织建设年活动总结
2015/05/09 职场文书
入党申请书格式
2019/06/20 职场文书