2011-03-29 3 views
0

하나의 사이트에서이 두 개의 별도 스크립트를 실행하려고합니다. 다음과 같이 표시됩니다.jQuery 충돌 -로드 및 마우스 오버 의도

<script type="text/javascript"> 
$(document).ready(function() { 

     var name = ""; 

     $(".home-roll-box").hover(function() { 
      name = $(this).attr("id"); 
      $("#image-"+name).stop().show().animate({ opacity: 1 }); 
     }, function() { 
      name = $(this).attr("id"); 
      $("#image-"+name).stop().animate({ opacity: 0 }); 
     }); 
     }); 
</script> 
<!--/Band Images--> 

<!--Navigation--> 
<script type="text/javascript"> 
     $.ajaxSetup ({ cache: false }); 

     $('ul.navigation li a').click(function() { 
     $('ul.navigation li.page_item.current_page_item').removeClass('current_page_item'); 
     $('ul.navigation li.page_item a.active').removeClass('active'); 
     $('#content-wrap').animate({ 
      top: "-2000px" 
     }, 1000); 

      var targetPage = $(this).attr('href'); 
      targetPage += " #content"; 

     setTimeout(function() { 
      $('#content-wrap').load(targetPage, function() { 
       $('#content-wrap').animate({ 
        top: "0px" 
       }, 1000); 
      }); 
     }); 
     $(this).addClass('active'); 
     return false; 
    }); 
</script> 

둘 다 개별적으로 작동하지만 함께 작동하지 않습니다. 이 문제를 일으키는 두 번째 스크립트 하단에 return false; 인 것 같습니다.

+0

'false를 반환은, '에'출혈 '에서 클릭 이벤트를 방지 페이지의 다른 요소와 링크를 따르거나 양식을 제출하는 것과 같은 일반적인 클릭 동작을 방지합니다. 당신은 정말로 그'return false;가 필요합니까? –

+0

@ Richard Neil Ilagan - 감사합니다. 예, 거기에 없으면 페이지가 정상적으로로드됩니다 (아약스 효과 없음). – Infocentre

+0

아, 클릭을 실제 링크에서 따라 가기를 막고 싶을뿐입니다. 아래 @rcravens의 대답을 확인하십시오; 그것은 당신을 위해 일해야합니다. –

답변

0

에 한번 당신의 클릭 핸들러에 EVT의 매개 변수를 추가하고 여기에

evt.preventDefault(); 

를 호출은 차이의 좋은 설명입니다 http://fuelyourcoding.com/jquery-events-stop-misusing-return-false/

+0

죄송합니다. @rcravens - 코드 배치에 좀 더 구체적이어야합니다! – Infocentre

+0

방금 ​​게시 한 링크를 읽으십시오. 나는'evt.preventDefault();'에 추가했고'.load' 함수는 작동하지만 여전히 다른 스크립트를 방해하고있는 것처럼 보입니다 ... – Infocentre

관련 문제