javascript - 使用 CSS block 显示/隐藏文本

标签 javascript html css

我正在向一些社区软件 (IPBoard) 添加一小部分。如下图所示,它们有一个小三 Angular 形图标,可以触发 css block 的显示/隐藏。三 Angular 形图标右侧的链接文本超链接到另一个 URL。只有三 Angular 形图标显示 css block 。很容易。

Triangle expands the text

对于我添加的小部分(见下图),我想要三 Angular 形图标 链接来扩展该部分的文本(不要让链接转到另一个 url)。我已经进行了数百次其他修改,通常可以弄清楚 CSS 和基本的 php 是没有问题的。但是,经过数小时的尝试,这种折叠和展开的文本确实让我感到难过。我知道还有其他方法可以做到这一点,但如果可以的话,我想利用他们现有的技术而不是加载更多代码。

What I need

这是我的 HTML 代码:

echo "<ul id='idm_categories'>";
    echo "<li class='with_sub closed'>";

        echo "<a href='#' id='not sure what would go here'>Scripture</a>";

            //Begin Hidden text that will display
            echo "<ul class='subforums' style='display: none'>";
                echo "<li><a href='http://link here' title='Go to category'>Pentateuch (Gen-Deu)</a></li>";


            echo "</ul>";
            //End hidden text


            //This makes the show/hide text possible but not sure how it works...
            echo "<a href='#' class='cat_toggle'>Toggle</a>";

        echo "</li>";

echo "</ul>";

HTML 引用 CSS。这里的相关部分是:

#idm_categories a.cat_toggle {
    text-indent: -2000em;
    width: 12px;
    height: 12px;
    position: absolute;
    left: 8px;
    top: 11px;
    padding: 0;
}

    #idm_categories > li.with_sub.closed > a.cat_toggle {
        background: url({style_images_url}/folder_closed.png ) no-repeat;
    }

    #idm_categories > li.with_sub.open > a.cat_toggle {
        background: url({style_images_url}/folder_open.png ) no-repeat;
    }

    #idm_categories > li {
        /*border-bottom: 1px solid #f3f3f3;*/
        position: relative;
        padding: 0px;
    }

        #idm_categories > li:last-child {
            border: 0;
        }

        #idm_categories > li > a {
            display: block;
            padding: 10px 10px 5px 25px;
        }

        #idm_categories > li.selected > a {
            font-weight: bold;
            background: #4B76AD;
            color: #fff;
        }

    #idm_categories .file_count {
        font-size: 9px;
        padding: 1px 3px;
        font-weight: bold;
        color: #528F6C;
        background: #DFEBF7;
        -moz-border-radius: 3px;
        -webkit-border-radius: 3px;
        border-radius: 3px;
        margin: 11px 8px 0 0;
    }

    #idm_categories ul.subforums {
        margin: 0px 0 10px 35px;
        font-size: 0.9em;
        line-height: 1.5;
    }

与此关联的 Javascript:

toggleCategory: function(e, elem)
    {
        Event.stop(e);

        var group = $( elem ).up('li');
        var subgroup = $( group ).down('.subforums');

        if( !$( group ) || !$( subgroup ) )
        {
            Debug.write("Can't find parent or subforums");
            return;
        }

        if( $( group ).hasClassName('closed') )
        {
            new Effect.BlindDown( $( subgroup ), { duration: 0.2 } );
            $( group ).removeClassName('closed').addClassName('open');
        }
        else
        {
            new Effect.BlindUp( $( subgroup ), { duration: 0.2 } );
            $( group ).removeClassName('open').addClassName('closed');
        }

    },

ToggleCategory 在此处注册:

ipb.delegate.register('.cat_toggle', ipb.idmportal.toggleCategory);

最佳答案

如果不查看整个 javascript 库就很难知道,但是您可以尝试一些事情。这可能会起作用,具体取决于添加 onclick 事件处理程序的方式。

  echo "<a href='#' class='cat_toggle' id='not sure what would go here'>Scripture</a>";

这也有可能会起作用,但根据您上面显示的代码,我对此表示怀疑:

  echo "<a href='#' class='closed' id='not sure what would go here'>Scripture</a>";

关于javascript - 使用 CSS block 显示/隐藏文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8453452/

相关文章:

javascript - Canvas 动画 - 卡住

javascript - 如果内容未填满窗口,动态调整 div 高度以将页脚保持在底部

php - 使用 PHP 背景图片并继承 CSS 样式

javascript - 如何使用 vba 从网页中的表值中正确提取内部文本?

html - 使用 Polymer 扩展原生 HTML 元素

html - 图像只能通过将 'img' 放在 div html 和 css 之后进行编辑

HTML/CSS Div 不会一直向下延伸

javascript - 为什么总是呈现星号路线?

javascript - jquery remove() 不删除

javascript - 如何更改包含字符串的元素之上的类?