Avatar billede rasmus_a Nybegynder
30. december 2003 - 17:01 Der er 7 kommentarer

onMouse script flytter iFrame

Jeg bruger følgende script til at få en tabel til at kunne flytte sig (som et alm. windows vindue) når man klikker på det og flytter musen. Det virker fint men min iframe, med navigate.htm, har flyttet sig cirka en centimeter til højre efter jeg indsatte "træk&slip" koden.
Hvis jeg sletter:

onMouseDown="x = event.offsetX; y = event.offsetY; nede = true;" onMouseUp="nede = false;" onMouseOut="nede = false;" onMouseMove="traek(this);" onSelectStart="return false;" style="position: absolute; cursor: default;"

Så passer det hele igen.. Men hvorfor flytter ovenstående rundt på en helt anden iFrame?


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>

<script language="javascript" type="text/javascript">
nede = false;
x = y = 0;
function traek(obj) {
  if (nede) {
    obj.style.left = event.clientX - x;
    obj.style.top = event.clientY - y;
  }
}
</script>

<head>
    <title></title>
<meta name="Generator" content="Stone's WebWriter 4">
</head>
<body bgcolor="#000000" text="#FFFFFF" link="#FFFFFF" vlink="#FFFFFF" alink="#FFFFFF" background="pic/Untitled-3.jpg">


<table border="0" cellspacing="0" cellpadding="0">
<tr valign="top">
    <td width="8"></td>
    <td width="700" height="500" background="pic/windowbg.gif" onMouseDown="x = event.offsetX; y = event.offsetY; nede = true;" onMouseUp="nede = false;" onMouseOut="nede = false;" onMouseMove="traek(this);" onSelectStart="return false;" style="position: absolute; cursor: default;"><img src="pic/trans1x1.gif" width="0" height="4" align="bottom" alt=""><br>&nbsp;.<iframe name="window"
src="news.htm" frameborder="0" leftmargin="0" marginheight="0" marginwidth="0" topmargin="0" scrolling="no" align="vertical" height="477" width="700" ALLOWTRANSPARENCY="true"></iframe></td>
    <td width="86"></td>
    <td width="203" height="500"></td>
</tr>
<tr valign="top">
    <td width="8"></td>
    <td width="700" height="137"></td>
    <td width="86"></td>
    <td width="203" height="137"><iframe name="navigate"
src="navigate.htm" frameborder="0" leftmargin="0" marginheight="0" marginwidth="0" topmargin="0" scrolling="no" align="vertical" height="137" width="203"></iframe></td>
</tr>
<tr valign="top">
    <td></td>
    <td></td>
    <td></td>
    <td></td>
</tr>
</table>



</body>
</html>
Avatar billede roenving Novice
30. december 2003 - 17:06 #1
Sæt din iframe ind i en div, som starter med at have position:absolute;

-- td'en skal så have position:relative; !-)
Avatar billede roenving Novice
30. december 2003 - 17:07 #2
-- den iframe, som skal flytte sig !-)
Avatar billede rasmus_a Nybegynder
30. december 2003 - 18:10 #3
har du afprøvet det? prøv at indsætte min kode i din htm editor og så tilføj ændringen - ved mig flyver "navigate" iframen endnu længere til højre.
Avatar billede roenving Novice
30. december 2003 - 18:21 #4
Det er position:absolute, som gør det, for med sådan en flyttes elementet så at sige ud af dokumentet !-)
Avatar billede rasmus_a Nybegynder
30. december 2003 - 19:36 #5
jamen hvad skal jeg så gøre præcist? kan du give et eksempel udfra ovenstående?
Avatar billede rasmus_a Nybegynder
30. december 2003 - 21:00 #6
det er ikke en iframe der skal flytte sig - bare en <TD> - men det er én iframe der flytter på sig når jeg bruger koden :(
Avatar billede rasmus_a Nybegynder
03. januar 2004 - 13:51 #7
hjælp!§
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester