微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – 单击时显示元素,不活动时再次隐藏

我已经设置了一个JSfiddle,我试图显示和隐藏一些文本.
当您单击任何“staff”元素并在动画结束后,我在每个类中显示的文本显示.当用户再次单击“staff”元素时,文本会隐藏/淡出.

正在进行的工作在这里http://jsfiddle.net/tJugd/3571/

HTML:

CSS:

.slide{
    height:568px;
    overflow: hidden;
}
.staff{
    -webkit-user-select: none;
    -webkit-user-drag: none;
    -webkit-tap-highlight-color: rgba(0,0);
    touch-action: none;
    -webkit-transform-origin: 0px 0px 0px;
    opacity: 1;
    -webkit-transform: scale(1,1);
    width:33%;
    height:568px;
    background:red;
    float: left;
}
.staff-matt{
    background:red;
    Box-shadow: rgba(0,0.298039) 4px 4px 10px 0px;
}
.staff-shail{
    background:white;
    Box-shadow: rgba(0,0.298039) 4px 4px 10px 0px;
}
.staff-leah{
    background:red;
    Box-shadow: rgba(0,0.298039) 4px 4px 10px 0px;
}

#text1,#text3{
    position:relative;
    background-color:white;
    width:50%;
}

JS:

$('.staff').click(function(){
    if($(this).hasClass('clicked')){
        $('.staff').animate({width:'33%'});
    } else {
        $('.staff').not(this).animate({width:'0%'});
        $(this).animate({width:'100%'});
    }
    $(this).toggleClass('clicked');
});
最佳答案
$('.staff').click(function(){
    if($(this).hasClass('clicked')){
        $('.staff').finish().animate({width:'33%'},function() {
          $("[id^=text]").fadeOut()
        });
    } else {
        $('.staff').not(this).finish().animate({width:'0%'});
        $(this).finish().animate({width:'100%'},function() {
          $("[id^=text]").fadeIn()
        });
    }
    $(this).toggleClass('clicked');
});

jsfiddle http://jsfiddle.net/tJugd/3575/

原文地址:https://www.jb51.cc/html/426556.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐