我有一组部分,每个部分都有上一个和下一个导航按钮,以导航到共同响应部分。
<section id="sec1">
<img src="css/images/prev-btn.png" class="prev" />
<img src="css/images/next-btn.png" class="next" />
</section>
<div class="seperator"></div>
<section id="sec2">
<img src="css/images/prev-btn.png" class="prev"/>
<img src="css/images/next-btn.png" class="next" />
</section>
<div class="seperator"></div>
<section id="sec3">
<img src="css/images/prev-btn.png" class="prev"/>
<img src="css/images/next-btn.png" class="next" />
</section>
下一个按钮正常工作,使用以下代码:
$('.next').click(function () {
var next = $(this).parent().next();
$.scrollTo(next, 1500, { easing: "easeInOutCirc" });
});
但是prev按钮不会导航到prev元素。
我试过了:
此
$('.prev').click(function () {
var prev= $(this).parent().prev();
$.scrollTo(prev, 1500, { easing: "easeInOutCirc" });
});
和
$('.prev').click(function () {
var prev= $(this).parent().prevAll().last();
$.scrollTo(prev, 1500, { easing: "easeInOutCirc" });
});
和
$('.prev').click(function () {
var prev= $(this).parent().prev('section');
$.scrollTo(prev, 1500, { easing: "easeInOutCirc" });
});
我做错了什么?
答案 0 :(得分:3)
这应该为你做
var prev = $(this).parent().prevAll("section").attr("id");
请注意prevAll()
似乎返回按this
的距离排序的元素,因此最接近的元素将是第一个。由于attr()
返回第一个匹配元素的属性,因此无需在其上调用first()
或last()
。魔术只是发生了。