这对我来说很难解释,所以我会尽我所能。下面是这段代码:
$('#navibar a').hover(function(){
var position = $(this).position();
var width = $(this).width();
$('#underliner').css({'width': '' + width + '','left': position.left});
//$('#underliner').show("slide", { direction: "left" }, 100);
$('#underliner').stop().animate({opacity: 1}, 30).show();
}, function () {
var homePos = $(this).find(attr(activePageHref)).position();
var homeWidth = $(this).find(attr(activePageHref)).width();
//$('#underliner').css({'width': '' + homeWidth + '','left': homePos.left});
//$('#underliner').show("slide", { direction: "left" }, 100);
//$('#underliner').stop().animate({opacity: 1}, 30).show();
alert(activePageHref);
});
activePageHref在此外部设置为已单击的页面。在警报中,它显示正确(例如,我们只是说它的值是“home”。我需要以某种方式将#underliner.css位置和宽度设置为在悬停时选择的导航中的页面链接,因此有没有办法“找到”其他'并使用它们?希望在代码中显然我想要做的事情。这是我的标记:
<ul id="navibar">
<li><a href="home">Home</a></li>
<li><a href="products">Products</a></li>
<li><a href="games">Games</a></li>
<li><a href="store">Store</a></li>
<li><a href="support">Support</a></li>
<li><a href="community">Community</a></li>
</ul>
另外,我知道第一个代码块是BIG TIME错误的,这是我决定在这里发布之前最后一次出于聚合和绝望的事情。
答案 0 :(得分:2)
使用属性选择器查找href为activePageHref的链接
$('#navibar a').hover(function(){
var position = $(this).position();
var width = $(this).width();
$('#underliner').css({'width': '' + width + '','left': position.left});
//$('#underliner').show("slide", { direction: "left" }, 100);
$('#underliner').stop().animate({opacity: 1}, 30).show();
}, function () {
var homePos = $(this).parents('#navibar').find('a[href="'+activePageHref+'"]').position();
var homeWidth = $(this).parents('#navibar').find('a[href="'+activePageHref+'"]').width();
//$('#underliner').css({'width': '' + homeWidth + '','left': homePos.left});
//$('#underliner').show("slide", { direction: "left" }, 100);
//$('#underliner').stop().animate({opacity: 1}, 30).show();
alert(activePageHref);
});
答案 1 :(得分:2)
首先,您可以通过类似event.target
的内容选择“a”;
其次,您将activeClass
添加到目标;
第三,通过选择器获取另一个,例如$("ul#navibar li a:not(.activeClass)")
在这里,您将获得数组中不活跃的数据,您可以通过$.each
可能会对你有所帮助。