2013-05-18 6 views
0

jquery scrollTo (awesome ...)을 사용하는 수평 시차 사이트에서 windowsize 값과 scrollLeft 값을 사용하여 현재 페이지 너비 - 크기가 조정 된 경우에도 마찬가지입니다. 그게 다 효과적이야.사이드 스크롤 (scrollto.js)이 진행되는 동안 Jquery가 발생합니다. 천천히 스크롤하는 경우에만 작동합니다.

왼쪽에서 오른쪽으로 스크롤하는 동안 특정 창 너비가 눌려 지거나 움직이면 결국 다음 항목으로 지침을 제공하기 위해 항목 탐색 항목에 값을 설정하려고합니다. 내 포인트가 타격 중인지 확인하기 위해 아래와 같은 경고/테스트 코드를 사용하십시오. 그리고 그것들은 - 스크롤을 아주 느리게하는 경우입니다.

이 번호를 명확하고 확실하게 잡기위한 아이디어는 무엇입니까? 너무 빨리 발사되는 것처럼 보입니다. 아니면 이걸 제대로보고 있지 않습니까?

function parallaxScroll(){ 

    var scrolledX = $(window).scrollLeft(); 
    var windowsize = $(window).width(); 

    var win0 = 0; 
    var win1 = windowsize; 
    var win2 = windowsize * 2; 
    var win3 = windowsize * 3; 

    if (scrolledX == win1) { 
     $("#test").text("mark1"); 
    } 
    if (scrolledX == win2) { 
     $("#test").text("mark2"); 
    } 
    if (scrolledX == win3) { 
     $("#test").text("mark3"); 
    } 

} 

답변

1

정확한 크기를 잡기 란 정말 어렵습니다. 크기와 그보다 큰 것을 찾으십시오. 예를 들어, win1이 100이면 100-199로 시작하고 그 다음에 win2이면 200-299로 시작합니다. 나는 또한 창을 확인

참고 작은 (당신이 최대로, 다음 단지 <>을 변경하고 win3보다 큰 크기에 대한 추가 검사를 추가해야합니다 작은을 할 수하는 가장 큰 크기.

을 또한 확인 수표 if ... else if ... else statemnts 실수로 여러 번 발생하지 않도록 (WIN2이 부문 Win3에서도 발사 할 수 있도록 부문 Win3이 WIN2보다 큰)

function parallaxScroll(){ 

    var scrolledX = $(window).scrollLeft(); 
    var windowsize = $(window).width(); 

    var win0 = 0; 
    var win1 = windowsize; 
    var win2 = windowsize * 2; 
    var win3 = windowsize * 2; 

    if (scrolledX >= win3) { 
    $("#test").text("mark3"); 
    } 
    else if (scrolledX >= win2) { 
    $("#test").text("mark2"); 
    } 
    else { 
    $("#test").text("mark1"); 
    } 

} 
+0

자리에 -. 얼굴 나를 위해 손바닥과 당신에게 감사의. 아름답게 굴러 가고 있습니다. – Stuff