2011-12-25 7 views
0

저는 그래픽 디자이너로서 트레이닝을하고 처음 프로그래머가되었으므로 쉽게 제발 지켜봐주십시오. 내가 조사하고 대답 할 수 없었던 두 가지 질문이 있습니다.JQuery ScrollLeft to Origin 및 Equal Increments

http://andychendesign.com/skindeep/

1 : 여기에 참조 내 라이브 사이트 내가 때, 그래서 다시 페이지를 새로 고침 왼쪽 (Safari에서 cmd를-R)에있는 모든 방법을 스크롤 할 사이트를 얻으려고 이름을 클릭 한 다음 새로 고침을 시도하면 스크롤 막대가 같은 위치에 머 무르지 않습니다. 본 프로그램 포함

내가 해봤 많은 옵션 :

<script language="javascript"> 
    $(document).ready(function() { $('html, body').animate({ scrollLeft : 0 },800); }); 
    } 
    </script> 

하지만 아무것도 작동하는 것 같군.

2 : 페이지 하단에 사용자가 이름을 선택하면 가로 방향 탐색에 도움이되는 작은 화살표가 있습니다.

<script> 
    function goToByScroll2(id){ 
    $('html,body').animate({scrollLeft: $("#"+id).offset().left - 600 },'slow'); 
    } 
    </script> 

    <script> 
    function goToByScroll3(id){ 
    $('html,body').animate({scrollLeft: $("#"+id).offset().left + 600 },'slow'); 
    </script> 

는 기본적으로,이 스크롤 증가가 동일하기를 원하지만 돌아가서 다음 앞으로 다른 위치에서 저를두고 : 그들은이 두 가지 기능에 의해 제어됩니다. id에 상대적으로 상쇄되기 때문에 이것이라고 생각합니다.이 문제를 해결하는 가장 좋은 방법은 무엇인지 모르겠습니다.

도움 주셔서 대단히 감사드립니다.

+0

클라이언트에서 새로 고칠 때 항상 원래 위치 (왼쪽 : 0)로 돌아갑니다. 해시 후크를 사용하지 않는 한 이것은 예상되는 동작이기도합니다. – David

답변

1

은 내가보기 엔이 물건의 scrollTo 플러그인을 추천 : http://demos.flesler.com/jquery/scrollTo/

난 당신이 플러그인을 사용하면 당신이 바람에 원하는 결과를 얻을 것이다 확신합니다.

원하는 결과를 얻을 수 없다면 다시보고하십시오. 문제의 경우 1

:

$.scrollTo({left:'0'}, 800); 

확실히 작동합니다. 문제 2의

:

$.scrollTo({left:'+=100px'}, 800); 

이 작업을 수행해야합니다.

+0

처음에는이 플러그인을 사용해 보았지만 페이지를 새로 고침 할 때 왼쪽으로 스크롤하거나 동일한 간격으로 앞뒤로 스크롤 할 수 없었습니다. – andy

+0

scrollTo를 사용하면 스크롤 할 요소를 지정할 수 있으므로 매우 동적입니다. 그리고 그 같은 증가분을 원한다면'$ (...). scrollTo ({top : '110px', 왼쪽 : '290px'}, 800); 또는 상대 위치 :'$ (..)를 사용할 수 있습니다. .). scrollTo ({top : '- = 100px', 왼쪽 : '+ = 100'}, 800); 왜 그게 너에게 효과가 없었 니? –

+0

첫 번째 문제는 페이지를 새로 고침 할 때 이벤트가 발생하지 않기 때문이라고 생각합니다. 두 번째 문제는 내 scrollTo 코드가 위치에있는 div를 기준으로 픽셀을 더하거나 뺄 때입니다. – andy

관련 문제