讲一个使用jquery-slick旋转木马效果插件案例

效果展示连接 http://www.jqcool.net/demo/201405/jquery-slick/

今天刚接触这个插件,被这插件搞的大脑风暴了 所以来记录一下使用方法

首先注意一点 不特别标注 slide:'li' 就只对div管用 

引入

<link href="css/slick.css" rel="stylesheet" type="text/css" />
<script src="js/jquery-1.9.1.min.js" type="text/javascript"></script>
<script type="text/javascript" src="js/slick.js"></script>

 要记得引入他的css和js 还有jq 注意顺序

HTML部分

 <div class="nav_yysj slick" id="wrapper"> //给大盒子添加slick类名
<div> //这个div 是必须加上的 slick 会在这个空div上自动生成样式 所以必须在你所需要滚动的模块上面 添加一个空的div
<div class="on" style=" 450px"> <a href="bespeak.html"> <img src="images/nav_01.png" alt="" width="420" height="220"/> <span class="car_list_logo">BWM x6</span>      <span class="sjia">        试驾       </span> </a> </div> </div> <div> <div style=" 420px"> <a href="bespeak.html"> <img src="images/nav_01.png" alt="" width="450" height="220"/> <span class="car_list_logo">BWM x6</span>      <span class="sjia">     试驾      </span> </a> </div> </div> <div> <div class="on" style=" 420px"> <a href="bespeak.html"> <img src="images/nav_01.png" alt="" width="450" height="220"/> <span class="car_list_logo">BWM x6</span>      <span class="sjia"> 试驾      </span> </a> </div> </div> <div> <div class="on last_li" style=" 420px"> <a href="baoma.html"> <span class="car_list_logo">查看更多 <i></i></span> <span class="sjia"></span> </a> </div> </div> </div>

js部分

$(function(){
        $('.slick').slick({
            infinite: true,//是否循环播放
            speed: 300,//速度
            slidesToShow: 1,//单个展示模块 1
            touchMove: false,
            slidesToScroll: 1//每次滑动展示模块 1个
        });
    });

这些都不是最让人头疼 最让人头疼就是 样式 因为我本身使用的是ul li,效果采用jquery.touchSwipe.min.js实现 ,但是这个滑动会有一点点卡卡的 所以换成了这个 

.slick{
给大盒子 定下尺寸 750px; margin: 0 auto; } .slick-slide{ 450px; height: 203px; /* margin-right: 23px;*/
    这个slick-slide是每一个滑动模块外层空div的class 也是判断是否绑定上滑动方案的方法 在这里不能添加 margin 因为 最大层.slick里面会生成一个div
    这个div会自动添加类名slick-list draggable然后这个下面会生成一个div slick-track,
    div slick-track他用来承载要滚动的每一个小块,他的宽度是根据里面的slick-slide的width大小确定 不计算margin 
    如果超出 一行就会放不下 所以就不可以在这个类名上使用margin值
   } 


#overflow .nav_yysj div.slick-active a{ 420px; height: 220px; margin-top: -10px; //slick-active是选中状态要有样式 注意优先级}
#overflow .nav_yysj div.slick-track{ background: transparent; height: 203px; } //.slick-track 可能因为样式的问题出现白色背景 所以设置为透明
slick-center{ height: 220px; margin-top: -10px; } //这个是你用了有center类名的那个js代码时候才使用的 
.slick-center a{ height: 220px; }
.slick-list{ 450px; overflow: visible; padding: 0;这个主要是用来使超过部分被看到 和设计的样式有关 与slick没多大关系 }
.slick-cloned{ 450px; height: 203px; 这个样式每一个不被选中的样式}

下面粘贴一个简单的例子 以供回忆

HTML部分

<div class="slick">
    <div><img src="images/1.jpg" alt=""></div>
    <div><img src="images/2.jpg" alt=""></div>
    <div><img src="images/3.jpg" alt=""></div>
    <div><img src="images/4.jpg" alt=""></div>
    <div><img src="images/5.jpg" alt=""></div>
    <div><img src="images/6.jpg" alt=""></div>
</div>

JS部分

$(function(){
$('.slick').slick({
centerMode: true,
centerPadding: '60px',
slidesToShow: 3,
responsive: [
{
breakpoint: 768,
settings: {
arrows: false,
centerMode: true,
centerPadding: '40px',
slidesToShow: 3
}
},
{
breakpoint: 480,
settings: {
arrows: false,
centerMode: true,
centerPadding: '40px',
slidesToShow: 1
}
}
]
});
});

CSS部分

.slick{ 750px;margin: 0 auto;}

.slick-slide{border-bottom: 2px solid blue;} 其它为蓝色底边框
.slick-center{ border: 2px solid red;被选中的 为红色边框 }

写好以后,检查会发现 你的结构会变成下图

自动生成了三层结构

效果图为

原文地址:https://www.cnblogs.com/GoTing/p/6522864.html