首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jquery显示隐藏多个div在单击后要隐藏触发器单击链接。

jquery显示隐藏多个div在单击后要隐藏触发器单击链接。
EN

Stack Overflow用户
提问于 2014-05-29 18:08:15
回答 2查看 2.1K关注 0票数 0

我使用这段代码显示/隐藏多个div:小提琴

HTML

代码语言:javascript
复制
<ul class="fade_text">
    <li><a href="#" onClick="showdiv('astro-1'); return false;" class="toggle"><h4>Was ist ein Teleskop?</h4></a>

        <div id="astro-1" class="showHideDiv">
            Some Content
        </div>
    </li>
    <li><a href="#" onClick="showdiv('astro-2'); return false;" class="toggle"><h4>Lichtsammelvermögen</h4></a>

        <div id="astro-2" class="showHideDiv">
            Some Content
        </div>
    </li>
    <li><a href="#" onClick="showdiv('astro-3'); return false;" class="toggle"><h4>Grenzgröße (der schwächsten erkennbaren Sterne)</h4></a>

        <div id="astro-3" class="showHideDiv">
            Some Content
        </div>
    </li>
    <li><a href="#" onClick="showdiv('astro-4'); return false;" class="toggle"><h4>Auflösung(svermögen)</h4></a>

        <div id="astro-4" class="showHideDiv">
            Some Content
        </div>
    </li>
    <li><a href="#" onClick="showdiv('astro-5'); return false;" class="toggle"><h4>Vergrößerung</h4></a>

        <div id="astro-5" class="showHideDiv">
           Some Content
        </div>
    </li>
</ul>

JS

代码语言:javascript
复制
$(document).ready(function () {
    function showHideDivs() {
        $('.showHideDiv').each(function () {
            if ($(this).prevAll('a.toggle:first').hasClass('expanded')) {
                $(this).show();
            } else {
                $(this).hide();
            }
        });
    }

    $('a.toggle').click(function () {
        var addExpanded = !$(this).hasClass('expanded');
        $('a.toggle').removeClass('expanded');
        if (addExpanded) {
            $(this).addClass('expanded');
        }
        showHideDivs();
    });

    showHideDivs();
});

一切都很好。

我的问题是:我想隐藏f.e的链接。单击链接并显示文本容器后,将显示“Lichtsammelverm gen”。

我怎么能这么做?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-05-29 18:13:23

您可以添加一个hide()调用

代码语言:javascript
复制
    $(this).hide();

如果您想在单击另一个标头时重新显示它,也可以这样做:

代码语言:javascript
复制
    $('a').show();
    $(this).hide();

示例:http://jsfiddle.net/7pXpK/11/

票数 0
EN

Stack Overflow用户

发布于 2014-05-29 18:13:10

http://jsfiddle.net/7pXpK/10/

$(this).hide()为false时编写addExpanded

代码语言:javascript
复制
    $('a.toggle').click(function () {
        var addExpanded = !$(this).hasClass('expanded');

        if (addExpanded) {
            $(this).addClass('expanded');
        } else {
            $('a.toggle').removeClass('expanded');
            $(this).hide();
        }
        showHideDivs();
    });
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23940024

复制
相关文章

相似问题

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