2012-04-07 2 views
-1

Slides이라는 슬라이드 쇼 플러그인을 사용하여 jQuery AJAX 요청을 통해로드 된 요소에서 슬라이드 쇼를로드하려고합니다. 많은 논쟁 끝에 플러그인이 작동하지만 Inspector를 보면 플러그 인이 너무 많은 탐색 요소를 생성하기 때문에 슬라이드 쇼의 모든 이미지에 대해 플러그인이 실행되는 것처럼 보입니다.jQuery : AJAX 콘텐츠를로드 한 후 어떻게 안정적으로 플러그인을 실행할 수 있습니까?

$('a').click(function(){  
    var location = $(this).find('a').attr("href"); 
    $(this).find('a').removeAttr('href');   
    $("section").animate({height: 0, opacity: 0}, 500, "swing", function(){ 
     $(this).css('height','auto').load(location + " .container", function(){ 
      $('section').find('img').load(function(){ 
       $('#slides').slides(); 
       var newHeight = $('section').height(); 
       $('section').animate({height: newHeight, opacity: 1}, 500, "swing"); 
      }) 
     })    
    }) 
}) 

SE는 Slides.js 지원이 아니라는 것을 알지만,이 경우 jQuery를 올바르게 사용하지 않는다고 생각합니다.

+2

_ "하지만 그저 깨지는 것."_ 너무 유익하지 않습니다. – gdoron

+0

그래, 나는 동의한다. "라고 말하면서 일관된 방식으로 생각하지 못했습니다."무작위로 이미지를 보여준 다음 아무것도 표시하지 않습니다. 10 번 더 클릭하면 이미지가 다시 표시됩니다. " 나는 조금 더 많은 정보로 질문을 업데이트했다, 나는 이것이 도움이되기를 바란다. – nipponese

답변

0

이 코멘트 너무 긴하지만, 나는 그것이 적절한 대답 아무 환상을 해요 :

그런 다음 $('a') 모든 앵커 태그를 찾고있는 부가적인 앵커 태그 그들 내부에보고 .find('a')을 삭제 한 다음 href 값을 삭제합니다. 나는 그것이 무엇을 성취하려고하는지 이해하지 못한다.

<a href="/something">Click me</a> <!-- this is the one listening for the click --> 
    <a href="/somethingElse">A link</a> 
</a> 

이로 돌려 :

<a href="/something">Click me</a> 
    <a>A link</a> 
</a> 

앵커 태그는 href가없이 유효하지 않은,하지만 대부분의 브라우저는 용서해야 그 모든 시작은 단계는 다음과 같이 복용하고있다 "설정" 당신. 그러나 나는 왜 이것을 이해하지 못합니까? 그리고 내부 앵커 대신에 래핑 앵커를 들어야하는 이유는 무엇입니까? 그리고 왜 닻을 감싸는 앵커가 있습니까?

확실히 마크 업을 보는 것이 유용 할 것입니다.

관련 문제