Carousel - 旋转木马基本示例
step
为步长,即每切换一次,移动多少个 panels,而 viewSize 为滑动窗口的大小,一般为 panels 的整数倍。viewSize
默认是自动计算,但有时设置不准确,特别是 panels 和容器设置了乱七八糟的 padding 时。所以这是需要手工指定 viewSize。size
为视窗内有多少个 panels,渲染时会进行克隆。旋转木马使用如下样式
.carousel{
overflow: hidden;
margin: 0 auto;
}
.carousel .carousel-content{
height: 90px;
}
.carousel ul{
margin: 0;
padding: 0;
}
.carousel .carousel-content li{
list-style: none;
}
.carousel .carousel-content li .text{
height: 90px;
width: 100px;
text-align: center;
line-height: 90px;
font-size: 60px;
background: gray;
color: #fff;
font-weight: bold;
}
.carousel .ui-switchable-nav{
height: 10px;
margin-top: 10px;
text-align: center;
}
.carousel .ui-switchable-trigger{
display: inline-block;
height: 10px;
vertical-align: top;
list-style: none;
width: 30px;
margin-left: 10px;
background: gray;
font-size: 0;
}
.carousel .ui-switchable-active{
background: red;
}
<div id="carousel-01" class="carousel" style="width: 300px;">
<div class="carousel-content">
<ul data-role="content">
<li><div class="text">01</div></li>
<li><div class="text">02</div></li>
<li><div class="text">03</div></li>
<li><div class="text">04</div></li>
<li><div class="text">05</div></li>
</ul>
</div>
<ul data-role="nav"></ul>
</div>
var Carousel = FNX.include('switchable/carousel');
new Carousel({
effect: 'scrollx',
interval: 1000,
duration: 1000,
autoplay: true,
size: 3,
element: '#carousel-01'
});
<div id="carousel-02" class="carousel" style="width: 600px;">
<div class="carousel-content">
<ul data-role="content">
<li><div class="text">01</div></li>
<li><div class="text">02</div></li>
<li><div class="text">03</div></li>
<li><div class="text">04</div></li>
<li><div class="text">05</div></li>
<li><div class="text">06</div></li>
<li><div class="text">07</div></li>
<li><div class="text">08</div></li>
<li><div class="text">09</div></li>
<li><div class="text">10</div></li>
<li><div class="text">11</div></li>
<li><div class="text">12</div></li>
</ul>
</div>
<ul data-role="nav"></ul>
</div>
var Carousel = FNX.include('switchable/carousel');
new Carousel({
effect: 'scrollx',
interval: 2000,
autoplay: true,
size: 6,
step: 2,
element: '#carousel-02'
});