2012-01-20 221 views
3

我創建了一個使用jQuery的水平滾動網站,我也想添加這個隱藏和顯示功能。但是,在爲隱藏函數插入另一個jQuery腳本後,水平滾動的緩動效果不起作用!所以當我點擊網站的導航時,它跳轉到另一部分。jQuery腳本衝突

這裏是我的jQuery的代碼:

<link rel="stylesheet" href="styles/style.css" type="text/css" media="screen" /> 
<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js'></script> 
<script src="js/jquery.localscroll-min.js" type="text/javascript"></script> 
<script src="js/jquery.scrollTo-min.js" type="text/javascript"></script> 
<script type="text/javascript"> 
    $(document).ready(function() { 
     $.localScroll.defaults.axis = 'x'; 
     $.localScroll(); 
    }); 
</script> 
<!-----------------------hiding div------------------------------------> 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.js" type="text/javascript"></script> 
<script type="text/javascript"> 
    $(document).ready(function() { 

     $(".slidingDiv").hide(); 
     $(".show_hide").show(); 

     $('.show_hide').click(function() { 
      $(".slidingDiv").slideToggle(); 
     }); 

    }); 
</script> 

有誰知道如何解決這個問題?

+0

是第二個片段所在的位置,並當它插入? –

+0

檢查滾動和緩動功能是否使用相同版本的Jquery。你看到任何JavaScript錯誤?您可以嘗試通過指向緩動函數來檢查它是否實際調用 – Raghav

+1

請記住將「return false;」就在關閉點擊回調之前,以防止show_hide的默認行爲,如果它是一個錨標記。 – ninty9notout

回答

2

考慮到您正在根據您的要求使用正確的腳本。

許多JavaScript庫使用'$'作爲函數或變量名稱,就像jQuery一樣。在jQuery的情況下,'$'只是'jQuery'的別名。爲了解決這個問題,在沒有衝突模式下添加jquery。

jQuery.noConflict(); 

包括如下所有jQuery代碼:

(function($) {  

    //jquery code goes here.  

})(jQuery); 

見的完整代碼:

<script type="text/javascript"> 
    //no conflict jquery 
    jQuery.noConflict(); 

    (function ($) { 

     //jquery code goes here.   
     $.localScroll.defaults.axis = 'x'; 
     $.localScroll(); 

    })(jQuery); 
</script> 
<script type="text/javascript"> 
    (function ($) { 

     $(".slidingDiv").hide(); 
     $(".show_hide").show(); 

     $('.show_hide').click(function() { 

      $(".slidingDiv").slideToggle(); 
     }); 

    })(jQuery); 
</script>