首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用幻灯片切换效果演奏手风琴?

如何使用幻灯片切换效果演奏手风琴?
EN

Stack Overflow用户
提问于 2013-12-11 05:32:25
回答 2查看 813关注 0票数 0

我有垂直菜单,我想为这个菜单演奏手风琴。html代码是

代码语言:javascript
复制
<ul id="menuLeft">
    <li id="ApplicationId" class="menu-li"><span><img src="../Images/tab_arrow.png"></span><a href="#">Application</a>
        <ul class="submenu-ul" style="display: none;">
            <li class="submenu-li"><span><img src="../Images/leftmenu_downarrow.png"></span><a href="#">Basic Information</a>
            </li>
            <li class="submenu-li"><span><img src="../Images/leftmenu_downarrow.png"></span><a href="#">Vipin</a>
            </li>
        </ul>
    </li>
    <li id="ReviewandSubmissionID" class="menu-li"><span><img src="../Images/tab_arrow.png"></span><a href="#">Review and Submission</a>
        <ul class="submenu-ul" style="display: none;">
            <li class="submenu-li"><span><img src="../Images/leftmenu_downarrow.png"></span><a href="#">Nithin</a>
            </li>
        </ul>
    </li>
</ul>

脚本是

代码语言:javascript
复制
$('.submenu-ul').hide();
$(document).on("click", ".menu-li", function () {
    var selected_li = $(this).attr('id');
    $('#' + selected_li + ' ul').slideToggle('slow');
});

我的问题是,当我单击一个菜单时,它会显示它的子菜单,但同时,如果我单击第二个菜单,它也会显示它的子菜单,而不会关闭第一个子菜单。我怎样才能解决这个问题?

我编辑了我的小提琴演示

这里

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-12-11 05:37:35

在打开新元素之前隐藏可见元素。

尝试:

变化

代码语言:javascript
复制
$u.appendTo($li);

代码语言:javascript
复制
$u.appendTo($li).hide();

$(document).on("click", "#" + value.MenuId, function () {        
    var selected_li = $(this).attr('id');        
    if(!($('#' + selected_li + ' ul').is(':visible'))){
        $('li ul:visible').slideUp();
    }
    $('#' + selected_li + ' ul').slideToggle('slow');
});

这是最新的小提琴。

票数 0
EN

Stack Overflow用户

发布于 2013-12-11 05:36:29

在单击处理程序中,幻灯片显示所有其他submenu-ul元素。

代码语言:javascript
复制
var $subs = $('.submenu-ul').hide();
$(document).on("click", ".menu-li", function () {
    var selected_li = $(this).attr('id');
    var $ul = $(this).find('ul').stop(true, true).slideToggle('slow');
    $subs.not($ul).stop(true, true).filter(':visible').slideUp();
});

演示:小提琴

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20511263

复制
相关文章

相似问题

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