首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >元素接收类时,更改另一个元素上的css

元素接收类时,更改另一个元素上的css
EN

Stack Overflow用户
提问于 2017-03-27 20:31:44
回答 1查看 42关注 0票数 0

对我想要实现的目标的简短描述:

当另一个元素获得类时,显示并激活元素上的css动画。

稍长一点的描述:

当带有ID“小部件-1”的li元素获得类“正常-不透明度”时,我希望DIV“动画-小部件-1”中的动画开始。

当类“普通-不透明”继续到下一个li元素“小部件-2”时。我想隐藏以前的动画(在本例中是DIV“动画-小部件-1”),而不是显示与当前li-元素链接的动画(在本例中是小部件-2)。

最后:当类“普通-不透明”返回到第一个li元素“小部件-1”时,我希望动画重新启动。

包含列表和包含隐藏动画的div的部分。

代码语言:javascript
复制
<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元素。

代码语言:javascript
复制
$(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

代码语言:javascript
复制
/*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 :)

EN

回答 1

Stack Overflow用户

发布于 2017-03-27 20:49:00

就像这样,你只需要把一个类链接到李上;

代码语言:javascript
复制
.function-list li.normal-opacity div {
  /* code you want to activate goes here */
}

这样,您在包含的代码段中放置的任何内容都将应用于div。如果要启动动画,可能只需添加必要的animation属性即可。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43055929

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档