切换功能使所有其他div消失

时间:2013-12-30 17:29:08

标签: javascript jquery html css toggle

所以我有很多div(行星)。我想通过点击它们让它们消失。到目前为止,我只有地球和太阳。在我的测试运行中,当我点击太阳时,地球也消失了。什么是正确的代码,以便不是所有的行星都只需点击一下即可消失。

HTML:

<div class="planets" id="sun"><div>
<div class-"planets" id="earth"></div>

CSS:

#sun {
    background-image: -webkit-gradient(linear, 100% 45%, 0% 97%, from(#FEA901),     to(#FE4801));
    background-image: -webkit-linear-gradient(top, #FEA901, #FE4801); 
    background-image:    -moz-linear-gradient(top, #FEA901, #FE4801);
    background-image:     -ms-linear-gradient(top, #FEA901, #FE4801);
    background-image:      -o-linear-gradient(top, #FEA901, #FE4801);
    position:relative;
    border:3px solid orange;
    height:150px;
    width:150px;
    position: absolute;
    left: 50%;
    top: 50%; 
    margin-left: -150px;
    margin-top: -150px;
    border-radius:50%;
    -webkit-box-shadow: 0px 0px 30px 5px rgba(255, 255, 190, .75);
    -moz-box-shadow: 0px 0px 30px 5px rgba(255, 255, 190, .75);
    box-shadow: 0px 0px 250px 100px rgba(240, 176, 12, .75);
}

#earth {
    position:absolute;
    top:440px;
    right:700px;
    height:100px;
    width:100px;
    border-radius:50%;
    border:1px solid white;
    background-image: -webkit-gradient(linear, 100% 45%, 0% 97%, from(#068143), t(#FE4801));
    background-image: -webkit-linear-gradient(top, #2215DF, #068143); 
    background-image:    -moz-linear-gradient(top, #FEA901, #068143);
    background-image:     -ms-linear-gradient(top, #FEA901, #068143);
    background-image:      -o-linear-gradient(top, #FEA901, #068143);
    -webkit-box-shadow: 0px 0px 30px 5px rgba(131, 180, 226, .75);
    -moz-box-shadow: 0px 0px 30px 5px rgba(131, 180, 226, .75);
    box-shadow: 0px 0px 50px 10px rgba(131, 180, 226, .75);
}

JS:

$(document).ready(function() {
    $("html").mousemove(function(e){
        $('.follow').css({'top': e.clientY - 100, 'left': e.clientX - 60});
    }); 
    $('.planets').click(function() {
        $('#sun').toggle(1000);
    });
});

2 个答案:

答案 0 :(得分:2)

$('.planets').click(function() {
    $(this).hide();
}

你也可以

$('.planets').click(function() {
    $(this).toggle();
}

但它没有意义,因为在它已经隐藏之后你无法点击它再次出现

答案 1 :(得分:1)

您的代码中有几个拼写错误。你忘记了</div>太阳,这使它无法正确解析,地球也不会出现。你也有 - 而不是为了班级。以下是您修复的代码:

jsFiddle