在项目上工作需要在主页上产生特定效果。当用户将鼠标悬停在导航栏中的链接上时,将突出显示链接以及页面上的相应缩略图。每个链接/缩略图都有类,我们现在如何设置它是在悬停时我们搜索具有相同类的元素。只是想知道是否有更好的方法去做这件事。感谢。
(页面布局左侧是链接,“主”容器中的拇指填写了页面的其余部分)
$('#homeCatNav li a, #homeThumbsUlHolder li img').hover(function(e){
var $thisA = $(this),
$thisClass = $(this).attr("class");
if (e.type.toLowerCase() === 'mouseenter') {
$('li.imgToHighlight').find('img'+'.'+$thisClass).addClass('hoverElem');
$('li.homeArtNameList').find('a'+'.'+$thisClass).addClass('hoverElem');
}
if (e.type.toLowerCase() === 'mouseleave') {
$('li.imgToHighlight').find('img').removeClass('hoverElem');
$('li.homeArtNameList').find('a').removeClass('hoverElem');
}
});
答案 0 :(得分:0)
我认为你使事件处理程序变得复杂,为什么这样做呢
$("'#homeCatNav li a, #homeThumbsUlHolder li img").hover(mouseOver, mouseOut);
function mouseOver() {
$thisClass = $(this).attr("class");
$('li.imgToHighlight').find('img'+'.'+$thisClass).addClass('hoverElem');
$('li.homeArtNameList').find('a'+'.'+$thisClass).addClass('hoverElem');
}
function mouseOut() {
$thisClass = $(this).attr("class");
$('li.imgToHighlight').find('img').removeClass('hoverElem');
$('li.homeArtNameList').find('a').removeClass('hoverElem');
}
答案 1 :(得分:0)
我会切换到“rel”,但这并不重要:
$('#homeCatNav li a, #homeThumbsUlHolder li img').hover(function(){
var $thisA = $(this),
$thisRel = $thisA.attr("rel");
$('li.imgToHighlight').find('img[rel'+$thisRel+']').addClass('hoverElem');
$('li.homeArtNameList').find('a[rel'+$thisRel+']').addClass('hoverElem');
},function(){
$('li.imgToHighlight').find('img').removeClass('hoverElem');
$('li.homeArtNameList').find('a').removeClass('hoverElem');
});