2011-03-29 83 views
0

我想在一個網站上運行這兩個單獨的腳本。這是他們看起來如何:jQuery衝突 - .load和懸停意圖

<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;'防止click事件從「流血」到頁面中的其他元素,還可以防止發生正常的點擊行爲(如跟隨鏈接或提交表單)。你真的需要那個'返回假';那裏? – 2011-03-29 12:21:10

+0

@理查德尼爾伊拉甘 - 謝謝。是的,如果不存在,頁面會正常加載(沒有Ajax效果)。 – Infocentre 2011-03-29 12:26:57

+0

啊,那麼你只是想停止點擊從實際上跟隨到鏈接。在下面檢查@rcravens的答案;這應該適合你。 – 2011-03-29 12:28:42

回答

0

嘗試在單擊處理程序添加EVT參數,然後調用

evt.preventDefault(); 

這裏的差異一個很好的說明:http://fuelyourcoding.com/jquery-events-stop-misusing-return-false/

+0

對不起,@rcravens - 你將不得不在代碼的位置更具體! – Infocentre 2011-03-29 12:27:51

+0

只需閱讀您發佈的鏈接。我在'evt.preventDefault();'中加入了''load'函數,儘管它似乎仍然會干擾另一個腳本...... – Infocentre 2011-03-29 12:38:53