2017-12-28 1 views
0

나는 같은 페이지로 연결되는 ~ 6 개의 버튼이있는 메뉴가 있습니다. 해당 페이지에는 드롭 다운 메뉴가 있습니다. 6 개의 단추의 목적은 해당 단추 중 하나를 클릭하면 페이지가 리디렉션 된 다음 드롭 다운 메뉴가 올바른 탭으로 열리는 것입니다.이 페이지로 연결된 어떤 버튼을 알고 계신가

그러나, 모든 스크립트는 페이지가 리디렉션되는 경우 사망, 그래서 나는 이런 식으로 뭔가 할 기운 다 :

<body> 
<a id="buttonID" onclick="GoToPage('buttonID')">All</a> 
</body> 

<script> 
function GoToPage(buttonID){ 
    redirect to page.html; 
    open menu to tab related to buttonID 
} 
</script> 

가 대신 아마 페이지가로드 될 때, 다음 시도를 실행하는 함수를 만드는 것을 어떤 버튼이 있었는지 찾아 내서 그 메뉴를 기반으로 올바른 구성으로 메뉴를 엽니 다.

window.onload = .... 

그리고 어떻게이에 페이지를 리디렉션하는 버튼을 통과 할 수있을 것입니다 :

내가 좋아하는 뭔가를 사용해야합니까?

+1

버튼 매개 변수를 쿼리 매개 변수로 전달할 수 있습니다. 뭔가, window.location = 'https://yoursite.com?button=buttonID'. 당신은 서버에서 버튼 매개 변수 값을 캡처하고 적절하게 렌더링 할 수 있습니다 – cdoshi

답변

0

드롭 다운 메뉴를 여는 것은 소스 페이지가 아닌 대상 페이지의 책임입니다. 서버가 드롭 다운 메뉴 상태에 대해 상관하지 않는다 때문에, fragment identifier 해당 정보 전송 :

<a id="buttonID" href="page.html#all">All</a> 

수신 측에를, 당신은

document.addEventListener('DOMContentLoaded', (event) => { 
    let target = window.location.hash; // target = "#all" 
    // modify your menu as appropriate 
}); 

load 이벤트 '케이와 식별자를 검색 할 수 있습니다 페이지가 완전히로드 될 때까지 실행 : 이미지, 스타일 시트, 모든 것. 드롭 다운 메뉴를 수정하는 데는 아무 것도 필요하지 않으므로 대신 DOMContentLoaded 이벤트를 사용하십시오. HTML 페이지가로드되어 파싱되어 DOM 조작이 준비되면 실행됩니다.

+0

당신은 내 친구 야. 나는 창문에 대해 몰랐다. 위치 .hash. 나는 어젯밤에 html/css/javascript를 시작했는데이 문제는 정말로 나의 진보에 렌치를 던졌습니다. –