复制代码 代码如下:
$(function()
{
$("#tabs a:eq(0),#tabs2 a:eq(0),#dbt_l_t_tabs a:eq(0),#dbt_r_t_tabs a:eq(0)").addClass("m_on");
$("#tabs a:gt(0),#tabs2 a:gt(0),#dbt_l_t_tabs a:gt(0),#dbt_r_t_tabs a:gt(0)").addClass("m_out");
$("#tabs a,#tabs2 a,#dbt_l_t_tabs a,#dbt_r_t_tabs a").each(function(){
$(this).mouseover(function(){
if($(this).hasClass("m_out"))
{
var ab=$(this).closest("li").closest("div").attr("id");
var ulid="ul_"+ab;
var arra=$("#"+ab+" a");
var e=arra.index($(this));
$("#"+ab+" a").removeClass("m_on").addClass("m_out");
$(this).removeClass("m_out").addClass("m_on");
$("#"+ulid+" ul").hide();
$("#"+ulid+" ul:eq("+e+")").show();
}
})
})
})
23行赋值使用了JQuery的index方法。查找一个对象的某一元素在这个对象里的索引值。
官方一个说明:$('li').index($('#bar'));这里的index参数用单引号。在测试过程中总是失败。。不知道为什么。后来直接先定义了$(this)所在对象:var arra=$("#"+ab+" a");。
就可以成功返回索引了。
以下是其中一个Tabs
复制代码 代码如下:
<div>
<div></div>
<div>
<li><div></div><a href="https://www.jb51.net/List.aspx?Uid=185">新闻动态</a><div></div></li>
<li><div></div><a href="https://www.jb51.net/List.aspx?Uid=160">团学专题工作</a><div></div></li>
</div>
<div></div></div>
<div>
<div><img src="https://www.jb51.net/images/222.jpg" /></div>
<div><ul></ul><ul>
<li><a href="https://www.jb51.net/Show.aspx?Uid=194&ID=6393" title="团干培训通知">[团干培训] 团干培训通知</a>2010-05-17</li>
<li><a href="https://www.jb51.net/Show.aspx?Uid=193&ID=6392" title="我校团委开展学风建设主体活动">[团日活动] 我校团委开展学风建设主体活动</a>2010-05-17</li>
</ul></div>
</div>
您可能感兴趣的文章: