0
所以我做了一个导航栏,它几乎完美的工作。导航选项卡下方有一个小矩形,该栏将位于用户当前悬停的选项卡下方。我遇到的问题是,酒吧会一次一个地盘旋在每一个标签上,而不是仅仅转到当前正在悬停的标签,或者大多数以前被悬停的标签。如果这没有意义,那么查看完整的代码以了解我的意思。感谢您的时间。如何使jquery事件只执行最近触发的一个
<div id='backNav'>
<div id='navBar'>
<div id='navLoc'></div>
</div>
<div id='cont'>
<ul id='navList'>
<li id='home' class='navItem'>Home</li>
<li id='about' class='navItem'>About</li>
<li id='shop' class='navItem'>Shop</li>
<li id='blog' class='navItem'>Blog</li>
</ul>
</div>
</div>
var main = function() {
var navLoc = $('#navLoc');
$('#home').hover(function(){
navLoc.animate({
left:75
},300)
});
$('#about').hover(function(){
navLoc.animate({
left:243
},300)
});
$('#shop').hover(function(){
navLoc.animate({
left:415
},300)
});
$('#blog').hover(function(){
navLoc.animate({
left:575
},300)
});
}
$(document).ready(main);
全码:https://jsfiddle.net/tjqLbne1/
(酒吧的选项卡下不排队正确的窗口大小的小提琴原因,但你仍然得到的想法)
哇,我真的没想到它是如此简单。谢谢你的帮助! – Joshua
有时候,问题在于如何看待它,在JavaScript的老派世界里,它会是一种痛苦。触发器防止一个功能在另一个结束时运行等。非常欢迎:) – ZBerg