【发布时间】:2011-12-28 08:51:22
【问题描述】:
我想制作 html/jquery 下拉菜单。但我有一个问题。我希望当鼠标转到“游戏”导航按钮时,div 下降并且仅在鼠标退出 5 秒时才消失,而不是 5 秒后(这是我的问题),而不是立即消失。到目前为止,这就是我所做的
JS
var games_timer = $.timer(slidingUP("#games-sub", "-200px")); games_timer.set({ time : 3000, autostart : false });
function slidingUP($name, $value){
$($name).animate({ top : $value }, 300);
}
$(".games").hover(function(){
if (games_timer.active){games_timer.stop();}
$("#games-sub").animate({ top : "160px" }, 300);
}, function(){
games_timer.play();
});
它向下滑动,但从不向上滑动
HTML:
<ul>
<li class="nav-a1"><a id="home" href="">Home</a></li>
<li class="nav-a2"><a id="games" class="games" href="">Games</a></li>
<li class="nav-a2"><a id="upcomming" href="">Upcomming</a></li>
<li class="nav-a2"><a id="trailers" href="">Trailers</a></li>
<li class="nav-a2"><a id="blog" href="">Blog</a></li>
<li class="nav-a2"><a id="login" href="">Login</a></li>
</ul>
<div id="games-sub" class="games">
<a href="">ACTION</a>
<a href="">ADVANTURE</a>
<a href="">ARCADE</a>
<a href="">SHOOTER</a>
<a href="">FIRST PERSON</a>
<a href="">THIRD PERSON</a>
<a href="">STRATEGY</a>
<a href="">SPORT</a>
</div>
【问题讨论】:
-
你试过
setTimeout和clearTimeout吗?另外,您可以使用一些 css 在jsfiddle 上添加您的代码。我们会更容易提供帮助。 -
300 这里不是超时 - 它是动画持续时间
标签: javascript jquery html menu navigation