Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/480.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 仅在触发另一个id时显示div_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript 仅在触发另一个id时显示div

Javascript 仅在触发另一个id时显示div,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我在处理一个div时遇到了一些问题 当我点击“impressum”时,只有impressum显示在中。但当我点击“AboutMe”时,它会显示两个div(AboutMe和impressum) 我瞎了吗 这就是我得到的: <div id="menu"> <div class="inhalt"> <ul> <li><a href="#"><img

我在处理一个div时遇到了一些问题

当我点击“impressum”时,只有impressum显示在
中。但当我点击“AboutMe”时,它会显示两个div(AboutMe和impressum)

我瞎了吗

这就是我得到的:

        <div id="menu">
        <div class="inhalt">
            <ul>
                <li><a href="#"><img src="img/menu/home.png">Home</a></li>
                <li><a href="#" class="ContentBox_open" id="AboutMe"><img src="img/menu/ich.png">Über mich</a></li>
                <li><a href="#" class="ContentBox_open" id="impressum"><img src="img/menu/impressum.png">Impressum</a></li>
            </ul>
        </div>
    </div>

    <div class="ContentBox">
        <div class="close"><img id="ContentBox_close" src="img/menu/kategorien.png" alt="close"></div>
        <div id="impressumTxt" style="display:none;">
            <h1>Impressum</h1>
            <p>bla blub bla bla </p>
        </div>
        <div id="AboutMeTxt" style="display:none;">
            <h1>Über mich</h1>
            <p>bla blub bla bla </p>
        </div>
    </div>
    <script type="text/javascript" charset="utf-8">
        $(function(){
            // impressum anzeigen
            $('.ContentBox_open').click(
                function(event) {
                    var ContentId = event.target.id;
                    $('#'+ContentId+'Txt').fadeTo( 10, 0.90 );
                    $('.ContentBox').fadeTo( "slow", 0.90 );
                }
            );

            // impressum ausblenden
            $('#ContentBox_close').click(
                function() {
                    $('.ContentBox').fadeTo( 1000, 0 );
                }
            );
        });
    </script>

印模 呜呜呜呜呜呜

Über-mich 呜呜呜呜呜呜

$(函数(){ //印模 $('.ContentBox_open')。单击( 功能(事件){ var ContentId=event.target.id; $('#'+ContentId+'Txt').fadeTo(10,0.90); $('.ContentBox').fadeTo(“慢”,0.90); } ); //奥斯布伦登酒店 $(“#ContentBox_close”)。单击( 函数(){ $('.ContentBox').fadeTo(1000,0); } ); });

谢谢你的帮助

关闭容器时,需要隐藏所有子内容div。否则,当您再次淡入父容器时,它们仍然可见。始终确保具有共同行为的项目具有可访问的共同类(我在本例中添加了
class=“content”
):

e、 g

JSFiddle:

如果希望一次只显示一个div,则需要更改显示逻辑以隐藏所有其他内容div


e、 g.JSFiddle:

您可以在About Me和Impressum的文本部分添加一个类,以便在显示其他部分之前隐藏它们

在您的情况下,打开的节不会在另一节打开之前关闭

只需在打开新部分之前添加
$('.class').hide()


如果重新选择当前项目,此方法将闪烁。您会注意到我使用了
$('.content')。而不是($target.hide()在我自己的示例中,为了避免隐藏所选项目:是的,你是对的。我没想过。谢谢,帅哥!!你的两篇文章的结合很好!!
$('.ContentBox').fadeTo(1000, 0, function(){
    $(this).find('.content').hide()
});
    $(function () {
        // impressum anzeigen
        $('.ContentBox_open').click(function (event) {
            var ContentId = event.target.id;
            $('#' + ContentId + 'Txt').fadeTo(10, 0.90);
            $('.ContentBox').fadeTo("slow", 0.90);
        });

        // impressum ausblenden
        $('#ContentBox_close').click(function () {
            $('.ContentBox').fadeTo(1000, 0, function(){
                $(this).find('.content').hide()
            });
        });
    });