基于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 相关文章推荐
jQuery 图像裁剪插件Jcrop的简单使用
May 22 Javascript
Bootstrap编写导航栏和登陆框
May 30 Javascript
基于JavaScript实现单选框下拉菜单添加文件效果
Jun 26 Javascript
使用React实现轮播效果组件示例代码
Sep 05 Javascript
微信小程序 条件渲染详解
Oct 09 Javascript
ionic进入多级目录后隐藏底部导航栏(tabs)的完美解决方案
Nov 23 Javascript
Web前端框架Angular4.0.0 正式版发布
Mar 28 Javascript
jQuery EasyUI开发技巧总结
Sep 26 jQuery
JS文件中加载jquery.js的实例代码
May 05 jQuery
微信小程序项目总结之记账小程序功能的实现(包括后端)
Aug 20 Javascript
JS+html5实现异步上传图片显示上传文件进度条功能示例
Nov 09 Javascript
javascript实现滚轮轮播图片
Dec 13 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上传图片、删除图片实现代码
2010/05/12 PHP
php编写简单的文章发布程序
2015/06/18 PHP
在Mac OS上编译安装Nginx+PHP+MariaDB开发环境的教程
2016/02/23 PHP
img的onload的另类用法
2008/01/10 Javascript
基于jquery实现的上传图片及图片大小验证、图片预览效果代码
2011/04/12 Javascript
jquery文字上下滚动的实现方法
2013/03/22 Javascript
JavaScript调试技巧之console.log()详解
2014/03/19 Javascript
如何调试异步加载页面里包含的js文件
2014/10/30 Javascript
jQuery插件jcrop+Fileapi完美实现图片上传+裁剪+预览的代码分享
2015/04/22 Javascript
详解JavaScript数组的操作大全
2015/10/19 Javascript
Angular.JS利用ng-disabled属性和ng-model实现禁用button效果
2017/04/05 Javascript
React 组件转 Vue 组件的命令写法
2018/02/28 Javascript
一种angular的方法级的缓存注解(装饰器)
2018/03/13 Javascript
修改node.js默认的npm安装目录实例
2018/05/15 Javascript
基于JavaScript实现每日签到打卡轨迹功能
2018/11/29 Javascript
如何优雅地取消 JavaScript 异步任务
2020/03/22 Javascript
js中调用微信的扫描二维码功能的实现代码
2020/04/11 Javascript
[00:36]我的中国心——Serenity vs Fnatic
2018/08/21 DOTA
Python生成随机数组的方法小结
2017/04/15 Python
详解 Python 读写XML文件的实例
2017/08/02 Python
Python实现希尔排序算法的原理与用法实例分析
2017/11/23 Python
Python 运行.py文件和交互式运行代码的区别详解
2019/07/02 Python
分享一个pycharm专业版安装的永久使用方法
2019/09/24 Python
Python 中 -m 的典型用法、原理解析与发展演变
2019/11/11 Python
tensorflow实现对张量数据的切片操作方式
2020/01/19 Python
pytorch中index_select()的用法详解
2021/01/06 Python
小天鹅官方商城:LittleSwan
2017/06/16 全球购物
巴西葡萄酒商店:Divvino
2020/02/22 全球购物
软件测试笔试题
2012/10/25 面试题
公关关系专员的自我评价分享
2013/11/20 职场文书
学校党的群众路线教育实践活动总结材料
2014/10/30 职场文书
2014年图书管理员工作总结
2014/12/01 职场文书
数学教师个人总结
2015/02/06 职场文书
医学会议开幕词
2016/03/03 职场文书
快消品行业营销模式与盈利模式分享
2019/09/27 职场文书
Python中tqdm的使用和例子
2022/09/23 Python