简体   繁体   English

我想在jQuery和css中为我的菜单项添加一个子元素

[英]I want to add a sub element to my menu items in jQuery and css

I created a menu item with jQuery and CSS. 我用jQuery和CSS创建了一个菜单项。 When I go to a one menu item I want to go for another sub menu item as shown in below image. 当我转到一个菜单项时,我想去另一个子菜单项,如下图所示。 How can I do that? 我怎样才能做到这一点?

在此输入图像描述

Here is my html markup 这是我的html标记

<link rel="stylesheet" href="css/style_j.css" type="text/css" media="screen"/>
    <div class="content">
        <ul id="sdt_menu" class="sdt_menu">
            <li>
                <a href="#">
                    <img src="SlideDownBoxMenu2/images/2.jpg" alt=""/>
                    <span class="sdt_active"></span>
                    <span class="sdt_wrap">
                        <span class="sdt_link">Home</span>
                        <span class="sdt_descr">Home</span>
                    </span>
                </a>
            </li>
            <li>
                <a href="#">
                    <img src="SlideDownBoxMenu2/images/1.jpg" alt=""/>
                    <span class="sdt_active"></span>
                    <span class="sdt_wrap">
                        <span class="sdt_link">File Managements</span>
                        <span class="sdt_descr">File Managements</span>
                    </span>
                </a>
            <div class="sdt_box">
                        <a href="#"><img src="SlideDownBoxMenu2/images/1.jpg" alt=""/>
                    <span class="sdt_active"></span>
                    <span class="sdt_wrap">
                        <span class="sdt_link">Retention</span>
                        <span class="sdt_descr">Retention</span>
                    </span> </a>
                        <a href="#">Illustrations</a>
                        <a href="#">Photography</a>
                    <div class="sdt_box">

                        <a href="#">Retentionss </a>
                        <a href="#">Illustrations</a>
                        <a href="#">Photography</a>

                </div> 
                </div>
            </li>
            <li>
                <a href="#">
                    <img src="SlideDownBoxMenu2/images/1.jpg" alt=""/>
                    <span class="sdt_active"></span>
                    <span class="sdt_wrap">
                        <span class="sdt_link">Portfolio</span>
                        <span class="sdt_descr">My work</span>
                    </span>
                </a>
                <div class="sdt_box">
                        <a href="#">Websites</a>
                        <a href="#">Illustrations</a>
                        <a href="#">Photography</a>
                </div>
            </li>
            <li>
                <a href="#">
                    <img src="SlideDownBoxMenu2/images/1.jpg" alt=""/>
                    <span class="sdt_active"></span>
                    <span class="sdt_wrap">
                        <span class="sdt_link">Portfolio</span>
                        <span class="sdt_descr">My work</span>
                    </span>
                </a>
                <div class="sdt_box">
                        <a href="#">Websites</a>
                        <a href="#">Illustrations</a>
                        <a href="#">Photography</a>
                </div>
            </li>
            <li>
                <a href="#">
                    <img src="SlideDownBoxMenu2/images/1.jpg" alt=""/>
                    <span class="sdt_active"></span>
                    <span class="sdt_wrap">
                        <span class="sdt_link">Portfolio</span>
                        <span class="sdt_descr">My work</span>
                    </span>
                </a>
                <div class="sdt_box">
                        <a href="#">Websites</a>
                        <a href="#">Illustrations</a>
                        <a href="#">Photography</a>
                </div>
            </li>
        <li>
                <a href="#">
                    <img src="SlideDownBoxMenu2/images/1.jpg" alt=""/>
                    <span class="sdt_active"></span>
                    <span class="sdt_wrap">
                        <span class="sdt_link">Portfolio</span>
                        <span class="sdt_descr">My work</span>
                    </span>
                </a>
                <div class="sdt_box">
                        <a href="#">Websites</a>
                        <a href="#">Illustrations</a>
                        <a href="#">Photography</a>
                </div>
            </li>
            <li>
                <a href="#">
                    <img src="SlideDownBoxMenu2/images/6.jpg" alt=""/>
                    <span class="sdt_active"></span>
                    <span class="sdt_wrap">
                        <span class="sdt_link">Projects</span>
                        <span class="sdt_descr">I like to code</span>
                    </span>
                </a>
                <div class="sdt_box">
                    <a href="#">Job Board Website</a>
                    <a href="#">Shopping Cart</a>
                    <a href="#">Interactive Maps</a>
                </div>
            </li>
        </ul>
    </div>
<div>
    <span class="reference">

    </span>
    </div>

Here is my CSS: 这是我的CSS:

ul.sdt_menu{
    margin:0;
    padding:0;
    list-style: none;
    font-family:"Myriad Pro", "Trebuchet MS", sans-serif;
    font-size:14px;
    width:1020px;
}
ul.sdt_menu a{
    text-decoration:none;
    outline:none;

}
ul.sdt_menu li{
    float:left;
    width:138px;
    height:40px;
    position:relative;
    cursor:pointer;
}
ul.sdt_menu li > a{
    position:absolute;
    top:0px;
    left:0px;
    width:138px;
    height:57px;
    z-index:12;

    -moz-box-shadow:0px 0px 2px #000 inset;
    -webkit-box-shadow:0px 0px 2px #000 inset;
    box-shadow:0px 0px 2px #000 inset;
}
ul.sdt_menu li a img{
    border:none;
    position:absolute;
    width:0px;
    height:0px;
    bottom:0px;
    left:57px;
    z-index:100;
    -moz-box-shadow:0px 0px 4px #000;
    -webkit-box-shadow:0px 0px 4px #000;
    box-shadow:0px 0px 4px #000;
}
ul.sdt_menu li span.sdt_wrap{
    position:absolute;
    top:20px;
    left:0px;
    width:138px;
    height:57px;
    z-index:15;
}
ul.sdt_menu li span.sdt_active{
    position:absolute;
    background:#111;
    top:57px;
    width:138px;
    height:0px;
    left:0px;
    z-index:14;
    -moz-box-shadow:0px 0px 4px #000 inset;
    -webkit-box-shadow:0px 0px 4px #000 inset;
    box-shadow:0px 0px 4px #000 inset;
}
ul.sdt_menu li span span.sdt_link,
ul.sdt_menu li span span.sdt_descr,
ul.sdt_menu li div.sdt_box a{
    margin-left:10px;
    text-transform:uppercase;
    text-shadow:1px 1px 1px #000;
    margin-top:-10px;
}
ul.sdt_menu li span span.sdt_link{
    color:#fff;
    font-size:14px;
    float:left;
    clear:both;
}
ul.sdt_menu li span span.sdt_descr{
    color:#0B75AF;
    float:left;
    clear:both;
    width:155px; /*For dumbass IE7*/
    font-size:10px;
    letter-spacing:0px;
    margin-top:0px;
    margin-left:-8px;
}
ul.sdt_menu li div.sdt_box{
    display:block;
    position:absolute;
    width:138px;
    overflow:hidden;
    height:138px;
    top:57px;
    left:0px;
    display:none;
    background:#000;
}
ul.sdt_menu li div.sdt_box a{
    float:left;
    clear:both;
    line-height:30px;
    color:#0B75AF;
}
ul.sdt_menu li div.sdt_box a:first-child{
    margin-top:15px;
}
ul.sdt_menu li div.sdt_box a:hover{
    color:#fff;
}

Here is my Javascript code with jQuery: 这是我的jQuery代码:

   <!-- The JavaScript -->

        <script type="text/javascript">
            $(function() {
                /**
                * for each menu element, on mouseenter, 
                * we enlarge the image, and show both sdt_active span and 
                * sdt_wrap span. If the element has a sub menu (sdt_box),
                * then we slide it - if the element is the last one in the menu
                * we slide it to the left, otherwise to the right
                */
                $('#sdt_menu > li').bind('mouseenter',function(){
                    var $elem = $(this);
                    $elem.find('img')
                         .stop(true)
                         .animate({
                            'width':'138px',
                            'height':'57px',
                            'left':'0px'
                         },400,'easeOutBack')
                         .andSelf()
                         .find('.sdt_wrap')
                         .stop(true)
                         .animate({'top':'140px'},500,'easeOutBack')
                         .andSelf()
                         .find('.sdt_active')
                         .stop(true)
                         .animate({'height':'138px'},300,function(){
                        var $sub_menu = $elem.find('.sdt_box');
                        if($sub_menu.length){
                            var left = '138px';
                            if($elem.parent().children().length == $elem.index()+1)
                                left = '-138px';
                            $sub_menu.show().animate({'left':left},200);
                        }   
                    });
                }).bind('mouseleave',function(){
                    var $elem = $(this);
                    var $sub_menu = $elem.find('.sdt_box');
                    if($sub_menu.length)
                        $sub_menu.hide().css('left','0px');

                    $elem.find('.sdt_active')
                         .stop(true)
                         .animate({'height':'0px'},300)
                         .andSelf().find('img')
                         .stop(true)
                         .animate({
                            'width':'0px',
                            'height':'0px',
                            'left':'85px'},400)
                         .andSelf()
                         .find('.sdt_wrap')
                         .stop(true)
                         .animate({'top':'25px'},500);
                });
            });
        </script>

Ok try this plugin out 好的,试试这个插件

Superfish 快鱼

This link explains the concept very well: 这个链接很好地解释了这个概念:

jQuery drop-down menu tutorial jQuery下拉菜单教程

EDIT: Maybe this will help too: http://css-tricks.com/simple-jquery-dropdowns/ 编辑:也许这也会有所帮助: http//css-tricks.com/simple-jquery-dropdowns/

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 我想从子菜单中添加房间菜单之间的距离 - I want to add a distance between my room menu from my sub-menu 如何使用 jQuery 将活动类添加到菜单和子菜单项 - How to add active class to menu and sub menu items with jQuery Jquery 不会选择我想要的样式并将其添加到我的元素中 - Jquery wont select and add the style i want to my element 计数没有CSS类的子菜单项jQuery - Counting Sub-Menu Items jQuery without CSS Classes 我想使用 Jquery 向我的 html 元素添加更多 css 属性意味着我不想删除前一个,只是简单地向它添加更多 - I want to add more css property to my html element using Jquery means I dont want to remove the previous one just simply add more to it 我想在jquery中的一个html元素之后添加一个html元素? 在Css有可能吗? - I want add a html element after one html element in jquery ? is it possible in Css? 如何使用 jquery 将菜单包装到子菜单中? - how do I wrap my menu in to sub menu using jquery? 我想用前置jQuery添加一个元素 - I want to add a element with prepend jQuery 如何在我的jquery菜单中的li项下添加一行? - How would I add a line under li items in my jquery menu? 我正在尝试使导航栏变粘,但我的 JQuery 没有添加 css class 我想在滚动 ZCA94252748E76 上添加 - I am trying to make the navbar sticky but my JQuery is not adding the css class that i want to add on scroll function
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM