如何使用jQuery切换显示这两个元素?

时间:2013-06-21 12:01:35

标签: jquery html css jsfiddle

所以,我编写了一个快速的jQuery函数来了解我正在寻找什么,如果有人可以帮我解决这个问题。我读了一些关于让一个元素隐藏而另一个元素显示的帖子。我对jQuery没有太多经验,所以我提前道歉。我找到的是你可以同时调用,或者你可以使用第二个语句作为回调。我真的只是想找一些能够以适度淡化来切换两者显示的东西。我记得我不希望三角形移动,它应该好像文本只是在三角形内部改变。但我在这里所拥有的似乎并不有效。 我想在页面加载时隐藏第二个三角形,但我无法得到它,而且我也无法在点击时隐藏第一个三角形。我只是想快速解决这个问题。提前谢谢。

这是HTML:

<div class="buttons">
    <div class="container">
        <div class="button1"><p>1</p></div>
        <div class="button2"><p>2</p></div>
    </div>
</div>

伴随着jQuery功能:

$(window).load(function(){
    $('.button2').hide();
});
$('.button1').click(function(){
    $('.button1').hide();
    $('.button2').show();
});
$('.button2').click(function(){
    $('.button2').hide();
    $('.button1').show();
});

有点CSS:

.buttons{
    width:100%;
}
.buttons .container{
    text-align:center;
}
.button1, .button2{
    display:inline-block;
    width:0;
    height:0;
    border-left:40px solid transparent;
    border-right:40px solid transparent;
    border-top:40px solid #CC0000;
    cursor:hand; cursor:pointer;
}
.button1 p, .button2 p{
    position:absolute;
    color:#F9F9F9;
    z-index:9999;
    margin-top:-30px;
    margin-left:-2px;
    font-size:7px;
}

如果有人愿意改变任何内容,这里是jsfiddle

5 个答案:

答案 0 :(得分:10)

使用jquery toggle()方法:

http://jsfiddle.net/4cWH3/6/

$('.button1,.button2').click(function(){
    $('.button1,.button2').toggle();
});

答案 1 :(得分:4)

这样做:

$('.button1,.button2').click(function(){
    $('.button1').toggle();
    $('.button2').toggle();
});

首先,您可以收听多个元素,其次 - .toggle()函数将根据当前状态为您显示/隐藏

Working example here

注意:CSS在.之前缺少button2,你需要选择一个库(即jQuery)

答案 2 :(得分:0)

解决方案

你的代码工作正常!(即使它没有优化)

注意:不要忘记包含 jQuery

CSS 中缺少

CSS

.button1, button2{
    display:inline-block;
    width:0;
    height:0;
    border-left:40px solid transparent;
    border-right:40px solid transparent;
    border-top:40px solid #CC0000;
    cursor:hand; cursor:pointer;
}

应该从.button1 .button2开始!在 button2 之前有一个缺失点。

JSFiddle

答案 3 :(得分:0)

有一些淡化效果:

$('.button1,.button2').click(function(){
    $('.button1,.button2').filter(':visible').fadeToggle({
       done: function(){
            $(this).siblings().fadeToggle();
        }
    });
});

答案 4 :(得分:0)

fiddle

愿这会有所帮助

var toggleButtons = function() {
 $('.button2,.button1').toggle();
} 

$('.button1,.button2'').click(function(){
   toggleButtons();
});