2012-04-23 68 views
0

这有效,但当然有点多余。项目也可以动态添加,所以我需要让它始终增加1。将其写入一个函数的更好方法是什么?什么是写这个Javascript悬停功能的更好方法?

更新:刚添加标记。基本上,当用户悬停任何列表项时,应将类名附加到横幅div。例如,banner_0,banner_1等

<ul id="list"> 
    <li><a href="#" data="">item1</a></li> 
    <li><a href="#" data="">item2</a></li> 
    <li><a href="#" data="">item3</a></li> 
    <li><a href="#" data="">item4</a></li> 
    <li><a href="#" data="">item5</a></li> 
    <li><a href="#" data="">item6</a></li> 
    <li><a href="#" data="">item7</a></li> 
</ul> 

<div id="banner" class=""></div> 


$('#list a').eq(0).hover(
function() { 
    $('#banner').addClass('banner_0'); 
}, 
function() { 
    $('#banner').removeClass(); 
} 
); 

$('#list a').eq(1).hover(
function() { 
    $('#banner').addClass('banner_1'); 
}, 
function() { 
    $('#banner').removeClass(); 
} 
); 

$('#list a').eq(2).hover(
function() { 
    $('#banner').addClass('banner_2'); 
}, 
function() { 
    $('#banner').removeClass(); 
} 
); 

$('#list a').eq(3).hover(
function() { 
    $('#banner').addClass('banner_3'); 
}, 
function() { 
    $('#banner').removeClass(); 
} 
); 
+0

http://codereview.stackexchange.com/ – j08691 2012-04-23 17:24:14

回答

4

尝试使用.index像下面,

$('#list a').hover(
function() { 
    $('#banner').addClass('banner_' + $(this).index()); 
}, 
function() { 
    $('#banner').removeClass(); 
} 
); 
+0

我如何应用此,当用户将鼠标悬停于每项目清单?它只适用于第一个列表项目。 – 2012-04-23 17:42:41

+0

您是否复制了ID? ID应该是唯一的。向我们显示您的标记,我认为您重复了ID,因此仅适用于第一项。 – 2012-04-23 17:44:47

+0

Jut添加了标记。 – 2012-04-23 17:52:13

相关问题