滚动到当前打开的元素

时间:2012-08-15 16:02:51

标签: jquery html scroll slide

当我单击箭头按钮时,窗口会滚动到下一个元素,但是当我向下滚动并单击一个随机元素时,它将首先返回到我之前单击的元素,或者,如果我没有单击,它转到第一个元素。

我希望它在当前点击的元素旁边滚动。一切都在鼓泡。

我正在处理的网站,情况出现 - http://dawidjarzabek.pl/test

jQuery的:

var currentElement = $(".post");

$('.post #nav a.prev').click(function() {
    currentElement = currentElement.prev();
    $.scrollTo(currentElement, 800);
});

$('.post #nav a.next').click(function() {
    currentElement = currentElement.next();
    $.scrollTo(currentElement, 800);
});

HTML:

<div id="1" class="section">

    <div class="post position">
        <div id="photo"><center><img src="photos/studio/1.jpg" /></center></div>
        <div id="nav"><a class="prev"><img src="images/icon_top.png" /></a><a class="next"><img src="images/icon_bottom.png" /></a></div>
        <div id="text">
            <h1>Modelka: </h1>
            <h2></h2>
            <h1>Wizaż : </h1>
            <h2></h2>
        </div>
    </div>
    <div class="post position">
        <div id="photo"><center><img src="photos/studio/2.jpg" /></center></div>
        <div id="nav"><a class="prev"><img src="images/icon_top.png" /></a><a class="next"><img src="images/icon_bottom.png" /></a></div>
        <div id="text">
            <h1>Modelka: </h1>
            <h2></h2>
            <h1>Wizaż : </h1>
            <h2></h2>
        </div>
    </div>
</div>

[the rest .post and .section]

1 个答案:

答案 0 :(得分:0)

试试这个:

$('.post #nav a.prev').click(function() {
    $.scrollTo($(this).closest('.post').prev(),800);
});

$('.post #nav a.next').click(function() {
    $.scrollTo($(this).closest('.post').next(),800);
});

并且您不必存储变量currentElement。 ;)