有关javascript在ie和firefox中的问题
这段代码在ie运行正常,但在firefox就不行了,请问如何修改呢?谢谢。functionshowDiv(obj){//保存元素varel=obj;//获得元素的左偏移量...
这段代码在ie运行正常,但在firefox就不行了,请问如何修改呢?谢谢。function showDiv(obj) {// 保存元素var el = obj;// 获得元素的左偏移量var left = obj.offsetLeft;// 获得元素的顶端偏移量var top = obj.offsetTop;
// 循环获得元素的父级控件,累加左和顶端偏移量while (obj = obj.offsetParent) {left += obj.offsetLeft;top += obj.offsetTop;}
// 设置层的坐标并显示document.all.divShow.style.pixelLeft = left;// 层的顶端距离为元素的顶端距离加上元素的高document.all.divShow.style.pixelTop = top + el.offsetHeight; if(navigator.userAgent.indexOf("MSIE")>0){ alert("ie"); document.all.divShow.style.display = "block"; }else { alert("firefox"); document.all.divShow.style.display = ""; }} 展开
// 循环获得元素的父级控件,累加左和顶端偏移量while (obj = obj.offsetParent) {left += obj.offsetLeft;top += obj.offsetTop;}
// 设置层的坐标并显示document.all.divShow.style.pixelLeft = left;// 层的顶端距离为元素的顶端距离加上元素的高document.all.divShow.style.pixelTop = top + el.offsetHeight; if(navigator.userAgent.indexOf("MSIE")>0){ alert("ie"); document.all.divShow.style.display = "block"; }else { alert("firefox"); document.all.divShow.style.display = ""; }} 展开
2个回答
2013-08-08
展开全部
你这个代码里面有几处js浏览器兼容问题:1. Firefox不只持document.all 方法。改为:document.getElementById或者document.getElementByName获取当前对象 2. 在Firefox下没有style.pixelTop和style.pixelLeft这个属性取而代之的是style.top和style.left。但是你要注意style.left(style.top)返回的是有单位的值例如:假设单位为(px) 则获取left 的方法为:parseInt(object.style.left, 10)
展开全部
js可以参考W3C标准 http://www.w3schools.com/js/
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询