【发布时间】:2013-09-05 13:12:06
【问题描述】:
来自 Stackoverflow 的专业人士您好,我有多个 span 元素,我需要按元素的某种顺序为其添加 jquery 效果。我已经写了一个原始的方法来做到这一点(比如这里:JSfiddle)。
这是 HTML:
<div class="content">
<span id="zoom-1" class="bold">ZOOMING 1</span>
<span id="zoom-2" class="highlight-blue">ZOOMING 2</span>
<span id="zoom-3">ZOOMING 3</span>
</div>
<div class="content">
<span id="zoom-4" class="highlight-grey">ZOOMING 4</span>
<span id="zoom-5">ZOOMING 5</span>
<span id="zoom-6" class="highlight-red bold">ZOOMING 6</span>
</div>
CSS:
.content {
position:relative;
color:#000;
line-height:50px;}
#zoom-1, #zoom-2, #zoom-3, #zoom-4, #zoom-5, #zoom-6 {
position:relative;
margin:0 auto;
font-size:0;
line-height:0;
}
.bold {font-weight:bold;}
.highlight-red {color:red;}
.highlight-blue {color:blue;}
.highlight-grey {color:grey}
.size-10 {font-size:10px;}
.size-20 {font-size:20px;}
.size-30 {font-size:30px;}
JS:
jQuery(document).ready(function(){
$('#zoom-1').animate({
'font-size':'10px'
}, 500,function(){
$('#zoom-2').animate({
'font-size':'30px'
},500,function(){
$('#zoom-3').animate({
'font-size':'20px'
},500,function(){
$('#zoom-4').animate({
'font-size':'20px'
},500,function(){
$('#zoom-5').animate({
'font-size':'10px'
},500,function(){
$('#zoom-6').animate({
'font-size':'30px'
},500);
});
});
});
});
});
});
但是如您所见,对于超过 3 个元素,这种方式很难实现。
我已将 .bold、.highlights 和 .sizes 类定义为元素的未来属性,并且我尝试将 .animate() 与 .addClass() 结合使用,但没有成功。
由于我必须为 20 多个具有自定义属性的元素“制作动画”,您能否帮助我提供一个高级但更易于实施的解决方案?我正在寻找兼容 IE8+ 的解决方案。
提前谢谢你。
【问题讨论】: