延迟jQuery下拉菜单
Delaying a jQuery Dropdown Menu
我已经构建了一个jQuery下拉菜单,作为通常使用的CSS3版本的后备。我想让它延迟下拉菜单的方式相同的CSS,但我不确定如何做到这一点。
脚本如下:
var iconWidth = 34; // default width of navigation <li>'s
var slideWidth = 200; // width of the longest slider
var slideTime = 500; // duration of the sliding animation
var dropHeight = 160; // height of tallest dropdown, should be number of <li>'s x 40
var dropTime = 500; // duration of the dropdown animation
$(function() {
// expanding
$("#nav li").not("#logo, .parent li").hover(
function(){
$(this).animate({width:slideWidth + "px"},{queue:false,duration:slideTime});
}, function(){
$(this).animate({width:iconWidth + "px"},{queue:false,duration:slideTime});
}
);
// dropdown
$("#nav li.parent").hover(
function(){
$(this).children("ul").animate({height:dropHeight + "px"},{queue:false,duration:dropTime});
}, function(){
$(this).children("ul").animate({height:"0px"},{queue:false,duration:dropTime});
}
);
});
它目前的做法是同时向两个方向扩展,但我希望它先向右扩展,然后向下,然后收缩时,先向上收缩,然后向左。
像这样:
Hover:
-->
|
v
Unhover:
^
|
<--
所以基本上是分步进行,而不是同时进行。有人能告诉我如何修改我的脚本,使这项工作?
另外,我如何使它根据导航栏中li的数量下拉,而不是设置高度?
编辑:这里有一些示例HTML:
<ul id="nav">
<li id="logo">
<p>
<img src="images/logo.png" />
</p>
</li>
<li>
<p>
<a href="#"><img src="images/dashboard.png" /> Go to Dashboard</a>
</p>
</li>
<li class="parent">
<p>
<a href="#"><img src="images/nav-item.png" /> Nav-Item</a>
</p>
<ul>
<li>
<p>
<a href="#">Create a page</a>
</p>
</li>
<li>
<p>
<a href="#">View All Pages</a>
</p>
</li>
</ul>
</li>
</ul>
我希望我正确理解了你的问题:
$(function() {
// expanding
$("#nav li").not("#logo, .parent li").hover(
function(){
$(this).animate({width:slideWidth + "px"},{duration:slideTime});
}, function(){
$(this).delay(slideTime).animate({width:iconWidth + "px"},{duration:slideTime});
}
);
// dropdown
$("#nav li.parent").hover(
function(){
$(this).children("ul").delay(slideTime).animate({height:dropHeight + "px"},{duration:dropTime});
}, function(){
$(this).children("ul").animate({height:"0px"},{duration:dropTime});
}
);
});
相关文章:
- 更改下拉菜单上的图像javascript/jquery
- 自定义Jquery css下拉菜单问题
- 如何使Jquery编码的动态下拉菜单与PHP GET变量协调工作
- jQuery侧导航下拉菜单
- 使用JQuery通过下拉菜单筛选HTML表值
- 如何在jquery mobile中使用json文件创建动态下拉菜单
- 下拉菜单打开宽度Jquery
- 如何使用jquery将两个字段组合为下拉菜单中的选项
- Jquery下拉菜单的奇怪行为
- jQuery导航下拉菜单未显示..任何想法
- jQuery下拉菜单图像更改
- 使用下拉菜单排除jquery错误
- 下拉菜单重定向使用AJAX和JQuery或Javascript
- 一系列下拉菜单,由jQuery提供支持,隐藏和显示,但不在Chrome中
- Jquery下拉菜单和输入表单功能不太正常
- 关于jquery.off和下拉菜单
- Jquery下拉菜单位于幻灯片上方的一个显示位置
- jQuery子菜单在折叠时仍然显示下拉菜单
- 无法创建下拉菜单 - jQuery
- 下拉菜单jQuery