2009-11-26 6 views
0

JavaScript로 사용자를 HTML 앵커로 가져 오는 함수를 만들려고합니다. 유일한 것은 .aspx 페이지 내에서 SharePoint에서 만들려고합니다. ...자바 스크립트를 통해 앵커로 이동

JavaScript 기능을 사용하여 숨기기를 취소했지만 테이블의 맨 아래에있는 숨겨진 테이블이 있습니다. 그래서 테이블 옆에 앵커를 추가하고 하이퍼 링크를 만들려고했지만 ... 작동하지 않습니다 ... 이것은 내 코드입니다.

function GoTo() { 
    window.location.hash="change" 
} 

<a name="change"></a> 

아이디어가 있습니까?

+0

함수가 올바르게 호출되고 있습니까? – womp

+0

그건 그렇고, 세미콜론으로 문장을 종료해야합니다. – SLaks

+0

이것은 내가 가지고있는 것입니다 ... 의 버튼 '변경을 요청합니다.'onClick = "GoTo()"> ' 이 함수는 다음과 같습니다.' ' 및 앵커 :'

답변

0

window.location.hash = "change"window.location.href = "#change" 으로 변경했습니다. 테스트 해본 결과 IE8, Chrome, FF, Safari에서 작동합니다. 해시 방법은 해시 태그

+0

잘못되었습니다. URL에 '#'문자가 필요하지만 'hash'속성의 일부가 아닙니다. – SLaks

+0

내가 게시 한 후에 게시 한 것처럼 다시 게시하십시오. 그게 작동하지 않습니다, Gregoire. 이제 코드는 다음과 같습니다. function GoTo() {window.location.hash = "# change"} 하지만 아직 작동하지 않습니다 ... 그런데 JavaScript 오류가 없습니다. 어떤 아이디어? –

+0

SharePoint가 막을 가능성이 있습니까? –

0

난 그냥 그것을 시도로 이동할 수있는 작은 크기에 창을 설정하는 시도를 작동하지 않으면

function scrollToAnchor(anchorName){ 
    //set the hash so people can bookmark 
    window.location.hash = anchorName; 
    //scroll the anchor into view 
    document.getElementsByName(anchorName)[0].scrollIntoView(true); 
} 

:

아마 다른 방법이있다 그것은 나를 위해 일했습니다. 검색 주소창에 #change을 추가하여 원하는대로 검색되는지 확인하십시오.

0

JD-가 Daz - 당신의 간단한 사양을 바탕으로

,이 간단한 테스트 페이지를 만들어, 작동하는 것 같다. 어쩌면 당신은 새로운 페이지에 자신의 페이지의 복사 및 붙여 넣기 작업을 수행해야하며, 작동 때까지 물건을 잘라 :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
    <title></title> 
    <script language="javascript"> 
     function GoTo() { 
      var myTable = document.getElementById("myTable"); 
      myTable.style.visibility = "visible"; 
      window.location.hash = "change"; 
     } 

    </script> 
</head> 
<body> 

<a href="javascript:GoTo();">Click Here</a><br /> 
1<br /> 
2<br /> 
3<br /> 
4<br /> 
5<br /> 
6<br /> 
7<br /> 
8<br /> 
9<br /> 
10<br /> 
11<br /> 
12<br /> 
13<br /> 
14<br /> 
15<br /> 
16<br /> 
17<br /> 
18<br /> 
19<br /> 
20<br /> 
21<br /> 
22<br /> 
23<br /> 
24<br /> 
25<br /> 
26<br /> 
27<br /> 
28<br /> 
29<br /> 
30<br /> 
<table id="myTable" border="1" width="500" style="visibility:hidden" backcolor="black"> 
    <tr> 
     <td>Shown</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> 
    </tr> 
    <tr> 
     <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> 
    </tr> 
    <tr> 
     <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> 
    </tr> 
    <tr> 
     <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> 
    </tr> 
</table> 
<a name="change"></a> 
</body> 
</html> 
+0

그건 내가 가지고있는 것과 거의 똑같아.테스트 페이지를 만들었고 완벽하게 정상적으로 작동했습니다. SharePoint에 배치하자 마자 작동이 멈췄습니다. 나는 ASPX 페이지를 바꾸고 커스텀 자바 스크립트, CSS, HTML을 삽입한다 - 전에는 아무런 문제가 없었다. 그 이유는 모르겠다. 감사하지만 마크에 대해 감사합니다. 많이 감사합니다. –

0

이 문제를 해결하기 위해 버튼에 변화를

<input type="button" value="Request For Change" onclick="GoTo(); return false;"> 

받는 문제는 클릭했을 때 input type="button"이 페이지를 제출한다는 것입니다. 따라서이를 클릭하면 앵커 요소로 스크롤되지만 페이지를 다시로드하여 용도를 무효화합니다. onclick 처리기 끝에 return false을 추가하여 기본 작업을 억제해야합니다.

또한 onclick은 모두 소문자 여야합니다.

+0

이것은 효과가 없습니다. 노력을 가져 주셔서 감사합니다, SLaks –

0

<a href="#change" onclick="unhide table code here">link text</a>을 사용하고 싶습니다.

관련 문제