所需的I有一個JavaScript功能(日曆時期)當焦點被設定在一定的文本框,其顯示的日曆。這在ie8,ff(所有版本,據我可以測試),歌劇等,但在ie7或以前不起作用罰款。JavaScript錯誤:對象在IE6&IE7
,如果我有它在一個空白的HTML測試頁設置,將工作,所以我相當肯定它與我的CSS(由設計者提供給我)的衝突。
我跟蹤的誤差的這幾行代碼 -
Epoch.prototype.getTop = function (element) //PRIVATE: returns the absolute Top value of element, in pixels
{
var oNode = element;
var iTop = 0;
while(oNode.tagName != 'BODY') {
iTop += oNode.offsetTop;
oNode = oNode.offsetParent;
}
return iTop;
};
Epoch.prototype.getLeft = function (element) //PRIVATE: returns the absolute Left value of element, in pixels
{
var oNode = element;
var iLeft = 0;
while(oNode.tagName != 'BODY') {
iLeft += oNode.offsetLeft;
oNode = oNode.offsetParent;
}
return iLeft;
};
更具體地說,如果我刪除實際while循環,則日曆將顯示OK,只是在頁面上的定位是錯的?低於該
編輯
守則規定 '元素'
<script type="text/javascript">
window.onload = function() {
var bas_cal, dp_cal, ms_cal;
dp_cal = new Epoch('epoch_popup', 'popup', document.getElementById('<%=txtDateOfDiag.ClientID%>'));
dp_cal = new Epoch('epoch_popup', 'popup', document.getElementById('<%=txtDOB.ClientID%>'));
};
</script>
注:我使用asp.net母版頁這就是爲什麼有必要對.ClientID
編輯
進一步的更新 - 我已經重新創建這個沒有使用css(但包括設計者提供的.js文件)代碼仍能正常工作,CSS和JavaScript之間必須存在某種衝突?
我原以爲情況而定的問題,並曾試圖在這之前,我已經RIED你的建議,但仍得到相同的錯誤,因爲我以前... – allanmayberry88 2011-04-20 08:59:09