2013-07-31 93 views
0

我遇到一個很奇怪的問題,我希望有人可以回答(它的種類很廣泛,但我會解釋它是我最好的),代碼在打開時在本地頁面上工作,但儘快上傳相同的頁面會引發錯誤。另外兩個人也看了這個,導致更多的困惑。FancyBox jquery空錯誤 - 奇怪的問題

我下載了FancyBox以使用內聯功能通過href鏈接彈出用戶表單,而不是將用戶帶到其他頁面。

你可以看到這裏的「股票」看中框:

fancyapps.com/fancybox/demo 在各種選項,內聯是我在用。

我沒有需要的所有的與的fancybox附帶的其他功能,所以我剝奪了頁面下面,這工作得很好:

* Fancy Box Demo Stripped to Inline Feature only *

那麼,我應用此代碼到我們的頁面的沙箱拷貝來實現:

* Sandbox Copy with Fancy Box inline feature added to "make offer" link *

它停止工作!與頁面上的其他javascript沒有衝突,唯一的區別是它有一些顏色的.css更改,所有.fancybox被命名爲.ptroffer,並且CSS代碼不是內聯在頁面上的無論如何都會導致這個錯誤)。 這個本地打開的頁面效果很好 - 上傳時會出錯。 SCRIPT5007:無法獲得屬性「ptroffer」的值:對象爲空或未定義

<script type="text/javascript"> 
    $(document).ready(function() { 
     $('.ptroffer').ptroffer(); 
    }); 
</script> 
  • 正常工作與鏈接#2,並與線路#3在本地,但與#3上傳它拋出錯誤。

請!

+0

你使用的是原型框架,你使用jQuery.noConflict嗎? ...或在您的自定義腳本中使用'jQuery'來改變別名'$''jQuery(document).ready(function(){jQuery('。ptroffer')。ptroffer();});' – JFK

回答

0

代碼中的某處重寫了$。如果您更改該「準備好」處理程序以致電

jQuery('.ptroffer').ptroffer(); 

您將不會收到該錯誤。但是,事情可能無法正常工作;我認爲舊版本的jQuery正在被某些東西(1.3!)導入,這很糟糕。

編輯哦我明白了,有些東西正在拉動Prototype。你已經有了一個普通的劇本湯,事情會變得不可預知和奇怪,直到你理清了。可能在某處有某個東西叫jQuery.noConflict(),但是你所添加的「準備好」處理程序並不是爲了預期而寫的。無論代碼如何,jQuery 1.3都可能帶來驚喜。

+0

using jQuery ( '.ptroffer')ptroffer();相反,修正它!非常感謝你。 –