2010-05-29 61 views
0

情況是這樣的:我的一位朋友要求我幫她處理一個名爲www.KeepsakePartyInvitations.com的網站。她的原創設計師創建了這個代碼,但沒有完成該項目。所以我在這裏幫助拯救一天。Javascript錯誤:需要對象...修復此問題的難度

現在,一旦將照片添加到聚會模板並將鼠標置於圖像上方,就會在右側顯示備用短信。如有必要,該消息會通知訪問者如何重新定位圖像並調整其大小。

我正在測試重新定位圖像的邀請中的過程。我按照關於移動圖片的指示,但鼠標不放棄照片。鼠標移動的地方,圖像也一樣。如果要調整圖像大小,則會出現同樣的情況,但請遵循指示,但圖像不會調整大小。

我在IE 8檢查錯誤消息,並指出:

Message: Object required

Line: 873

Char: 3

Code: 0

URI: http://www.keepsakepartyinvitations.com/Includes/JCode.js

當我檢查JavaScript文件,該行873狀態:

tempX = e.clientX + document.body.scrollLeft 

如果您查看的JavaScript文件中,該行所在的功能稱爲:function getMouseXY(e)

請幫助我,因爲我使用Javascript已經很長時間了,我希望能夠解決這個問題。

回答

1

我不認爲document.body在嚴格模式

然而

,你使用它的doctype scrollLeft財產?我問這是因爲document.body.scrollLeftdocument.documentElement.scrollLeft的使用取決於文檔類型。你不能只是把它們加起來在同一行

我將重寫代碼

tempX = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft; 
tempY = e.clientY + document.body.scrollTop + document.documentElement.scrollTop; 

tempX = e.clientX + (document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft); 
tempY = e.clientY + (document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop); 

當然,在你的代碼檢查其它這種情況下