一个控制器两个轮播

前几天写了一个轮播,在一个控制器里面有两个轮播,刚开始写的时候思路全是错的,发现睡了一晚上灵感就来了

思路:首先一个控制器要有上下轮播和左右轮播

  上下轮播几乎我们自己都会写,而且网上插件也可多什么样的效果我们都可以写

  左右轮播如上下轮播一样,例子啊,效果啊五花八门.

  但是两个轮播合在一起怎么写呢

  两个箭头控制两个轮播器

  废话不多说上代码,木有什么是代码解决不了的问题

html代码,两个ul一个左右轮播一个上下轮播

 1 <div class="container">
 2             <div class="content">
 3                 <div class="btn">
 4                     <a href="#" class="btnleft"></a>
 5                     <a href="#" class="btnright"></a>
 6                 </div>
 7                 <ul class="cente">
 8                     <li style="opacity:1;"><img src="img/317b62af7a20be63dee60bde1b487f983c11f6cb.jpg" alt=""></li>
 9                     <li><img src="img/3ea892333cc66573a544ad620c1ad6cefbb2b0b1.jpg" alt=""></li>
10                     <li><img src="img/4e621babe65f17f2897b5ec782a8274396189243.jpg" alt=""></li>
11                     <li><img src="img/a6dae7c99313ec1fbf368a8c486df37988120a94.jpg" alt=""></li>
12                     <li><img src="img/cfd9a70f6537c1dd50c9144623f9fb315d0c8aab.jpg" alt=""></li>
13                 </ul>
14                 <div class="lun">
15                     <ul class="cent">
16                         <li><img src="img/317b62af7a20be63dee60bde1b487f983c11f6cb.jpg" alt=""></li>
17                         <li><img src="img/3ea892333cc66573a544ad620c1ad6cefbb2b0b1.jpg" alt=""></li>
18                         <li><img src="img/4e621babe65f17f2897b5ec782a8274396189243.jpg" alt=""></li>
19                         <li><img src="img/a6dae7c99313ec1fbf368a8c486df37988120a94.jpg" alt=""></li>
20                         <li><img src="img/cfd9a70f6537c1dd50c9144623f9fb315d0c8aab.jpg" alt=""></li>
21                     </ul>
22                 </div>
23             </div>
24         </div>

css样式

.container{
    min-width:1024px;
    min-height: 300px;
    margin:0 auto;

}
.btn{
    min-width:1010px;
    height:100px;
    position: absolute;
    top: 10%;
}
.content{
    max-height:300px;
    margin:0px auto;
    position:relative;
    border:1px solid #CCC;
    overflow: hidden;
    max-width:1000px;
}
.btn a{
    display:block;
    width:50px;
    height:100px;
    position:absolute;
    top:72%;
    margin-top:-50px;
    z-index:25;
}
.btnleft{
    opacity:0.5;
    left:0px;
    background:url("../images/sprite.png") no-repeat;
}
.btnright{
    opacity:0.5;
    right:0px;
    background:url("../images/sprite.png") no-repeat -60px 0px;
}
.cente{float:left;}
.cent{float:right;margin-top:0;overflow: hidden;transition: all in 0.5s;}
.content .cente li{
    width:400px;
    min-height:300px;
    opacity: 0;
    position:absolute;
}
.lun{min-height:300px;overflow: hidden;}
.content .cente li img{width:4500px;min-height:300px;}
.content .cent li img{width:100%;min-height:150px;display: block;}
.content .cente li{
    width: 70%;
}
.content .cent{
    width: 30%;
    margin:0;
}
.content .cent li{
    width: 100%;
}
*{
    margin:0px;
    padding:0px;
    list-style:none;
    border:0;
    outline:none;
    /*横向不出现滚动条*/
    overflow-x:none;
}
body{
    line-height:1;
    font-size:88%;
}
h1,h2,h3,h4,h5,h6{
    font-weight:normal;
}
a{
    color:#404040;
    text-decoration:none;
}

js代码

 1 $(function(){
 2     var m=0;
 3     var time=null;
 4     //时间
 5     function move_img(){
 6         time=setInterval(function(){
 7             $(".cente").find("li").eq(m).css("opacity","0");
 8             m++;
 9             $(".cent").animate({marginTop:"-150px"},function(){
10                  $(".cent").css({marginTop:"0px"});
11                  $(".cent li:first").remove().clone(true).appendTo(".cent");
12                    })
13             if(m>4){
14                 m=0;
15             }
16             $(".cente").find("li").eq(m).css("opacity","1");
17         },2000);
18     }
19     move_img();
20     //左边点击
21     $(".btnleft").click(function(){
22         console.log(m)
23         $(".cente").find("li").eq(m).css("opacity","0");
24         m--;
25         // n=-($(".cent").find("li").eq(m).find("img").height())*m;
26         if(m<0){
27             m=4;
28
29         }    $(".cent").animate({marginTop:"0px"},function(){
30              $(".cent").css({marginTop:"-150px"});
31              $(".cent li:last").remove().clone(true).prependTo(".cent");
32         })
33         $(".cente").find("li").eq(m).css("opacity","1");
34     });
35     //右边点击
36     $(".btnright").click(function(){
37         console.log(m)
38         $(".cente").find("li").eq(m).css("opacity","0");
39         m++;
40         if(m>4){
41             m=0;
42         }    $(".cent").animate({marginTop:"-150px"},function(){
43              $(".cent").css({marginTop:"0px"});
44              $(".cent li:first").remove().clone(true).appendTo(".cent");
45         })
46         $(".cente").find("li").eq(m).css("opacity","1");
47     });
48     $(".content").hover(function(){
49         clearInterval(time);
50     },function(){
51         move_img();
52     });
53 });
时间: 2024-08-11 07:42:53

一个控制器两个轮播的相关文章

一步一步拆解一个简单的iOS轮播图(三图)

导言(可以不看): 不吹不黑,也许是东半球最简单的iOS轮播图拆分注释(讲解不敢当)了(tree new bee).(一句话包含两个人,你能猜到有谁吗?提示:一个在卖手机,一个最近在卖书)哈哈... 我第一次项目中需要使用轮播图的时候我是用的别人写好的一个轮子,那个轮播封装很多东西,包括比如可以设置pageControl的位置,可以传图片url或本地图片,缓存网络图片等等.但是我觉得没必要搞那么复杂,我喜欢简单并足够做事的东西.现在有时间便想自己把它拆解一下.看了一些简书上一些作者写的关于轮播图

记一个好用的轮播图的FlexSlider

之前给自己公司的主页套用过一个js动态生成的轮播图,但是从载入的时机和载入后的效果都不太理想,又懒得去优化了,这次偶然遇到一个比较不错的轮播图的js插件,记录之. 首先它是给予jquery的,引进jquery和jquery.flexslider-min.js,然后定义div范围,在div内定义好要轮播的ul和li标签,然后设置flex参数渲染即可.不多说,上代码 <html> <body> <div class="flexslider"> <u

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

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

关于最近在做的一个js全屏轮播插件

最近去面试了,对方要求我在一个星期内用原生的js代码写一个全屏轮播的插件,第一想法就是跟照片轮播很相似,只是照片轮播是有定义一个宽高度大小已经确定了的容器用来存储所有照片,然后将照片全部左浮动,利用margin-left的值不断变化,来改变显示哪张照片,当达到最后一张的时候,将第一张照片appendChild到最后一张照片的后面,如果有左右移动的话,当到达第一张照片时,还要继续左移动的话,就将最后一张照片利用insertBefore,将最后一张照片放在第一张照片的前面,这两个方法都只是改变子元素

纯HTML/CSS/JS实现淘宝、京东两种轮播图

最近刚好重新看了一下前端的内容,在做网页banner的时候实现轮播图上遇到了问题. 本着不想用轮子的心态,在网上查了半天很多实现有点问题(逼死强迫症 于是对着淘宝和京东首页两种不同的轮播图做了一个实现. 循环式(淘宝首页) 大概思路: 为了实现无限循环,在第一张图前放一个最后一张图,最后一张图后面放一个第一张图 <li><img src="image3.jpg" alt=""></li> <li><img src

react 实现一个无限循环的轮播器 附github地址

一个简单的轮播 为了更具有通用和参考性,轮播组件中,轮播只使用了react,没有添加其他的状态管理,或者参数类型限制的库. github地址 最终效果 显示无限循环原理 如图所示,如果轮播里面有三个部分,那么可以在首端前添加一个跟最后一块一样的dom节点,同理在最末端添加跟首端相同的节点,这样当轮播到末端,在下一张的情况下,就可以无缝衔接首端的节点,然后当动画结束后,在直接切换到真正的首端,就实现了无缝衔接的轮播器 组件代码 import React, {Component} from 'rea

一个简单的图片轮播功能(图片自动播放,点击控件可直接跳转对对应图片)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

用js函数封装一个上下滑动的轮播图,调用任意

<!DOCTYPE html><html><head> <meta charset="utf-8"> <title></title> <style type="text/css"> .tab{ width: 500px; height: 300px; border: 1px solid red; margin: 0 auto; overflow: hidden; position:

一个简单的图片轮播效果,

<!doctype html> <html> <head> <meta charset="utf-8"> <title>无标题文档</title> </head> <style type="text/css"> .asd{ background-color:#1ADC9D; border:2px solid:#F30A0E; width:25px; height:25px