【发布时间】:2011-11-17 07:51:11
【问题描述】:
好的,基本上我有一个 Joomla 站点和一个水平的 jQuery 导航。我需要一个箭头(“#selector”)来指向活动的顶部导航。导航位于无序列表中。使用jquery,我通过分配具有适当的margin-left值的类来移动悬停时的箭头(我想要的),但是一旦我选择了该链接并且它成为活动的父级,我需要箭头留在那里直到它再次移动,因为悬停动作。
例如:
<style>
#nav li {
list-style: none;
display: inline;
}
#nav_arrow .item-2-selector {
margin-left: 45px!important;
}
</style>
<ul id="nav">
<li class="item-1 active">Page 1</li>
<ul>
<li>SubPage1</li>
<li>SubPage2</li>
<li>SubPage3</li>
</ul>
<li class="item-2">Page 2</li>
<li class="item-3">Page 3</li>
<li class="item-4">Page 4</li>
</ul>
<div id="nav_arrow">
<div id="selector" class="position"><img src="nav_current.png"/></div>
</div>
我希望能够提出一个 jQuery 解决方案的逻辑是:
当 .item-1.active EXIST $("#selector").css('margin-left', '20px');
WHEN .item-2.active EXIST $("#selector").css('margin-left', '45px');
WHEN .item-3.active EXIST $("#selector").css('margin-left', '70px');
...等等...
基本上这就是我为悬停效果所做的:
<script>
$(document).ready(function(){
$(".item-466").mouseover(function(){
$("#selector").addClass("item-2-selector");
});
});
</script>
这是我的测试站点的 URL,以便您可以更好地了解我正在尝试做什么:http://trustmarkstaging.com
提前感谢您的帮助! :)
【问题讨论】:
-
当
.item-1.active存在时,你要修改什么对象?你的问题并不清楚。 -
对不起,我想修改#selector上的margin-left。
标签: jquery event-handling navigation