2010-06-02 3 views
4

jQuery 주소를 사용하여 내 콘텐츠를로드하고 있지만 init에서는 두 번하고 있습니다. 메인 카테고리로 이동하면 첫 번째 이미지가로드되지만 두 번 수행하면 멈추는 방법을 모르겠습니다. 신선한 한 쌍의 눈은 인정 될 것입니다!jQuery 주소를 두 번로드합니다

$.address.init(function(event) { 
    $('#carousel-clip a').address(); 
    if(!event.pathNames[0]) { 
     var url = $('#carousel-clip ul li:first a').attr('href').replace('#!/',''); 
     $.address.path(url); 
    } 
}).change(function(event) { 
    if(event.pathNames[0]) { 
     $.getJSON(location.pathname + 'image/' + event.pathNames[0] + '/', function(data, textStatus, XMLHttpRequest) { handler(data); }); 
    } 
}); 

당신은 그것이 내가 나를 위해 그것을 고정

+0

나는 이것을 알아 내려고 노력해 왔습니다! – andychase

답변

4

문제는 $ .address.path와 onHashChange-Event가 모두 change-function을 직접 호출한다는 것입니다. 따라서 $ .address.path는 change 함수를 두 번 호출합니다. 해시가 변경되어 onHashChange-Event가 트리거되기 때문입니다.

window.location = window.location + '#' + url[1]; 

이 조금 더러운이지만 작동합니다 : 그와

$.address.path(url[1]); 

을 : 당신은이를 대체하여이 문제를 회피 할 수 있습니다.

2

here 작업 볼 수있는이 두 번 실행중인) (document.ready을 끈다. 꽤 어리석은 실수군요.