对我想要实现的目标的简短描述:
当另一个元素获得类时,显示并激活元素上的css动画。
稍长一点的描述:
当带有ID“小部件-1”的li元素获得类“正常-不透明度”时,我希望DIV“动画-小部件-1”中的动画开始。
当类“普通-不透明”继续到下一个li元素“小部件-2”时。我想隐藏以前的动画(在本例中是DIV“动画-小部件-1”),而不是显示与当前li-元素链接的动画(在本例中是小部件-2)。
最后:当类“普通-不透明”返回到第一个li元素“小部件-1”时,我希望动画重新启动。
包含列表和包含隐藏动画的div的部分。
<section id="widget-section">
<div class="function-content">
<ul class="function-list">
<li class="normal-opacity" id="widget-1">
<div>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
</div>
</li>
<li id="widget-2">
<div>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
</div>
</li>
<li id="widget-3">
<div>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
</div>
</li>
<li id="widget-4">
<div>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
</div>
</li>
</ul>
</div>
<div class="animations">
<div class="animated bounceoutdown" id="animation-widget-1">
<i class="material-icons md-48 animated bounceindown">smartphone</i>
<i class="material-icons md-48 animated bounceindown">email</i>
<i class="material-icons md-48 animated bounceindown">chat_bubble_outline</i>
</div>
</div>
</section>JQUERY
类“正常不透明度”跳到列表“函数列表”中的下一个li元素。
$(function () {
var lis = $("#widget-section .function-list> li"),
currentHighlight = 0;
N = 6; //interval in seconds
setInterval(function () {
currentHighlight = (currentHighlight + 1) % lis.length;
lis.removeClass('normal_opacity').eq(currentHighlight).addClass('normal_opacity');
}, N * 1000);
});CSS
/*MAKES LI ELEMENT HAVE OPACITY 0.5*/
.function-list li {
opacity: 0.5;
}
.function-list .normal-opacity {
opacity: 1;
}
/*HIDES THE ANIMATION*/
.animations {
visibility: hidden;
}
/*DECIDE WHEN ANIMATIONS WILL START*/
#animation-widget-1 {
animation-delay: 5s;
}
#animation-widget-1 i:first-child {
animation-delay: 1s;
}
#animation-widget-1 i:nth-child(2) {
animation-delay: 1.3s;
}
#animation-widget-1 i:last-child {
animation-delay: 1.6s;
}我希望这个问题不要太奇怪,我的描述也不错。
GIF列表动画:与Giphy的链接
请评论解决方案/提示和解决此问题的trix :)
发布于 2017-03-27 20:49:00
就像这样,你只需要把一个类链接到李上;
.function-list li.normal-opacity div {
/* code you want to activate goes here */
}
这样,您在包含的代码段中放置的任何内容都将应用于div。如果要启动动画,可能只需添加必要的animation属性即可。
https://stackoverflow.com/questions/43055929
复制相似问题