【问题标题】:How to keep the submenu open in the page load?如何在页面加载时保持子菜单打开?
【发布时间】:2015-01-11 12:33:12
【问题描述】:

我想在页面加载时保持子菜单打开。我怎样才能使它成为可能?

这里是 jquery:

( function( $ ) {
$( document ).ready(function() {
$('#cssmenu li.has-sub>a').on('click', function(){
        $(this).removeAttr('href');
        var element = $(this).parent('li');
        if (element.hasClass('open')) {
            element.removeClass('open');
            element.find('li').removeClass('open');
            element.find('ul').slideUp();
        }
        else {
            element.addClass('open');
            element.children('ul').slideDown();
            element.siblings('li').children('ul').slideUp();
            element.siblings('li').removeClass('open');
            element.siblings('li').find('li').removeClass('open');
            element.siblings('li').find('ul').slideUp();
        }
    });
});
} )( jQuery );

任何帮助将不胜感激!

【问题讨论】:

    标签: javascript jquery css asp.net web-applications


    【解决方案1】:

    如果单击第一个 a 元素“打开”“子菜单”,您可以在 DOM 就绪事件上触发 click 事件:

    $('#cssmenu li.has-sub>a').on('click', function() {
        // ...
    }).first().click();
    

    如果您想选择不同的a 元素,您可以使用.eq() 方法:

    $('#cssmenu li.has-sub>a').on('click', function() {
        // ...
    }).eq(2).click(); // trigger the click event on the third `a` element in the collection
    

    如果不使用.first().eq() 方法,将为集合中的所有元素触发事件。您也可以使用.trigger('click').triggerHandler('click') 方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-07
      • 2018-02-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多