0

我正在使用 scrollto,我希望在滚动到下一个 div 时添加一个类。使用 removeClass/addClass 可以吗?我不知道我会把它放在哪里,所以当滚动到当前的 .column div 时,它也会添加“选定”类。

Coles 注释版本:我正在查看滚动到时突出显示的当前 div。

这是我正在使用的滚动代码:

function scrollToPosition(element) {
    if (element !== undefined) {
        $(".wrap").scrollTo(element, 800, {
            margin: true
        });
    }
}

$(function() {

    //Create an Array of posts
    var posts = $('.column');
    var position = 0; //Start Position
    var next = $('#rightControl');
    var prev = $('#leftControl').hide();

    //Better performance to use Id selectors than class selectors
    next.click(function(evt) {
        //Scroll to next position
        prev.show();
        scrollToPosition(posts[position += 1]);
        if (position === posts.length - 1) {
            next.hide();
        }
    });

    prev.click(function(evt) {
        //Scroll to prev position    
        next.show();
        scrollToPosition(posts[position -= 1]);
        if (position === 0) {
            prev.hide();
        }
    });

});

HTML:

<div id="menu"></div>
<div class="arrows">
<div class="nav_arrow">
     <div class="control" id="leftControl"></div>
         <div class="control" id="rightControl"></div>
</div>
</div>
<div class="wrap">
    <div class="content">
        <div  class="column"></div>
        <div  class="column"></div>
        <div  class="column"></div>
        <div  class="column"></div>
        <div  class="column"></div>
    </div>
 </div>
4

2 回答 2

0

试试这个未经测试的代码!

function scrollToPosition(element) {
if (element !== undefined) {
   $(element).addClass('selected')
   $(element).siblings().removeClass('selected')
    $(".wrap").scrollTo(element, 800, {
        margin: true
    });

}
}
于 2012-06-25T18:43:22.550 回答
0

当然,你应该能够做到:

$('.someclass').removeClass('someclass');    
posts[position].addClass('someclass');

在您致电 scrollToPosition 之后。

于 2012-06-25T21:11:03.840 回答