所需的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