主页面中的jQuery幻灯片菜单

时间:2011-07-06 19:51:42

标签: jquery asp.net master-pages

我有一个ASP.NET自定义服务器控件菜单,主页面的头部有以下jQuery。问题是当我在常规表单上有一个按钮时,它会导致主页面中的侧面菜单中的滑动操作在每次单击表单时激活...如何防止这种情况,以便仅滑动操作在初始页面加载时或单击其他人物项时发生?

$(document).ready(function() {
    // Expand/Collapse All
    $('#example1 .expand_all').click(function() {
        $('#menu1 > li > a.collapsed').addClass('expanded').removeClass('collapsed').parent().find('> ul').slideDown('medium');
    });
    $('#example1 .collapse_all').click(function() {
        $('#menu1 > li > a.expanded').addClass('collapsed').removeClass('expanded').parent().find('> ul').slideUp('medium');
    });
    // Slide
    $("#menu1 > li > a.expanded + ul").slideToggle("medium");
    $("#menu1 > li > a").click(function() {
        $(this).toggleClass("expanded").toggleClass("collapsed").parent().find('> ul').slideToggle("medium");
    });
});

1 个答案:

答案 0 :(得分:2)

您是否尝试过使用.one()?也许这会有所帮助:.one()

编辑: 我不确定这是否是解决此问题的最佳方法:

<asp:HiddenField ID="isloaded" runat="server" Value="false" EnableViewState="true" />

$(document).ready(function () {
    var isLoaded = document.getElementById("isloaded").value;
    if (isLoaded == "false") {
        //your code
        document.getElementById("isloaded").value = "true";
    }
});