2014-10-14 7 views
0

기본 구조에서 WordPress로 웹 페이지를 이전 중이며 페이지 중 하나에 목차가 있습니다. ToC에는 ToC의 다른 영역을 확장 할 수있는 더하기 기호가 있으며 링크를 클릭 할 때 실제로는 본문이 제대로 스크롤되지만 실제로는 전체 페이지의 실제 HTML 태그가 위로 스크롤되지 않습니다.클릭하면 맨 위로 스크롤 할 페이지를 가져올 수 없습니다.

그래서 기본적으로,이 때문에 페이지가 제대로 그러나, BODY 스크롤 창을 설정하는 HREF 태그를 사용하는 더하기 기호를 클릭, 그래서 기본적으로

<html overflow-y: scroll; margin-left/right: auto; width: 1235px;> 
<body overflow-y: scroll> 
...primary content here centered by html css 
</body> 
</html> 

처럼 뻗어있는 것의 최대 매우 거친 모의하다 html 문서도 스크롤되지 않고 페이지를 탐색하기 위해 방금 클릭 한 섹션의 헤더에 올바르게 정렬하지 않습니다.

function openClose(theName, menuArray, theID) { 

for(var i=0; i < menuArray.length; i++) { 
    if (menuArray[i] == theID) { 
    if (document.getElementById(theID).style.display == "block") { 
     document.getElementById(theID).style.display = "none"; 
     document.getElementById("tick_"+menuArray[i]).innerHTML = "+"; 
     eraseCookie(theName); } 
    else { 
     document.getElementById(theID).style.display = "block"; 
     document.getElementById("tick_"+menuArray[i]).innerHTML = "-"; 
     newCookie(theName,menuArray[i],exp); } 
    } 
else { 
    document.getElementById(menuArray[i]).style.display = "none"; 
    document.getElementById("tick_"+menuArray[i]).innerHTML = "+"; } 
} 
    $(window).scrollTop(0); // this is just one of many examples 
} 

scrollTop, 그냥하지만, 아무것도 그냥 해봤 많은 예제 중 하나, 위쪽으로 스크롤 HTML 문서를 얻을 수 있습니다 : 여기에 더하기 기호가 사용하는 openClose 기능에 대한 코드는 아무것도하는 것 같다. 나는 몸을 스크롤하려고하지 않고, 마스터 세로 스크롤 막대를 스크롤하고 싶다. 나는 click function에서 openClose 함수를 사용하여 클릭시에 정의 된 위치로 이동 한 후 전체 문서를 다시 스크롤하도록 마지막에 그러한 함수를 넣을 것이라고 생각했습니다. 하지만 다시는 아무 일도 일어나지 않습니다. 나는 간단한 것을 놓치고 있습니까?

Google 검색 결과이 다른 페이지가 Scroll to the top of the page using JavaScript/jQuery?인데 발견 된 사례는 없습니다.

+1

http://stackoverflow.com/questions/1144805/how-do-i-scroll-to-the-top-of-the-page-with-jquery – Greg

+0

네 ....에 언급 한 바와 같이 내 원래 게시물 나는 거기에 있었고 심지어 그 페이지에 링크되어 있지만 예제는 작동하지 않습니다 ... –

+0

이것은 바보 같지만 브라우저에서 JS 콘솔을 확인 했습니까? 'scrollTop' 라인을 사용하기 전에 문법 에러가 발생했다면 아마도 브라우저는 결코 그 코드 라인에 도달하지 못할 것입니다. –

답변

0

정의하지 않는 한 wordpress의 jquery에는 $ 기호를 사용할 수 없습니다. "jQuery"라는 단어를 사용하여 $를 사용하는 각 장소에서 "jQuery"를 사용하십시오. 안전 모드 jquery를 조회하는 다른 방법이 있습니다.

또한 console-chrome/firefox = 페이지 요소를 마우스 오른쪽 버튼으로 클릭하고 "inspect element"를 선택하면 표시되는 창의 상단 메뉴에 console이 표시됩니다. js 오류가 표시됩니다. 위의 코드에서 "undefined is not function"이라는 메시지가 표시됩니다. 클래식 jQuery가로드되지 않은 오류 (또는 $ 기호와 충돌하고 안전 모드 jquery를 사용해야 함)와 같이 "예기치 않은"오류가 표시됩니다 괄호가 빠져 있습니다.

function openClose(theName, menuArray, theID) { 

    for(var i=0; i < menuArray.length; i++) { 

      if (menuArray[i] == theID) { 
       if (document.getElementById(theID).style.display == "block") { 
        document.getElementById(theID).style.display = "none"; 
        document.getElementById("tick_"+menuArray[i]).innerHTML = "+"; 
        eraseCookie(theName); 
       } else { 
        document.getElementById(theID).style.display = "block"; 
        document.getElementById("tick_"+menuArray[i]).innerHTML = "-"; 
        newCookie(theName,menuArray[i],exp); 
       } 
      } else { 
       document.getElementById(menuArray[i]).style.display = "none"; 
       document.getElementById("tick_"+menuArray[i]).innerHTML = "+"; 
      } 
    } 
    jQuery(window).scrollTop(); // this is just one of many examples 
}; 
관련 문제