jquery scrollto + addclass to div

时间:2012-06-25 18:37:39

标签: jquery css html scrollto

我正在使用scrollto,我想在滚动到下一个div时添加一个类。使用removeClass / addClass会起作用吗?我不知道在哪里放置它所以当scrollto滚动到当前.column div时它也会添加“selected”类。

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

这是我正在使用的scrollto代码:

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>

2 个答案:

答案 0 :(得分:0)

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

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

}
}

答案 1 :(得分:0)

当然,你应该能够做到:

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

在你调用scrollToPosition之后。