Avatar billede javascript Nybegynder
13. juli 2005 - 18:23 Der er 21 kommentarer og
1 løsning

Hjælp til kordinat system!

Hejsa, jeg er igang med et kordinat system til nogle test's jeg er igang med og lave i JavaScript.

I min hovedeside:
function insetuser(brugerid,brugernavn,felt,left_px,top_px){
if(brugerid != ""){
z = felt+200;
document.getElementById('inset_data').innerHTML = document.getElementById('inset_data').innerHTML+'<div id="user_'+brugerid+'" style="Z-INDEX: '+z+';POSITION: absolute;top:'+top_px+'px;left:'+left_px+'px;">TEST</div><div id="inset_data"></div>';
  }
}
function updateuser(brugerid,felt,left_px,top_px){
c = felt+200;
document.getElementById('user_'+brugerid).style.left = left_px;
document.getElementById('user_'+brugerid).style.top = top_px;
document.getElementById('user_'+brugerid).style.zIndex = c;
return true;
}

<div id='inset_chat'></div>
<div id='load'></div>

<iframe src="opdate.php" blablabla></iframe>

Det var hovedesiden hvor funktionen samt diven er! :)
Så har vi opdate.php som ser således ud:

<script>
parent.document.getElementById('load').innerHTML = "<scr"+"ipt type=\"text/JavaScript\>insertuser('1','x','2','23','233); </scr"+"ipt>";
</script>

Men problemet er den indsætte ikke dataer? :( Hvad gør jeg?
Har desværre kun 35 point, men håber i gør det for min skyld.
Avatar billede javascript Nybegynder
13. juli 2005 - 18:26 #1
<div id='inset_chat'></div> skal selfølelig rettes til <div id='inset_data'></div>
Avatar billede olebole Juniormester
13. juli 2005 - 19:00 #2
<ole>

Når du indsætter et bruger-div, indsætter du bagefter et ekstra div med id="inset_data". Er det en fejl?
I hvert fald skal et id altid være unikt i dokumentet  :)

/mvh
</bole>
Avatar billede olebole Juniormester
13. juli 2005 - 19:03 #3
- desuden skal der sættes enheder på i updateuser:
  document.getElementById('user_'+brugerid).style.left = left_px + "px";
- det samme for top-værdien
Avatar billede olebole Juniormester
13. juli 2005 - 19:05 #4
- og så ser jeg lige pludselig en heftig uhensigtsmæssighed  :)

<script type="text/JavaScript">
    parent.insertuser('1','x','2','23','233);
</script>
Avatar billede olebole Juniormester
13. juli 2005 - 19:11 #5
Du behøver ikke skrive scriptet ind i hoveddokumentet, men kan bare kalde funktionen direkte, hvis du adresserer med 'parent'.

Alle variabler og funktioner er properties på det window-objekt, dokumentet ligger i.
Kalder jeg fra iframe-dokumentet med 'parent', får jeg fat i det window-objekt, der huser hoveddokumentet - og da funktionen 'insertuser' ligger som property på dette objekt, kommer syntaksen til at se sådan ud:
    parent.FUNCTION( ARGUMENTS )
Avatar billede javascript Nybegynder
13. juli 2005 - 20:06 #6
Hej Ole.. tak for dine svar, men altså.. bruger parent.insertuser('blablalba'); og stadig uden "held"
Avatar billede javascript Nybegynder
13. juli 2005 - 20:07 #7
parent.insetuser('<?php echo "$rowBruger[id]"; ?>','<?php echo "$rowBruger[brugernavn]"; ?>',<?php echo "$rowBruger[feltid]"; ?>,<?php echo "$rowBruger[leftid]"; ?>,<?php echo "$rowBruger[topid]"; ?>);

bruger jeg :o)
Avatar billede olebole Juniormester
13. juli 2005 - 20:25 #8
Check lige, om funktionen bliver kørt:

function insetuser(brugerid,brugernavn,felt,left_px,top_px){
    alert("Funktionen insetuser blev kaldt")
... osv, osv ...
Avatar billede javascript Nybegynder
13. juli 2005 - 20:35 #9
Gør den ikke ?-S
Avatar billede javascript Nybegynder
13. juli 2005 - 20:36 #10
Hovhov, 2sek! Skal lige teste
Avatar billede javascript Nybegynder
13. juli 2005 - 20:43 #11
Jo, den udskriver intet, selvom den udskriver:
<script>
parent.document.getElementById('load').innerHTML = "<scr"+"ipt type=\"text/JavaScript\">parent.deleteuser(2);parent.updateuser(6,21,238,165);parent.insetuser('6','Betjent',21,238,165); </scr"+"ipt>";
</script>


i kildekoden.. de andre funktioner ligger også i den forrige side.. :)
Avatar billede olebole Juniormester
13. juli 2005 - 20:46 #12
Check lige disse to dokumenter, som fungerer:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>TITLE</title>
<script type="text/JavaScript">
function insetuser(brugerid,brugernavn,felt,left_px,top_px) {
    if(brugerid != ""){
        z = felt+200;
        document.getElementById('inset_data').innerHTML += '<div id="user_'+brugerid+'" style="Z-INDEX: '+z+';POSITION: absolute;top:'+top_px+'px;left:'+left_px+'px;">TEST</div>';
        alert(document.body.innerHTML)
    }
}
</script>
</head>
<body>

<button onclick="document.getElementById('myFrame').src='iframe.html'">Test</button>

<iframe id="myFrame"></iframe>

<div id="inset_data"></div>

</body>
</html>

- og det, der hedder 'iframe.html', ser sådan ud:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>TITLE</title>
<script type="text/JavaScript">
parent.insetuser(123, "myName", 20, 100, 200);
</script>
</head>
<body>


</body>
</html>
Avatar billede javascript Nybegynder
13. juli 2005 - 20:47 #13
Virker..
Avatar billede javascript Nybegynder
13. juli 2005 - 20:49 #14
men hvis jeg så laver
parent.insetuser(123, "myName", 20, 100, 200);
parent.insetuser(125, "myName2", 20, 200, 200);

udskriver den kun test på det første left og top felter og ikke det næste..
Avatar billede olebole Juniormester
13. juli 2005 - 20:58 #15
Den opretter to bokse med teksten 'TEST'. Det ene 100px til højre for det andet  :)
Avatar billede javascript Nybegynder
13. juli 2005 - 21:12 #16
Hvad mener du?
Avatar billede olebole Juniormester
13. juli 2005 - 21:13 #17
At det virker helt, som det skal, når jeg tester  :)
Avatar billede javascript Nybegynder
13. juli 2005 - 21:13 #18
Smid svar, det virker ! :)
Avatar billede olebole Juniormester
13. juli 2005 - 21:18 #19
Hehe ... griv  ;o)
Avatar billede javascript Nybegynder
13. juli 2005 - 21:22 #20
:D
Avatar billede olebole Juniormester
13. juli 2005 - 21:24 #21
- takker for points  :)
Avatar billede javascript Nybegynder
13. juli 2005 - 21:25 #22
np :O)
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