jquery指定css框

标签 jquery css menu slidetoggle

嘿,大家好,我在将 JQuery SlideToggle 操作指定到特定选项卡(文本框)时遇到问题,目前它正在整个菜单中使用整个 SlideToggle 操作。当您将鼠标悬停在菜单选项卡上时,我希望每个菜单选项卡上的分隔线之间出现绿色滑动框。需要帮助...

http://jsfiddle.net/jfarr07/yKF65/1/

HTML

<div id="navigation">
<div class="panel"></div>
    <ul id="nav">
        <li class="nav"><a href="#">HOME</a></li>
        <li class="nav"><a href="#">OUR STORY</a></li>
        <li class="nav"><a href="#">GALLERY</a></li>
        <li class="nav"><a href="#">GIFT REGISTRY</a></li>
    </ul>
</div>

CSS

body, html {
padding:0;
margin:0;
background:url(../../Portfolio/images/wood2.png);
}
a:link {
text-decoration:none;
color:#000;
font-family:open-sans, HelveticaNeue, Helvetica Neue Condensed Bold, Helvetica Neue, serif;
}
a:visited {
color:#000;
}
a:hover {
color:#FFF;
}
#navigation {
width:auto;
height:30px;
background:rgba(0, 0, 0, .25);
}
ul#nav {
display:inline;
}
li.nav {
display:inline-block;
margin: 0px 0px 0px 30px;
padding:0px 0px 0px 30px;
position:relative;
}
li~li { 
border-left: 1px solid #000000;

}
.panel {
position:absolute;
background:#0F3;
background-size:100%;
height:30px;
display:none;
width:100%;
}

JQuery

<script>
$(document).ready(function() {
    $("li.nav").hover(function() {
        $("#navigation").find(".panel").stop().slideToggle("fast");
    }, function() {
        $("#navigation").find(".panel").stop().slideToggle("fast");
    });
});
</script>

最佳答案

尝试下面

<script type="text/javascript">

    $(function()
    {
        $("li.nav").hover(function()
        {
            var x = $(this).offset().left;
            var y = $(this).offset().top;
            //var w = $(this).width();
            var totalWidth = $(this).width();
            totalWidth += parseInt($(this).css("padding-left"), 10) + parseInt($(this).css("padding-right"), 10); //Total Padding Width
            totalWidth += parseInt($(this).css("margin-left"), 10) + parseInt($(this).css("margin-right"), 10); //Total Margin Width
            totalWidth += parseInt($(this).css("borderLeftWidth"), 10) + parseInt($(this).css("borderRightWidth"), 10); //Total Border Width
            var h = $(this).height();

            //$("#navigation").find(".panel").stop().slideToggle("fast");
            $("#navigation").find(".panel").animate({
                top: y,
                left : x
            }, 0 ).css({'width' : totalWidth,
                'height' : h,
                'position' : 'absolute'}).slideDown(50).css('display','block');

        }, function() {
            $("#navigation").find(".panel").stop().slideUp("fast");
        });
    });

</script>
<div id="navigation">
<div class="panel"></div>
    <ul id="nav">
        <li class="nav"><a href="#">HOME</a></li>
        <li class="nav"><a href="#">OUR STORY</a></li>
        <li class="nav"><a href="#">GALLERY</a></li>
        <li class="nav"><a href="#">GIFT REGISTRY</a></li>
    </ul>
</div>

关于jquery指定css框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15195475/

相关文章:

javascript - 如何为 jsviews 创建自定义属性处理程序?

php - 在 PHP 中使用 cookie 打印历史记录

CSS 定位、菜单列表对齐(需要帮助)

Java - 如何在 while 循环中包含 switch 语句菜单

javascript - 当所有 <div> 具有相同的类时,如何在单击单选按钮时显示/隐藏一个 <div> ?

java - 单击 RadioButton 即可扩展 PrimeFaces 中的折叠面板

Javascript for 循环返回 "copy"作为值

jquery - 将导航点添加到我的 jquery 产品幻灯片

html - 当标签中的文本大于此标签的宽度时,如何在与输入相同的行中显示标签?

drupal - 使用 theme_menu_tree() 为自定义菜单设置主题