2012-10-01 41 views
0

幫助!我的jQuery是否有衝突?

我在建設這個網站:http://armandwho.com/site使用自定義的WP主題。

我試圖添加一個全屏幕背景視頻(http://codecanyon.net/item/easy-video-background/1365012),並可以得到它在這個測試網站上工作http://clickjoe.com(需要一分鐘加載),但不在構建站點上。

我看到一個錯誤通過我的Safari瀏覽器檢查加載頁面時:

/網站/#:232TypeError: '未定義' 不是一個函數(計算 '$( 「身體」)video_background。')

任何人都可以告訴什麼問題可能是什麼?

更新:當加載構建&測試網站時,我可以找到的唯一不同點是文件「http://clickjoe.com/flash/video.swf」加載但該文件未加載BUILD站點和呼叫完全相同。有什麼東西阻止這個文件加載?

+1

包括你的代碼? –

+0

我看到這個錯誤「TypeError:$(」body「)。video_background不是函數「 –

+0

是的,這是我得到的同樣的錯誤。我已經根據需要將它放在header.php中: \t \t \t \t <腳本類型=」 文/ JavaScript的」 SRC = 「JS/video_background.min.js」> – Mojoe

回答

0

運行這段代碼在頁面加載後控制檯,和它的作品...:

$("body").video_background({ format:"16:9", 
    mp4:"video/AM.mp4" , 
    formatMobile:"16:9", 
    mp4Mobile:"video/AM.mp4" , 
    loop:"true", 
    autoplay:"true", 
    muted:"true" 
    }); 

jQuery(document).ready();處理程序射擊(你得到一個錯誤),我只是想不通爲什麼。在這個頁面上有很多腳本,它可能相互衝突。

ready()處理程序觸發時,可能video_background JavaScript文件沒有正確加載?

您可以嘗試逐個刪除其他腳本,直到找出哪一個是問題。

+0

感謝邁克!我把它插入到你的工作代碼在控制檯。現在找出衝突的地方... – Mojoe

1

首先,包括jQuery的1.6.2:

<script type="text/javascript" src="jquery/jquery-1.6.2.min.js"></script> 

這將設置1.6.2的jQuery$對象。然後,你包括video_background插件:

<script type="text/javascript" src="js/video_background.min.js"></script> 

這延長的jQuery 1.6.2的jQuery$對象添加video_background方法。後來,你包括jQuery的1.7.2:

<script type='text/javascript' src='http://armandwho.com/site/wp-includes/js/jquery/jquery.js?ver=1.7.2'></script> 

這將覆蓋(!!!) 1.6.2的jQuery$對象和video_background方法去與他們。然後,在最後,你嘗試調用video_background

$("body").video_background({ /* ... */ }); 

...但video_background早就跑了。


的解決辦法是隻包括一個jQuery的,並且video_background插件之前包括它。

+0

謝謝你ü!現在嘗試... – Mojoe

+0

似乎Wordpress以某種方式加載1.7.2版本。 video_background的代碼中是否可以編輯符合1.7.2版本的內容? – Mojoe

+0

@Mojoe:您可以刪除1.6.2版本並將所有插件移到1.7.2版本之後。 – icktoofay