【发布时间】:2015-07-07 13:37:12
【问题描述】:
我想创建一个简单的内容滑块,将元素移动到不同的层,看看小提琴:
http://jsfiddle.net/ujmdjL00/3/
$(document).ready(function() {
var offset = 0;
var opacity = 1;
var zindex = $("#slider li").length;
var nextBtn = $("#next");
var prevBtn = $("#prev");
$("#slider li").each(function() {
$(this).css({
top: -offset,
bottom: offset,
left: offset,
right: offset,
opacity: opacity,
zIndex: zindex
});
offset = offset + 10;
opacity = opacity - 0.2;
zindex = zindex - 1;
});
nextBtn.click(function() {
});
prevBtn.click(function() {
});
});
#slider {
width: 400px;
margin: 100px auto 0 auto;
position: relative;
padding: 0;
list-style: none;
}
#slider li {
background: #000;
height: 300px;
line-height: 300px;
color: #fff;
position: absolute;
text-align: center;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id="prev">prev</button>
<button id="next">next</button>
<ul id="slider">
<li>Slide #1</li>
<li>Slide #2</li>
<li>Slide #3</li>
<li>Slide #4</li>
</ul>
如果单击“下一步”按钮,则第一张幻灯片应放大并淡出,然后显示第二张(每张幻灯片都必须移动,第一张附加在末尾)。
我的问题:
如何创建这样的循环? 最好的方法是什么 - 克隆第一张幻灯片或移动?
我应该使用transform: scale(); 还是操纵宽度/高度?
我也不确定如何实现动画 - 任何有用的提示/链接?
谢谢!
【问题讨论】:
-
拥有一个存储状态的数组可能是一个不错的起点。它肯定会简化确定哪些元素会产生哪些效果。
-
@bcdan 谢谢,我更新的小提琴:jsfiddle.net/ujmdjL00/5 - 但我仍然不知道如何创建动画:/
标签: jquery css 3d slider switch-statement