jquery菜单列表项点击函数

标签 jquery jquery-ui

我正在使用本教程

http://www.1stwebdesigner.com/css/create-sliding-navigation-menu-jquery/

这是index.html 文件:

!DOCTYPE html> Jquery Sliding Navigation Menu

    <ul id='header_nav'>
        <li><img src="images/home-icon.png" /></li>
        <li>About Us</li>
        <li>Categories
            <ul>
                <li><a>Coding</a></li>
                <li><a>Freebies<span class="arrow-right"></span></a>
                    <ul>
                        <li><a>Icons<span class="items_num">5</span></a></li>
                        <li><a>Templates<span class="items_num">10</span></a></li>
                        <li><a>Fonts<span class="items_num">3</span></a></li>
                    </ul>
                </li>
                <li><a>Tutorial<span class="arrow-right"></span></a>
                    <ul>
                        <li><a>Icons<span class="items_num">5</span></a></li>
                        <li><a>Templates<span class="items_num">10</span></a></li>
                        <li><a>Fonts<span class="items_num">3</span></a></li>
                    </ul></li>
                <li><a>Web Design</a></li>
            </ul>
        </li>
        <li>Archive
            <ul>
                <li><a>Coding</a></li>
                <li><a>Freebies<span class="arrow-right"></span></a>
                    <ul>
                        <li><a>Icons<span class="items_num">5</span></a></li>
                        <li><a>Templates<span class="items_num">10</span></a></li>
                        <li><a>Fonts<span class="items_num">3</span></a></li>
                    </ul>
                </li>
                <li><a>Web Design</a></li>
            </ul>
        </li>
        <li>Contact</li>
        <li>Write For Us ?</li>
    </ul>



    <script>

        $(document).ready(function(){

            $("#header_nav > li ").addClass("level1");
            $("#header_nav  > li > ul > li ").addClass("level2");
            $("#header_nav  > li > ul > li > ul > li ").addClass("level3");

            $(".level1").live("hover",function(){

                $(".level1").removeClass("main_menu_hover");
                $(this).addClass("main_menu_hover");


                var numberofChildren = $(this).find("> ul").children().length;

                if(numberofChildren != 0){
                    // Section 1
                    $(".level1").removeClass("active_main_menu");
                    $(this).addClass("active_main_menu");

                    // Section 2
                    $(".level1").find("ul").css("display","none");
                    $(this).find(" > ul").css("display","block");

                    // Section 3
                    $(".level2").removeClass("active_first_element");
                    $(".level2").removeClass("active_last_element");
                    $(".level2").removeClass("active_only_element");

                    // Section 4
                    if(numberofChildren == 1){
                        $(this).find("ul li:first").addClass("active_only_element");
                    }else{
                        $(this).find("ul li:first").addClass("active_first_element");
                        $(this).find("ul li:last-child").addClass("active_last_element");
                    }

                    // Section 5
                    $(".level2 a").removeClass("sub_active");
                    $(".level2").removeClass("menu_hover");


                }else{
                    // Section 6
                    $(".level1").find("ul").css("display","none");
                    $(".level1").removeClass("active_main_menu");

                }

            });

            $(".level2").find(".arrow-right").attr("href","javascript:void(0);");

            $(".level2 > a").live("hover",function(e){
                $("li").removeClass("menu_hover");
                $(this).parent().addClass("menu_hover");
                e.preventDefault();
            });

            $(".level2 a").live("click",function(){
                $("li").removeClass("menu_hover");

                if($(this).hasClass("sub_active")){
                    $(this).removeClass("sub_active");
                    $(".level2 > ul").slideUp();
                }else{
                    $(".level2 ul").slideUp();
                    $(".level2 a").removeClass("sub_active");
                    $(this).addClass("sub_active");
                    $(this).parent().find("ul").slideDown();
                }
            });





            $(".level3 a").live("hover",function(){
                if(!($(this).parent().hasClass("accordian_element_hover"))){
                    $(this).parent().removeClass("level3").addClass("accordian_element_hover");
                }
            });
            $(".accordian_element_hover a").live("hover",function(){
                $(this).parent().addClass("level3").removeClass("accordian_element_hover");
            });


        });
    </script>

</body> </html>

我一直在试图弄清楚如何为每个 drop dpwn 元素添加不同的点击功能。

我用过这个:

$(".level2 a").live("click",function(){  
  return false;
});

它的工作原理是向下拉菜单中的每个项目添加相同的功能。我想知道如何解决每个具体问题?

最佳答案

如果内容是静态的,您可以使用类似 $('.level2 a:eq(0)'

关于jquery菜单列表项点击函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13350277/

相关文章:

javascript - 使用javascript更改类的CSS样式,但不在DOM中

javascript - 无论我在 div 中单击什么位置,我都想获取我的数据集值

javascript - 按类对 li 元素进行排序? jQuery/Javascript

javascript - 如何使用JQuery UI滑动效果无缝滑出一个div并滑入另一个div?

jQuery 可拖动 ('cancel' )导致错误 : this. 助手为空

javascript - 嵌入html中的Cordova 5.0 javascript对android设备没有影响

JavaScript - 将 javascript 对象作为隐藏输入字段发送

jquery - 如何将此 jQuery 事件绑定(bind)到 HTML 元素的悬停?

javascript - 传递拖动事件-Jquery/UI

javascript - 如何握住悬停框? #html、#css、#js