我在这里解决了我的问题。
JavaScript的:
$('.top').click(function () {
var thisPage = $(this).closest('.yesNoItem');
$('.yesNoTick').stop().animate({"opacity" : 1},400, function () {
thisPage.find('.no .top').stop().animate({"opacity" : 0},400, function () {
$(this).css("display", "none");
});
});
});
$('.yesNoNext').click(function () {
$(this).closest('.yesNoItem').stop().animate({"opacity" : 0},400, function () {
//This isnt working? Please advise?
$(this).next('.yesNoItem').stop().animate({"opacity" : 1},400);
});
});
HTML:
<div id="stage">
<div class="yesNoOuter">
<div class="yesNoItem" style="opacity:1;">
<div class="yesNoContainer yes">
<div class="top">
<div class="yesNoTick"></div>
</div>
<div class="bottom">
</div>
</div>
<div class="yesNoContainer no">
<div class="top">
<div class="yesNoTick"></div>
</div>
<div class="bottom">
<p>Text 1</p>
<div class="yesNoNext">More</span>
</div>
</div>
</div>
<div class="yesNoItem">
<div class="yesNoContainer yes">
<div class="top">
<div class="yesNoTick"></div>
</div>
<div class="bottom">
</div>
</div>
<div class="yesNoContainer no">
<div class="top">
<div class="yesNoTick"></div>
</div>
<div class="bottom">
<p>Text 2</p>
<div class="yesNoNext">More</span>
</div>
</div>
</div>
</div>
</div>
我还把代码行放在了不起作用。
基本上它隐藏了我想要的元素,但是没有淡化下一个......
任何人都可以根据我的代码提出建议吗?非常感谢!
答案 0 :(得分:3)
答案 1 :(得分:2)
我认为你的HTML搞砸了。第二个.yesNoItem
元素不是兄弟,而是第一个.yesNoItem
元素的子(右键单击 - &gt; inspect元素)。
可能是因为<div class="yesNoNext">More</span>
(打开div
,关闭span
)。浏览器将尝试自动更正此问题,并忽略关闭span
标记(如果您检查DOM,至少会出现这种情况)。
如果你更正你的HTML它应该工作(至少它应该选择正确的元素)。
如果它们实际上应该嵌套,那么.next()
无论如何都是错误的方法。