我有一系列用户可以使用“下一步”和“后退”按钮进行遍历的圈子。该过程从第一步开始,然后进入最后一步。当用户单击下一个按钮时,当前圆减小到其正常大小,下一个圆放大。我想添加一个动画,以便当前的圆圈动画为正常大小,下一个圆圈的动画大小更大。我还希望当前选定的圆圈周围有边框。
这是一张图片:
这是一个小提琴的开始: http://jsfiddle.net/psivadasan/4Q4Z2/
HTML
<div id="circle-container">
<div class="circle"></div>
<div class="circle"></div>
<div class="circle-selected"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
</div>
<div>
<div class="back">Back</div>
<div class="next">Next</div>
</div>
CSS
.circle {
width: 50px;
height: 50px;
-moz-border-radius: 50%;
-webkit-border-radius: 50%;
border-radius: 50%;
background: #4679BD;
display: inline-block;
margin: 0 10px 20px 0;
}
.circle-selected {
width: 70px;
height: 70px;
-moz-border-radius: 50%;
-webkit-border-radius: 50%;
border-radius: 50%;
background: #4679BD;
display: inline-block;
margin: 0 10px 10px 0;
}
.back {float: left; margin: 0 20px 0 0;}
.next {float: left;}
的JavaScript
$(".next").live('click', function() {
$("#circle-container").find('.circle-selected').next().addClass("circle-selected");
});
答案 0 :(得分:1)
对于圆形边框,只需使用box-shadow
:
.circle-selected {
width: 70px;
height: 70px;
-moz-border-radius: 50%;
-webkit-border-radius: 50%;
border-radius: 50%;
background: #4679BD;
display: inline-block;
margin: 0 10px 10px 0;
box-shadow: 0 0 0 3px #000; /* Added this */
}
关于转换,只需将其添加到circle
类:
.circle {
width: 50px;
height: 50px;
-moz-border-radius: 50%;
-webkit-border-radius: 50%;
border-radius: 50%;
background: #4679BD;
display: inline-block;
margin: 0 10px 20px 0;
transition: all 2s; /* Added these */
-webkit-transition: all 2s;
-moz-transition: all 2s;
}
要在选择下一个圆圈时从元素中删除该类,您将使用以下内容:
$(".next").live('click', function() {
$("#circle-container").find('.circle-selected').removeClass('circle-selected').next().addClass("circle-selected");
});
如果您想添加back
功能,只需使用.prev()
而不是.next()
:
$(".next").live('click', function() {
$("#circle-container").find('.circle-selected').removeClass('circle-selected').next().addClass("circle-selected");
});
$(".back").live('click', function() {
$("#circle-container").find('.circle-selected').removeClass('circle-selected').prev().addClass("circle-selected");
});