jQ实现的一个轮播图

众所周知,轮播图是被广泛的运用的。

  轮播图我们在很多的网站上都可以看到,例如淘宝、京东这些网站都很常见。

  下面开始我们的轮播之旅:

搭建我们的骨架:

 1 <!DOCTYPE html>
 2 <html>
 3     <head>
 4         <meta charset="utf-8">
 5        <title></title>
 6     </head>
 7     <body>
 8
 9     </body>
10 </html>
11     

添加区块:




 1 <div class="banner">
 2         <div class="b_main">
 3             <div class="b_m_pic">
 4                 <ul>
 5                     <li>
 6                         <a>
 7                             <img src="img/1.png" width="100%" height="100%"/><!--这里的宽高是为了占满盒子-->
 8                         </a>
 9                     </li>
10                     <li>
11                         <a>
12                             <img src="img/2.png" width="100%" height="100%"/>
13                         </a>
14                     </li>
15                     <li>
16                         <a>
17                             <img src="img/3.jpg" width="100%" height="100%"/>
18                         </a>
19                     </li>
20                     <li>
21                         <a>
22                             <img src="img/4.jpg" width="100%" height="100%"/>
23                         </a>
24                     </li>
25                     <li>
26                         <a>
27                             <img src="img/5.png" width="100%" height="100%"/>
28                         </a>
29                     </li>
30                     <li>
31                         <a>
32                             <img src="img/6.png" width="100%" height="100%"/>
33                         </a>
34                     </li>
35                 </ul>
36             </div>
37         </div>
38         <!--小圆点-->
39         <div class="b_list">
40             <ul>
41                 <li class="l_click"></li>
42                 <li></li>
43                 <li></li>
44                 <li></li>
45                 <li></li>
46                 <li></li>
47             </ul>
48         </div>
49         <div class="b_btn">
50             <div class="b_left">&lt</div>
51             <div class="b_right">&gt</div>
52         </div>
53     </div>

 
 

接下来是我们的JS代码:

 1  var $li = $(".b_list ul li");//获取.b_list里面的所有li,放到$li这个变量里面
 2         var len = $li.length-1;
 3         var _index = 0;//li的索引
 4         var $img = $(".b_main .b_m_pic li");//同上
 5         var $btn = $(".b_btn div");
 6
 7         var timer = null;
 8
 9         //  alert(typeof timer); timer是一个对象
10
11         $li.hover(function(){
12             $(this).addClass("l_hover");//指向li添加样式
13         },function(){
14             $(this).removeClass("l_hover");//指向li删除样式
15         });
16
17         //点击事件
18         $li.click(function(){
19             _index = $(this).index();
20             //获取li的下标,改变样式
21             //$li.eq(_index).addClass("l_click").siblings().removeClass("l_click");
22             //获取图片的下标,实现淡入淡出
23             //$img.eq(_index).fadeIn().siblings().fadeOut();
24             play();
25         });
26
27         //封装函数
28         function play(){
29             //获取li的下标,改变样式
30             $li.eq(_index).addClass("l_click").siblings().removeClass("l_click");
31             //获取图片的下标,实现淡入淡出
32             $img.eq(_index).fadeIn().siblings().fadeOut();
33         }
34
35         //两边耳朵的点击事件
36             $btn.click(function(){
37                 var index = $(this).index();
38                 if(index) {
39                     _index++;
40                     if (_index > len) {
41                         _index = 0;
42                     }
43                     play();
44                 }else {
45                     _index--;
46                     if(_index < 0){
47                         _index = len;
48                     }
49                     play();
50                 }
51             });
52
53         //定时轮播
54         function auto(){
55             //把定时器放进timer这个对象里面
56             timer = setInterval(function(){
57                 _index++;
58                 if(_index > len){
59                     _index = 0;
60                 }
61                 play();
62             },2000);
63         }
64         auto();
65
66         //当我移上d_main的时候停止轮播
67         $(".b_main").hover(function(){
68             clearInterval(timer);
69         },function(){
70             //移开重新调用播放
71             auto();
72         });
73         //当我移上两边耳朵的时候停止轮播
74         $(".b_btn div").hover(function(){
75             clearInterval(timer);
76         },function(){
77             //移开重新调用播放
78             auto();
79         });

下面是我们的效果图:

  

时间: 2024-10-15 03:13:02

jQ实现的一个轮播图的相关文章

用jq代码写出一个轮播图。

由于项目的需要,需要写出一个图片预览的功能,在预览的同时如果预览的图片大于1,还要能够轮播,.所以,这就是一个从后台取图片的路径,然后轮播的一个功能.  当图片数为1时,不显示左右箭头以及轮播圆点. 下面是一个gif的demo: 首先,我们理清了实现的方式.我们先做出一个轮播图的效果. DEMO地址:https://codepen.io/Dios/pen/dzLMVJ 然后我们再通过一些js判断达到图中的效果.

通过一个轮播图插件来了解构造函数

例子:https://github.com/wayaha/rotateChart 在ES5中,构造函数的使用可以说是很能体现面向对象的编程思想,有学过c的同学,可以很明显体会到面向过程和面向对象的区别,不多瞎扯,这次通过一个轮播图的插件来理解一下构造函数: 1.关于对象的创建方式 常见的创建对象方式有:字面量和通过new + 构造函数的方式: 字面量的方式相对灵活.简单:缺点也很明显,用一个需要造一个,不便于复用和属性的继承如下: var person = { name: 'Picker', a

JQ全屏居中轮播图代码

<style> .clearfloat:after{ display: block; clear: both; content: ""; visibility: hidden; height: 0; } .clearfloat{ zoom: 1; } /*轮播图*/ .banners { position: relative; width: 100%;height:542px} .banner-img { position: relative; float: left; w

用JQ去实现一个轮播效果

前提:对于这几天学到的用JQ去实现轮播效果一步步的做一个梳理. 首先肯定是轮播的HTML和CSS样式了: <body> <div class="pic"> <div class="inner"> <img src="img/1.jpg" alt=""> <img src="img/2.jpg" alt=""> <img s

AXURE 8弄一个轮播图的步骤

这个图是网上找到,7.0可以使用. 如果是8.0.没有找到"动态面板"这个地方,如下图所示

jq交叉淡入淡出轮播图

1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Document</title> 6 <style type="text/css"> 7 *{ 8 padding:0; 9 margin:0; 10 } 11 ul,ol{ 12 list-style:

分享一个轮播图匀速播放点击

<div class="xinwen"> <div class="xinwen-left"> <div class="neirong9"> <div class="wai" id="lunbo"> <a class="img1" href="#"></a> <a class="im

用原生的javascript 实现一个无限滚动的轮播图

说一下思路:和我上一篇博客中用JQ去写的轮播图有相同点和不同点 相同点: 首先页面布局是一样的 同样是改变.inner盒子的位置去显示不同的图片 不同点: 为了实现无限滚动需要多添加两张重复的图片 左右切换和前面的方法有所不同,前面是获取当前的索引值乘以-600px当做位移距离,现在是需要获取当前.inner的位置来加上或者减去-600来实现 下面来一步步的去实现轮播图: 首先是html <!DOCTYPE html> <html lang="en"> <

使用jq深入研究轮播图特性

网站轮播图 太耳熟的词了  基本上做pc端的 主页绝壁会来一个轮播图的特效 轮播图他一个页面页面的切换,其实的原理是通过css的定位 ,定位到一起,第一张首先显示,其余默认隐藏. 今天我实现的这个轮播仅是一个下面带数字的简单轮播,先搭好框架,以后遇到实际项目可根据这个的原有的基础上,进行调试 第一步 写好html <div id="banner"> <ul> <li class="on">1</li> <li&g