【问题标题】:jquery scrollto + addclass to divjquery scrollto + addclass 到 div
【发布时间】:2012-06-25 18:37:38
【问题描述】:

我正在使用 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>

【问题讨论】:

    标签: jquery css html scrollto


    【解决方案1】:

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

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

    【讨论】:

    • 不幸的是,在实施该更改后它不会滚动。我在它下面是未经测试的,我会继续玩。任何帮助将不胜感激! - 编辑:放置 .addClass 和 .siblings。下面 .scrollto
    • 它不会从以前的 div 中删除该类。
    • @frayed_dna 抱歉打错了,siblings 应该是 siblings()
    【解决方案2】:

    当然,你应该能够做到:

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

    就在您调用 scrollToPosition 之后。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-28
      • 1970-01-01
      • 2012-06-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多