17. juni 2005 - 12:06
Der er
7 kommentarer og 1 løsning
Hvorfor virker dette ikke?
<div id="talebobbel" style="left: document.getElementById("you").style.left; top: document.getElementById("you").style.top; position: absolute; z-index: 1;">sss</div> Hvorfor virker det ikke?
Annonceindlæg fra QNAP
Man kan ikke sætte et javascript-udtryk ind i en style-attribut ... Desuden er det ikke sikkert at elementet med id="you" er færdigskabt, så f.eks. <body onload="st1=document.getElementById('talebobbel');st2=document.getElementById('you'); st1.left=st2.left;st1.top=st2.top;"
-- men det dur kun, hvis der på elementet 'you' er en style-attribut, hvor de værdier er sat !-)
Virker desværre ikke. Min div til "you": <div id='you' align='center' style='POSITION: absolute; z-index: 0;'><div id='tilbehor' style='width:50px; height:71px; position:absolute; left:0px; top:0px;'>Noget</div>
diven talebobbel er placeret i left: 0px; top:0px; hvad jeg kan se.. den går ikke med "you" :(
Så skal man længere omkring: <script type="text/javascript"> function getPos(elm) {//jumper for(var zx=zy=0;elm!=null;zx+=elm.offsetLeft,zy+=elm.offsetTop,elm=elm.offsetParent); return {x:zx,y:zy} } window.onload = function(){ var parPos = getPos(document.getElementById('you')); var st = document.getElementById('talebobbel').style; st.left = parPos.x + 'px'; st.top = parPos.y + 'px'; } </script> -- og ingen onload på body-tagget !-) -- hvor jeg iøvrigt havde glemt .style på både st1 og st2 ...
Ah, smid svar.. Lavede bare en talebobbel.style.left=l; talebobbel.style.top=t; i functionen "ryk" :D
Vi tilbyder markedets bedste kurser inden for webudvikling