* 情景
我希望制作一个jquery效果,就像在本网站上找到的那个,它位于主闪光灯的右侧:
* 问题
我已经开始了,但是用muy方法遇到了一些麻烦......也许这不是实现我想要的效果的最好方法,请提前建议并提前致谢!!
我的代码可以在这里找到:
http://jsfiddle.net/gavAusWeb/HSbzC/1/
我也会在下面显示:
* HTML
<div id="latestNewsJs">
<div id="lnClickDivs1" class="sideJsBtns sidejsbtn1"></div>
<div id="hiddenDiv1" class="secretDiv"></div>
<div id="lnClickDivs2" class="sideJsBtns sidejsbtn2"></div>
<div id="hiddenDiv2" class="secretDiv"></div>
<div id="lnClickDivs3" class="sideJsBtns sidejsbtn3"></div>
<div id="hiddenDiv3" class="secretDiv"></div>
<div id="lnClickDivs4" class="sideJsBtns sidejsbtn4"></div>
<div id="hiddenDiv4" class="secretDiv"></div>
</div>
* CSS
#latestNewsJs {
border:1px solid red;
width:106px;
min-height:100%;
}
#lnClickDivs1 {}
#lnClickDivs2 {}
#lnClickDivs3 {}
#lnClickDivs4 {}
.sideJsBtns {
width:106px;
height:30px;
position:relative;
float:left;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius:5px 5px 5px 5px;
border:1px solid #CCCCCC;
}
#hiddenDiv1 {}
#hiddenDiv2 {}
#hiddenDiv3 {}
#hiddenDiv4 {}
.secretDiv {
background:orange;
width:106px;
height:100px;
display:none;
margin-top:-7px;
float:left;
}
* jquery
jQuery.noConflict();
jQuery(document).ready(function(){
var curI = 0;
jQuery('.sideJsBtns').click(function(){
curI = jQuery(this).index() + 1;
jQuery(".secretDiv").slideUp("medium");
if (jQuery("#hiddenDiv" + curI).is(":hidden"))
{
jQuery("#hiddenDiv" + curI).slideDown("medium");
} else {
jQuery("#hiddenDiv" + curI).slideUp("medium");
}
});
});
答案 0 :(得分:1)
在您的代码中,您使用index()
方法获取元素索引。如果你没有将任何选择器传递给这个方法,它将给出相对于其所有兄弟节点的索引。
看看我修复它的小提琴
答案 1 :(得分:1)
或者在没有任何索引()
的情况下使用此代码