我写了一段Js代码,实现一个展示图片功能,页面上有图片名称,当鼠标移动到名称上时把图片展示在鼠标旁边。所以图片的起始坐标是不确定的。在IE8和FF上都能正确展示,就IE6、IE7不能正确展示,在IE6、7上,是直接加在页面的最后位置。不管鼠标在哪都一样。我进行过测试,这段代码能够正确的取得鼠标的位置。希望有人能帮我解答。Js代码如下(传入参数为event鼠标事件):
function makeDiv(ev){
var div=document.getElementById("divAdditionImageLayer");
var img=document.getElementById("imgAdditionImageLayer");
if(div==null){
div=document.createElement("div");
div.id="divAdditionImageLayer";
div.setAttribute("style","position:absolute;z-index:1;border:solid 1px #E0E0E0");
img=document.createElement("img");
// img.setAttribute("style","width:240px;height:180px;");
img.Stretch = false;
img.id="imgAdditionImageLayer";
img.src="base.gif";
div.appendChild(img);
document.body.appendChild(div);
}
img.src="base.gif";
if (ev.pageX || ev.pageY) {
div.style.left=ev.pageX+"px";
div.style.top=ev.pageY+"px";
}
/*ie 与 ff的边界 处理不同*/
else if (window.ActiveXObject) {
div.style.left=ev.x+"px";
div.style.top=ev.y+"px";
} else {
result = { x: ev.clientX + document.body.scrollLeft - document.body.clientLeft, y: ev.clientY + document.body.scrollTop - document.body.clientTop }
}
div.style.display="block";
}
function makeDiv(ev){
var div=document.getElementById("divAdditionImageLayer");
var img=document.getElementById("imgAdditionImageLayer");
if(div==null){
div=document.createElement("div");
div.id="divAdditionImageLayer";
div.setAttribute("style","position:absolute;z-index:1;border:solid 1px #E0E0E0");
img=document.createElement("img");
// img.setAttribute("style","width:240px;height:180px;");
img.Stretch = false;
img.id="imgAdditionImageLayer";
img.src="base.gif";
div.appendChild(img);
document.body.appendChild(div);
}
img.src="base.gif";
if (ev.pageX || ev.pageY) {
div.style.left=ev.pageX+"px";
div.style.top=ev.pageY+"px";
}
/*ie 与 ff的边界 处理不同*/
else if (window.ActiveXObject) {
div.style.left=ev.x+"px";
div.style.top=ev.y+"px";
} else {
result = { x: ev.clientX + document.body.scrollLeft - document.body.clientLeft, y: ev.clientY + document.body.scrollTop - document.body.clientTop }
}
div.style.display="block";
}
解决方案 »
- 哪位知道 kindeditor 的KindEditor 方法写在哪里了?
- 这个应该怎么写?jquery & json.
- js和jquery框架如何获得name相同的一组复选框或者下拉框的值,并且以数组形势返回?
- 按钮实现浏览功能
- 正则
- 简单问题,请JS高手帮忙!谢谢!
- 怎样枚举document.body 上的所有元素?
- 没有对象,请问那一个对象???(在线等)
- 谁能解释一下下面代码?没学过js,请尽量详细点!谢谢!
- js 怎么将list 中数据按照自己想要的顺序显示在下拉列表中。
- 在textarea中每行数据后面加上X,表示删除本行。求这种效果!
- 把input作为对象参数传入js方法,在js方法中得到怎么得到input自定义属性的值
试试!!
原来,IE6和IE7不能用div.setAttribute("style","position:absolute;z-index:1;border:solid 1px #E0E0E0");来设置style属性。但是FF和IE8可以。
IE6和IE7需要一项一项的设置。