Abh*_*nyu 6 javascript internet-explorer dom
在尝试创建一个工具提示时面对IE中的offsetLeft和offsetTop问题,每次我们点击日历上的不同事件时都会创建这些问题.以下是适用于Firefox但对IE创建问题的代码.可以告诉我这个解决方案..
var ttip = __createElement("div","ttipbox","ttipbox"); //creating div
target = document.getElementById("sDiv"+ndiv); //taking the object of event on click of it tooltip has to display.
var x = target.offsetLeft ;
var y = target.offsetTop - (currObj.childNodes[2].childNodes[0].childNodes[1].scrollTop + ttip.offsetHeight);
ttip.style.top= y+15;
ttip.style.left= x - 80;
ttip.style.zIndex= "2000";
Run Code Online (Sandbox Code Playgroud)
提前致谢
在 IE 中应该有帮助:
var obj = target.getBoundingClientRect();
var left = obj.left;
var top = obj.top;
Run Code Online (Sandbox Code Playgroud)
一些注意事项:
1.) 您有 DOCTYPE 设置吗?如果不是,您将处于 Quirks 模式,这会改变 IE 呈现事物的方式。添加 DOCTYPE 将强制 IE 以“更多”标准的方式呈现。
2.) 请尝试添加“px”;设置顶部/左侧时的后缀。有一些已知问题(我相信 Firefox)在某些情况下不指定单位会导致奇怪的行为。
3.) 即使使用alert() 也可以验证IE 中的x 和y 值是否符合您的预期。
var x = ...;
var y = ...;
alert('x:' + x + ', y:' + y);
Run Code Online (Sandbox Code Playgroud)
有了上述 3 项的一些答案,我们应该能够提供更多信息/解决问题。
归档时间: |
|
查看次数: |
13495 次 |
最近记录: |