2013-06-19 32 views
0

我创建了一个新的div并将其添加到所有图像的网页上进行如下:JavaScript的绝对位置

var images = document.getElementsByTagName('img'); 
     for (var i = 0; i < images.length; i++) {  
var divLink = document.createElement("div"); 
    divLink.style.position = "absolute"; divLink.style.top = "10px"; divLink.style.right = "10px"; divLink.style.zIndex="1"; divLink.style.fontSize = "20px"; divLink.style.backgroundColor = "black"; divLink.style.color = 'white'; 
    divLink.innerHTML = linkCount; 
    images[i].parentNode.insertBefore(divLink, images[i]); 
} 

这是工作以及为所有图像除了包含在<ul>图像。对于这些图像,将每个divLink移动到<ul>的右侧,并堆叠在另一个的顶部。如果我删除了divLink.style.right = "10px";,divLink默认会移动到图像的左侧。

如何将divLink定位到图像的右上角,以查看所有图像,包括<ul>中的图像。

回答

2

使用relative位置,而不是absolute

divLink.style.position = "relative"; 
0

如果添加poistion:绝对和提顶部/左/右/底部的元素往往堆叠在彼此。

有2种方法可以做到这一点:

1>不指定任何position.Let它保持 “静态”。使用边距属性移动“图像”。

如:

divLink.style.margin-top = "10px"; 
divLink.style.margin-right= "10px"; 
     OR 

2>使刚刚位置:绝对没有提上/左/右/底部的属性,这样一来他们不会互相叠加。除非你不想使用top/left显式移动“images”,否则这是没用的。

0

似乎没有必要给位置:绝对的图像。 您可以简单地追加图像而不指定位置属性,并使用边距属性移动图像。

divLink.style.margin-top = "10px"; 
    divLink.style.margin-right= "10px";