2011-01-27 23 views
5

Sayfa yüklendikten sonra sayfada kesinlikle yerleştirilebilen JavaScript'i kullanarak yeni bir div katman oluşturmaya çalışıyorum.Javascript Mutlak Konumlandırma

<html><head> 
<script type="text/javascript"> 
function showLayer() { 
var myLayer = document.createElement('div'); 
myLayer.id = 'bookingLayer'; 
myLayer.style.position = 'absolute'; 
myLayer.style.x = 10; 
myLayer.style.y = 10; 
myLayer.style.width = 300; 
myLayer.style.height = 300; 
myLayer.style.padding = '10px'; 
myLayer.style.background = '#00ff00'; 
myLayer.style.display = 'block'; 
myLayer.style.zIndex = 99; 
myLayer.innerHTML = 'This is the layer created by the JavaScript.'; 
document.body.appendChild(myLayer); 
} 
</script> 
</head><body bgcolor=red>This is the normal HTML content. 
<script type="text/javascript"> 
showLayer(); 
</script> 
</body></html> 

sayfa here görülebilir: aşağıdaki gibi

Benim kodudur.

Sahip olduğum sorun, divun, yeni bir katman üzerinde değil, orjinal beden içeriğinden sonra oturmasıdır. Bunu nasıl giderebilirim?

cevap

12

bu yerine birlikte deneyin: Bu çalışma değildi

var myLayer = document.createElement('div'); 
myLayer.id = 'bookingLayer'; 
myLayer.style.position = 'absolute'; 
myLayer.style.left = '10px'; 
myLayer.style.top = '10px'; 
myLayer.style.width = '300px'; 
myLayer.style.height = '300px'; 
myLayer.style.padding = '10px'; 
myLayer.style.background = '#00ff00'; 
myLayer.innerHTML = 'This is the layer created by the JavaScript.'; 
document.body.appendChild(myLayer); 

nedeni yerine left ve top arasında (var olmayan) x ve y css özelliklerini kullanılan olmasıdır. Ayrıca, sol, üst, genişlik, yükseklik için bir birim belirtmeniz gerekir (ör. Pikseller için px).

+0

Teşekkürler. Tahmin edebileceğiniz gibi, diğer dillerin sözdizimi için daha çok kullanıyorum. Şimdi güzel çalışıyor. –

0

bu deneyin, üst kullanılarak konumunu ayarlayın ve oldukça x ve y daha sol

  • .
  • Mutlak konumlandırılmış bir öğenin, aynı zamanda bir konum stili olan bir şeyin içinde bulunması gerekir. Her zamanki numara, pozisyonu olan bir konteyner yaratmaktır: göreceli.
  • + 'px' ile genişlik, yükseklik, üst, sol vb. Stilleri ayarlamalısınız.
  • Görüntülemeyi ayarlamanıza gerek yoktur: zaten bir blok öğesi olduğu için div için blok.
+1

# 2 Doğru değil. Ebeveynin 'pozisyonu 'sadece koordinatların nasıl karar verileceğini belirler. – kapa