2012-09-11 4 views
1

페이지가로드 될 때 내 탐색 바에 클래스를 추가하고 싶습니다.jQuery - 페이지로드시 함수를 실행 하시겠습니까?

$(document).ready(function(){ 

    $('index.php').load(function(){ 
     $("#etusivu").addClass("selected"); 
     $("#quartz").removeClass("selected"); 
     $("#raikastimet").removeClass("selected"); 
     $("#sisusta").removeClass("selected"); 
     $("#teipit").removeClass("selected"); 
     $("#vaimennusmatot").removeClass("selected"); 
    }); 

    $('quartz.php').load(function(){ 

     $("#etusivu").removeClass("selected"); 
     $("#quartz").addClass("selected"); 
     $("#raikastimet").removeClass("selected"); 
     $("#sisusta").removeClass("selected"); 
     $("#teipit").removeClass("selected"); 
     $("#vaimennusmatot").removeClass("selected"); 
    }); 

    $('raikastimet.php').load(function(){ 

     $("#etusivu").removeClass("selected"); 
     $("#quartz").removeClass("selected"); 
     $("#raikastimet").addClass("selected"); 
     $("#sisusta").removeClass("selected"); 
     $("#teipit").removeClass("selected"); 
     $("#vaimennusmatot").removeClass("selected"); 
    }); 

    $('sisusta.php').load(function(){ 

     $("#etusivu").removeClass("selected"); 
     $("#quartz").removeClass("selected"); 
     $("#raikastimet").removeClass("selected"); 
     $("#sisusta").addClass("selected"); 
     $("#teipit").removeClass("selected"); 
     $("#vaimennusmatot").removeClass("selected"); 
    }); 

    $('teipit.php').load(function(){ 

     $("#etusivu").removeClass("selected"); 
     $("#quartz").removeClass("selected"); 
     $("#raikastimet").removeClass("selected"); 
     $("#sisusta").removeClass("selected"); 
     $("#teipit").addClass("selected"); 
     $("#vaimennusmatot").removeClass("selected"); 
    }); 

    $('vaimennusmatot.php').load(function(){ 

     $("#etusivu").removeClass("selected"); 
     $("#quartz").removeClass("selected"); 
     $("#raikastimet").removeClass("selected"); 
     $("#sisusta").removeClass("selected"); 
     $("#teipit").removeClass("selected"); 
     $("#vaimennusmatot").addClass("selected"); 
    }); 

}); 

그래서 사용자가 네비게이션에 링크를 클릭하고 브라우저가 새 페이지를로드 할 때 class="selected"을 추가하려고 해요 :

여기 내 시도입니다. 그러나 이것은 효과가 없습니다.

여기 탐색 : 당신이

$(document).ready(function(){ 

    ... 

}); 

내에 배치

<ul id="navigation">'; 
     <li id="etusivu"><a href="index.php">Etusivu</a></li> 
     <li id="quartz"><a href="quartz.php">Quartz-kalvot</a></li> 
     <li id="raikastimet"><a href="raikastimet.php">Raikastimet</a></li> 
     <li id="sisusta"><a href="sisusta.php">Sisusta</a></li> 
     <li id="teipit"><a href="teipit.php">Teipit</a></li> 
     <li id="vaimennusmatot"><a href="vaimennusmatot.php">Vaimennusmatot</a></li> 
</ul> 

답변

2

load 방법의 올바른 사용법은 아닙니다.

.load (URL [데이터], 완전한 (에서 responseText, textStatus, XMLHttpRequest 객체)])

$(document).ready(function(){ 

    $('#navigation a').click(function(event) { 
    event.preventDefault(); // prevents the default action of the event 
    $(this).parent().addClass('selected').siblings().removeClass('selected'); 
    var url = this.href; 
    $('#whereToLoad').load(url) 
    }) 

}); 
+0

* 다른 * ['.load()'] (http://api.jquery.com/load-event/) 기능에 대한 올바른 구문입니다. 사용법은 여전히 ​​잘못입니다. –

+0

@AnthonyGrist 예, '로드'이벤트. – undefined

+0

코드에 구문 오류가 있습니다. –

1

모든 ... 코드의 부분을 포함하는 모든 문서에 대해 DOMReady 즉시 실행됩니다. 당신은 예를 들어 location.href를 검사 할 수있는, 현재의 요소 인 알아 지금

$('#navigation .selected').removeClass('selected'); // remove 'selected' class from all li's that have it 
$('#id-of-current-page').addClass('selected'); 

: 당신이 그 시점에서 선택된 수준을 변경하려는 경우, 당신은 뭔가를 할 수 있습니다. 그러나 PHP를 사용하면서 보니, 먼저 렌더링 된 HTML에 선택된 클래스를 추가하는 것이 좋습니다.

코드가 현재하는 일은 페이지가로드 될 때 즉시 AJAX 요청을 통해 모든 페이지를 가져온 다음 모든 응답에 대해 선택한 클래스를 추가하거나 제거하는 것입니다.

관련 문제