我前陣子基於jquery寫了比較時間大小的方法,後來用protype也實現了個lightbox圖片放大、上一頁下一頁的效果,雖然基於jquery的lightbox也有很多,但既然添加進去了,就懶得修改了。這個時候問題來了,它倆的效果只有一個顯示,明顯是因爲jquery與protype的$屬性衝突的緣故。
其實呢,網上介紹jquery與protype衝突的方法很多,就不列舉了。引用的js代碼如下
<script type="text/javascript" src="js/prototype.js"></script>
<script type="text/javascript" src="js/scriptaculous.js?load=effects"></script>
<script type="text/javascript" src="js/lightbox.js"></script>
<script charset="gb2312" type="text/javascript" src="date/WdatePicker.js"></script>
<script type="text/javascript" src="js/jquery/jquery-1.2.6.min.js"></script>
<script language="javascript"> jQuery.noConflict(); </script>
<script type="text/javascript" src="js/jquery/checktime.js"></script>
我的解決方法:
讓protype.js相關的js放到前面,jquery.js相關的js放到後面 。在jquery.js後面添加jQuery.noConflict()方法,其實是把$的佔有權交還給protype。
因爲我是外部引用js文件,在很多頁面裏都有比較時間checktime.js方法,以及 圖片放大方法,所以在每個jquery.js後面都加上jQuery.noConflict()這句話,不然會出現問題的。