【发布时间】:2011-06-08 16:59:32
【问题描述】:
首先让我说这是正常工作,但我知道这不是最有效的编码方式,而且我缺乏关于如何做到这一点的知识/理解。
对于这个特定的问题,我有 8 个不同的事件正在使用 mouseover / mouseout 函数,其中隐藏了不是上述悬停的其他类。我很好奇它只需要一个简单的代码块就可以处理无限数量的事件。
任何帮助将不胜感激。到目前为止,这是我的代码...
功能悬停栏(){ $(".song1result").mouseover(function(){ $('.barReadout').not('.bar1').fadeTo('fast', 0.1, function() {}); }).mouseout(函数(){ $('.barReadout').not('.bar1').fadeTo('fast', 1.0, function() {}); }); $(".song2result").mouseover(function(){ $('.barReadout').not('.bar2').fadeTo('fast', 0.1, function() {}); }).mouseout(函数(){ $('.barReadout').not('.bar2').fadeTo('fast', 1.0, function() {}); }); $(".song3result").mouseover(function(){ $('.barReadout').not('.bar3').fadeTo('fast', 0.1, function() {}); }).mouseout(函数(){ $('.barReadout').not('.bar3').fadeTo('fast', 1.0, function() {}); }); $(".song4result").mouseover(function(){ $('.barReadout').not('.bar4').fadeTo('fast', 0.1, function() {}); }).mouseout(函数(){ $('.barReadout').not('.bar4').fadeTo('fast', 1.0, function() {}); }); $(".song5result").mouseover(function(){ $('.barReadout').not('.bar5').fadeTo('fast', 0.1, function() {}); }).mouseout(函数(){ $('.barReadout').not('.bar5').fadeTo('fast', 1.0, function() {}); }); $(".song6result").mouseover(function(){ $('.barReadout').not('.bar6').fadeTo('fast', 0.1, function() {}); }).mouseout(函数(){ $('.barReadout').not('.bar6').fadeTo('fast', 1.0, function() {}); }); $(".song7result").mouseover(function(){ $('.barReadout').not('.bar7').fadeTo('fast', 0.1, function() {}); }).mouseout(函数(){ $('.barReadout').not('.bar7').fadeTo('fast', 1.0, function() {}); }); $(".song8result").mouseover(function(){ $('.barReadout').not('.bar8').fadeTo('fast', 0.1, function() {}); }).mouseout(函数(){ $('.barReadout').not('.bar8').fadeTo('fast', 1.0, function() {}); }); }谢谢!!马特
编辑:
我从 Shad 的回复中得到了正确的答案,尽管它需要一些修修补补。
这是我的工作解决方案:
功能hoverBar2(){ $('.songresult').mouseover(function(){ var ID=$(this).attr('id').replace('#',''); var ID2 = ID.replace('res',''); $('.barReadout').not('#bre' + ID2).fadeTo('fast', 0.1, function() {}); }).mouseout(函数(){ var ID=$(this).attr('id').replace('#bre',''); /// 警报(ID); $('.barReadout').not('#bre' + ID).fadeTo('fast', 1.0, function() {}); }); }【问题讨论】:
标签: jquery each optimization