2012-05-04 2 views
1

왼쪽에있는 js 세로 스크롤 메뉴는 머리글 아래의 기본 div의 내용을 변경하는 링크입니다. 나는 그것이 작동하는 PHP 문장을 포함하여 설정했지만 모든 페이지를 다시로드 할 때마다 왼쪽의 스크롤 메뉴가 목록의 맨 위로 재설정되어 방문자 위치를 잃어 버리게됩니다.PHP 포함 문을 사용하여 DIV 내용을 변경하는 innerHTML의 올바른 구문

프로토 타입을 보려면 http://www.nbtc.org/nv에서 'Bicycling'또는 'Carpool'을 클릭하십시오. 대신 내가 innerHTML을 가진 DIV의 내용을 변경하는 JS를 사용하려는 일을

, 내가 링크 변수를 포함하는 하나 개의 기능을 원과 같이 링크가 보일 것이다

<a class="button" href="javascript:changecontent(bike)">Bicycling</a> 

은 다음 기능보다 실행됩니다 :

<script type="text/javascript"> 
function changecontent(var1) 
{ 
document.getElementById('content').innerHTML="<?php include(" var1 .php"); ?>"; 
} 
</script> 

그리고 id'content와 사업부는 'bike.php을 포함하도록 변경합니다. 다른 링크를 클릭하면 div가 다른 것으로 바뀝니다.

나는 이것에 익숙하지 않으므로 스크립트의 구문으로 나를 도와주세요. 기능 문장에서 'var1'을 분리해야한다는 것을 알고 있지만 어떻게해야할지 모르겠다.

이것은 곧장 해결되는 것처럼 보이지만 더 좋은 방법이 있다면 나는 모두 귀입니다. 수직 스크롤 메뉴는 이미 jquery를 사용하고 있으며 'load'함수에 대해 읽었습니다. 어쩌면 좋을까요?

도움 주셔서 감사합니다. 브렌든

답변

1

$.load 여기서 분명히 좋을 것입니다.

$(function(){ 
    $(".menutable").on("click", ".button", function(event){ 
     event.preventDefault(); 
     $("#content1").load(event.target.href); 
    }); 
}); 

그런 다음 href 값에 실제 대상을 포함하는 모든 링크를 변경 :

<a class="button" href="bike.php">Bicycling</a> 

데모 : 나는 그것을 구현하고 http://jsbin.com/uyasux/edit#javascript,html

+0

당신은이 예에서 설정해야하는 것처럼 ,하지만 작동하지 않습니다. 테스트 링크로 '자전거 타기'로 첫 번째 게시물의 웹 사이트에 게시됩니다. 나는 'button1'클래스와 'menutable1'클래스로 'menutable1'클래스를 변경하여이 함수가 메뉴를 드레스하는 클래스와 분리되어 있습니다. 그게 필요하지 않으면 우리가 일하게되면 다시 바꿀 것입니다. 도와 주신 조나단에게 미리 감사드립니다! –

+0

@BrendenMcDougal 페이지의 다른 JavaScript처럼'$ (document) .ready()'내에서 실행해야합니다. 이것은 브라우저가'menutable1'과'button1'이 존재하기 전에 실행되기 때문입니다. 위 코드를 사용하여 위의 대답을 업데이트했습니다. – Sampson

+0

예! 그것이 필요한 전부입니다. 환상적. 귀하의 도움과 빠른 답변에 다시 한 번 감사드립니다! –

관련 문제