2012-06-25 4 views
0

scrollto를 사용하고 있으며 다음 div로 스크롤 할 때 클래스를 추가하고 싶습니다. removeClass/addClass를 사용하면 효과가 있습니까? 어디에 배치 할 것인지 모르겠다. 스크롤 할 때 현재의 .column div로 스크롤하여 "selected"클래스도 추가한다.jquery scrollto + div to div

음표 버전 : 스크롤 할 때 강조 표시된 현재 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> 

답변

0

이 검증되지 않은 코드를 시도!

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

} 
} 
+0

변경 사항을 적용한 후에도 스크롤되지 않습니다. 나는 그것의 밑에 시험되지 않는다, 나는 주변에 놀 n 계속할 것이다. 어떤 도움이라도 대단히 감사하겠습니다! - EDIT : .addClass와 .siblings을 배치했습니다. below .scrollto –

+0

이전 div에서 클래스를 제거하지 않습니다. –

+0

@frayed_dna 죄송합니다. 오타,'형제 '는 형제() 여야합니다. – undefined

0

물론, 당신은 할 수 있어야 :

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

바로 scrollToPosition에 전화 후.