基于jQuery的图片左右轮播,基本原理通用
来源:互联网 发布:林氏木业还是全友 知乎 编辑:程序博客网 时间:2024/05/21 19:28
转载地址:http://www.cnblogs.com/qj0813/p/5072314.html
我的思路很简单就是通过判断index值的大小变化来判断图片左移还是右移。通过控制图片的left值,来达到一个轮播的效果。
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <title></title> 6 </head> 7 <script src="js/jquery.min.js"></script> 8 <style> 9 .banner{ 10 margin:0 auto; 11 border: 4px dashed black; 12 width:400px; 13 height:200px; 14 position: relative; 15 overflow:hidden; 16 } 17 .banner a{ 18 z-index: 100; 19 display: block; 20 width:100%; 21 height: 100%; 22 position: absolute; 23 left:100%; 24 top:0; 25 } 26 .banner .first{ 27 left:0; 28 } 29 .banner a img{ 30 width:100%; 31 height: 100%; 32 } 33 .choose{ 34 z-index: 1000; 35 position: absolute; 36 left:150px; 37 top:180px; 38 width:100px; 39 height: 10px; 40 } 41 .choose span{ 42 margin-right: 15px; 43 float: left; 44 display:block; 45 background: blue; 46 width:10px; 47 height: 10px; 48 border-radius: 10px; 49 } 50 .choose span:hover{ 51 background: red; 52 } 53 .choose .red{ 54 background: red; 55 } 56 .banner .pre,.next{ 57 cursor:pointer; 58 text-align:center; 59 border-radius:20px; 60 display:block; 61 background:#cccccc; 62 opacity:0.4; 63 text-decoration: none; 64 z-index: 200; 65 display:block; 66 width:40px; 67 height: 40px; 68 font-size: 40px; 69 color:red; 70 position: absolute; 71 top:80px; 72 } 73 .banner .pre{ 74 left:0px 75 } 76 .banner .next{ 77 right: 0px; 78 } 79 </style> 80 <body> 81 82 <div class="banner"> 83 <!-- 84 这里为上一页下一页点击按钮 85 --> 86 <span class="pre">-</span> 87 <span class="next">+</span> 88 <!-- 89 此处为轮播主体,颜色块代替。图片自加 90 --> 91 <a href="###" class="first" style="background: pink;"></a> 92 <a href="###" style="background: blue;"><img src="images/banner1.jpg"/></a> 93 <a href="###" style="background: greenyellow;"><img src="images/banner2.jpg"/></a> 94 <a href="###" style="background: deepskyblue;"><img src="images/banner3.jpg"/></a> 95 <!-- 96 此处为轮播部分下方小点选择 97 --> 98 <div class="choose"> 99 <span class="red"></span>100 <span></span>101 <span></span>102 <span></span>103 </div>104 </div>105 106 <script>107 /*定义两个变量,保存当前页码和上一页页码*/108 var $index=0;109 var $exdex=0;110 /*小点的鼠标移入事件,触发图片左移还是右移*/111 $(".choose span").mouseover(function(){112 //获取当前移入的index值113 $index=$(this).index(); 114 //首先让点的颜色变化,表示选中115 $(".choose span").eq($index).addClass("red").siblings().116 removeClass("red");117 //判断如果index变小,证明图片要往左移动。变大则为右移118 if($index>$exdex){119 next();120 }else if($index<$exdex){121 pre();122 }123 //移动完毕将当前index值替换了前页index124 return $exdex=$index;125 });126 //下一页的点击事件。在右移基础上加了最大index判断127 $(".next").click(function(){128 $index++;129 if($index>3){130 $index=0131 }132 $(".choose span").eq($index).addClass("red").siblings().133 removeClass("red");134 next();135 return $exdex=$index;136 });137 //上一页的点击事件138 $(".pre").click(function(){139 $index--;140 if($index<0){141 $index=3142 };143 $(".choose span").eq($index).addClass("red").siblings().144 removeClass("red");145 pre();146 return $exdex=$index;147 });148 //加个定时器,正常轮播149 var atime=setInterval(function(){150 $(".next").click(); 151 },1000);152 //这里为右移和左移的事件函数。153 //右移基本原理就是先让exdex定位的left左移百分百,而选中的当前页从屏幕右边移入,left变为0154 function next(){155 $(".banner a").eq($index).stop(true,true).156 css("left","100%").animate({"left":"0"});157 $(".banner a").eq($exdex).stop(true,true).158 css("left","0").animate({"left":"-100%"});159 }160 function pre(){161 $(".banner a").eq($index).stop(true,true).162 css("left","-100%").animate({"left":"0"});163 $(".banner a").eq($exdex).stop(true,true).164 css("left","0").animate({"left":"100%"});165 }166 </script>167 </body>168 </html>
希望大家指出问题,交流思路,让我们彼此思路能够更宽广。
致谢
阅读全文
0 0
- 基于jQuery的图片左右轮播,基本原理通用
- 图片左右轮播
- 基于JQuery的实现图片轮播效果(焦点图)
- jQuery实现简单的图片轮播(二)-增加左右(或上下)翻页功能
- 带左右箭头图片轮播的JS代码
- jquery 图片轮播
- jquery图片轮播
- jQuery图片轮播
- jQuery 图片轮播
- jquery图片轮播
- jquery(图片轮播)
- jquery图片轮播
- jquery图片轮播
- jQuery图片轮播
- jquery图片轮播
- jquery图片轮播
- jQuery--图片轮播
- jquery图片轮播
- (34)组合Actor
- 设计模式之建造者模式(java)
- oracle goldengate error ogg-00664
- 虚拟机下安装Linux系统
- 字符串分割
- 基于jQuery的图片左右轮播,基本原理通用
- 打包JAR错误 Class files on classpath not found or not accessible for 问题的解决
- Purrr package for R is good for performance
- mybatis+mysql的批量更新
- 图像处理_DICOM医学图像处理
- 今天开始写自己的博客了,谢谢关照
- linux diff
- Linux IPC
- tcpdump安装的方法