Avatar billede -kick- Nybegynder
15. december 2004 - 23:50 Der er 62 kommentarer og
1 løsning

Objektet understøtter ikke den egenskab eller metode

Den melder fejl på linje 60
"Objektet understøtter ikke den egenskab eller metode"
Som er denne linie:

document.write("<a style='cursor: hand' onMouseover=document.feltet"+felt_id+".src='felt_over.gif' onMouseout=document.feltet"+felt_id+".src='felt.gif' onclick='ryk("+left_px+","+top_px+","+felt_id+");'><img border='0' src='felt.gif' width='40' height='60' alt='' name='feltet"+felt_id+"'></a></div>");
Avatar billede skovenborg Nybegynder
15. december 2004 - 23:56 #1
du kan ikke skrive document.feltet"+felt_id+" på den måde da man ikke kan sammensætte en ID på den måde midt i en javascript sætning.

Istedet skal du bruge document.getElementById():
document.write("<a style='cursor: hand' onMouseover=document.getElementById('feltet"+felt_id+"').src='felt_over.gif' onMouseout=document.getElementById('feltet"+felt_id+"').src='felt.gif' onclick='ryk("+left_px+","+top_px+","+felt_id+");'><img border='0' src='felt.gif' width='40' height='60' alt='' name='feltet"+felt_id+"'></a></div>");
Avatar billede skovenborg Nybegynder
16. december 2004 - 00:04 #2
og så kan jeg ikke lige ta' at der ikke er anførselstegn omkring en attribut (fx onmouseover og onmouseout):
Avatar billede skovenborg Nybegynder
16. december 2004 - 00:04 #3
document.write(unescape("<a style='cursor: hand' onMouseover=%22document.getElementById('feltet"+felt_id+"').src='felt_over.gif';%22 onMouseout=%22document.getElementById('feltet"+felt_id+"').src='felt.gif';%22 onclick='ryk("+left_px+","+top_px+","+felt_id+");'><img border='0' src='felt.gif' width='40' height='60' alt='' name='feltet"+felt_id+"'></a></div>"));
Avatar billede -kick- Nybegynder
16. december 2004 - 00:56 #4
Hvor er fejlen så her?

document.write("<div id='felt"+felt_id+"' style='POSITION: absolute;top:"+top_px+";left:"+left_px+";'>");
Avatar billede -kick- Nybegynder
16. december 2004 - 00:57 #5
Den siger præsic det samme
Avatar billede skovenborg Nybegynder
16. december 2004 - 01:09 #6
der skal nok stå:
document.write("<div id='feltet"+felt_id+"' style='POSITION: absolute;top:"+top_px+";left:"+left_px+";'>");

før havde du skrevet felt"+felt_id, men bruger teksten feltet i det ovenstående script.
Avatar billede -kick- Nybegynder
16. december 2004 - 08:14 #7
Ehm, det virker ikke.

FØr virkede det, men nu vil den slet ikke bruge funktionen.

function ryk(l,t,felt){

    you.style.top=t;
    you.style.left=l;
    ynavn.style.top=t+47;
    ynavn.style.left=l;
 
}

document.write("<div id='feltet"+felt_id+"' style='POSITION: absolute;top:"+top_px+";left:"+left_px+";'>");

document.write("<a style='cursor: hand' onMouseover=document.getElementById('feltet"+felt_id+"').src='felt_over.gif' onMouseout=document.getElementById('feltet"+felt_id+"').src='felt.gif' onclick='ryk("+left_px+","+top_px+","+felt_id+");'>

<img border='0' src='felt.gif' width='40' height='60' alt='' name='feltet"+felt_id+"'></a></div>");
Avatar billede skovenborg Nybegynder
16. december 2004 - 10:47 #8
nåå, det ser ud til du brugte onMouseover=document.getElementById('feltet"+felt_id+"').src til noget andet (og selvfølgelig var det et billede - dumt tænkt af mig ;-)

Så bare ret dette tilbage til det oprindelige:
document.write("<div id='felt"+felt_id+"' style='POSITION: absolute;top:"+top_px+";left:"+left_px+";'>");
Avatar billede -kick- Nybegynder
16. december 2004 - 12:01 #9
hvad så med denne:

document.write("<a style='cursor: hand' onMouseover=document.getElementById('feltet"+felt_id+"').src='felt_over.gif' onMouseout=document.getElementById('feltet"+felt_id+"').src='felt.gif' onclick='ryk("+left_px+","+top_px+","+felt_id+");'>
Avatar billede skovenborg Nybegynder
16. december 2004 - 12:06 #10
ja, umiddelbart ser det ud til at være fint nok.

Du kunne evt. hvis det stadig ikke virker, smide et link til siden du afprøver, evt. bare en simpel testside hvor problemmet opstår.
Avatar billede -kick- Nybegynder
16. december 2004 - 12:17 #11
Har prøvet, den siger præsic den samme fejl, jeg beklager.

Du kan desværre ikke se en test side, da den kører over min localserver som jeg har lukket for port 21, 80, 202 osv.
Avatar billede -kick- Nybegynder
16. december 2004 - 12:18 #12
Den siger fejl på linje 59 som er:
document.write("<div id='felt"+felt_id+"' style='POSITION: absolute;top:"+top_px+";left:"+left_px+";'>");
Avatar billede skovenborg Nybegynder
16. december 2004 - 12:38 #13
selve sætningen er nu rigtigt skrevet op og der er ingen javascript i den, som kan lave fejl.

Så enten har du lavet en fejl tidligere eller også har du ikke defineret en af de tre variabler du bruger i ovenstående sætning (felt_id, top_px og left_px)
Avatar billede -kick- Nybegynder
16. december 2004 - 13:19 #14
Oh my gud! :( Nu blev siden helt hvid, hvad har jeg gjort gjaldt?

function ryk(l,t,felt){

    you.style.top=t;
    you.style.left=l;
    ynavn.style.top=t+47;
    ynavn.style.left=l;
}


felt_id = 1;


for (row = 0; row < 6; row++) {
  top_px = row*60;
  for (col = 0; col < 15; col++) {

      left_px = col*25;

document.write("<div id='felt"+felt_id+"' style='POSITION: absolute;top:"+top_px+";left:"+left_px+";'>");
document.write("<a style='cursor: hand' onMouseover=document.getElementById('feltet"+felt_id+"').src='felt_over.gif' onMouseout=document.getElementById('feltet"+felt_id+"').src='felt.gif' onclick='ryk("+left_px+","+top_px+","+felt_id+");'>
      // generer kode til position (left_px, top_px) med felt = felt_id
  felt_id++;
  }

}
Avatar billede -kick- Nybegynder
16. december 2004 - 13:21 #15
Når jeg sætter <div id="vis_chat"> over <script blablabla>

Så udskriver den KUN brugerne, det jo også det jeg vil have, men den skal vise brugerne OVEN i selve chat.php, altså hvor man kan se brugerne på felterne og baggrunden, hvis i forstår.
Avatar billede skovenborg Nybegynder
16. december 2004 - 13:28 #16
Du mangler både at afslutte dit div-tag og a-tag, men også din javascript-streng:
document.write("<div id='felt"+felt_id+"' style='POSITION: absolute;top:"+top_px+";left:"+left_px+";'>");
document.write("<a style='cursor: hand' onMouseover=document.getElementById('feltet"+felt_id+"').src='felt_over.gif' onMouseout=document.getElementById('feltet"+felt_id+"').src='felt.gif' onclick='ryk("+left_px+","+top_px+","+felt_id+");'></a></div>");

jeg tilføje blot:
</a></div>"); til linien med document.write("<a style='cur....
Avatar billede -kick- Nybegynder
16. december 2004 - 13:31 #17
Læg svar, det virker!

Men, kan du svarer mig på hvorfor at den ikke vil trykke på felterne, altså det som der har været problemer med i lang tid.

Altså det er ligesom at <div id="chat">
blockere indholdet.

Den vil verken rykke rundt, eller noget.
Avatar billede skovenborg Nybegynder
16. december 2004 - 13:41 #18
lige en hurtig kommentar først:

Jeg sagde at du skulle tilføje </a></div> i document.write("<a style='cur.... sætningen. Men du afslutter jo netop disse to tags senere hen (når du printer billedet ud). Havde lige overset den, så du må hellere slette de to afsluttende tags igen, så der står:
document.write("<a style='cursor: hand' onMouseover=document.getElementById('feltet"+felt_id+"').src='felt_over.gif' onMouseout=document.getElementById('feltet"+felt_id+"').src='felt.gif' onclick='ryk("+left_px+","+top_px+","+felt_id+");'>");
Avatar billede -kick- Nybegynder
16. december 2004 - 13:46 #19
Beklager, virker desværre ikke.

Satte dette istedet.

document.write("<div id='vis_chat'>");
document.getElementById('vis_chat').innerHTML = "<?php include("db.php"); $kl = mysql_query("SELECT * FROM naturechat_brugere ORDER BY felt desc"); WHILE($row1 = mysql_fetch_array($kl)){ echo "<div id='$row1[brugernavn]' align='center' style='POSITION: absolute;'><img src='$row1[figur]' title='$row1[brugernavn]' alt='$row1[brugernavn]>'><br />$row1[brugernavn]</div><br />"; } ?>";
document.write("<div id='rum'><img src='rum.jpg' alt=''></div>");
document.write("</div>");

Nok med det, ved min kode er rodet, men det fordi at i document.write må der ikke være linje brud.

Fejlen er at man ikke kan trykke på felterne, det er ligesom en anden div er oven på!
Avatar billede skovenborg Nybegynder
16. december 2004 - 13:49 #20
hmm er du sikker på at funktionen ikke bliver aktiveret når du trykker på felterne?

Prøv at test det af ved at skrive:
function ryk(l,t,felt){
    alert("TEST");
    you.style.top=t;
    you.style.left=l;
    ynavn.style.top=t+47;
    ynavn.style.left=l;
}

Hvis alert-boksen popper op, så virker bliver funktionen kaldt og noget andet må være i vejen. Måske kan du bare ikke se you og ynavn fordi de er gemt et sted bag billederne.
Avatar billede -kick- Nybegynder
16. december 2004 - 14:06 #21
Jamen, før funktionen læses SKAL man jo trykke på et felt. Det jo det man _IKKE_ kan, det bliver blockert.
Avatar billede -kick- Nybegynder
16. december 2004 - 14:11 #22
Og nej, det virker ikke med en onload i body, så siger den "Agumentet er ugyldigt"
Avatar billede skovenborg Nybegynder
16. december 2004 - 17:05 #23
Det var mere fordi jeg ikke er sikker på den virkelig bliver blokeret. Grunden til at du ikke kan se you og ynavn er, så vidt jeg kan se, at de gemmer sig omme bag alle felterne.

Nu var det så jeg ville have dig til at lave en alert-boks, og den eneste grund dertil er at jeg ville vise at funktionen faktisk bliver kørt. Det virker i hvert fald her hos mig - men jeg har heller ikke hele siden at rode med. Det ville hjælpe utrolig meget hvis du kunne vise siden og lægge et link til den.

Grunden til at de to (you og ynavn) lægger sig omme bag felter er nok at de bliver lavet før felterne så de får et lavere z-index (du har vel også sat position:absolute; på de to, ikke?). Så du kan prøve at rode lidt i stylen med z-index eller flytte dem et andet sted hen - fx efter det script du kører her:
<script type="text/javascript">
function ryk(l,t,felt){
    you.style.top=t;
    you.style.left=l;
    ynavn.style.top=t+47;
    ynavn.style.left=l;
}


felt_id = 1;


for (row = 0; row < 6; row++) {
  top_px = row*60;
  for (col = 0; col < 15; col++) {

      left_px = col*25;

document.write("<div id='felt"+felt_id+"' style='POSITION: absolute;top:"+top_px+"px;left:"+left_px+"px;'>");
document.write("<a style='cursor: hand' onMouseover=document.getElementById('feltet"+felt_id+"').src='char1.gif' onMouseout=document.getElementById('feltet"+felt_id+"').src='logo.png' onclick='ryk("+left_px+","+top_px+","+felt_id+");'>");
document.write("<img border='0' src='logo.png' width='40' height='60' alt='' id='feltet"+felt_id+"'></a></div>");
      // generer kode til position (left_px, top_px) med felt = felt_id
  felt_id++;
  }
}
</script>
<div id="you" style="position:absolute;">YOU</div><div id="ynavn" style="position:absolute;">YNAVN</div>
</div>
Avatar billede skovenborg Nybegynder
16. december 2004 - 17:20 #24
og hvis vi lige til sidst skal have mozilla med i løbet:
<script type="text/javascript">
function ryk(l,t,felt){
    you = document.getElementById("youId");
    ynavn = document.getElementById("ynavnId");
    you.style.top=t+"px";
    you.style.left=l+"px";
    ynavn.style.top=t+47+"px";
    ynavn.style.left=l+"px";
}


felt_id = 1;


for (row = 0; row < 6; row++) {
  top_px = row*60;
  for (col = 0; col < 15; col++) {

      left_px = col*25;

document.write("<div id='felt"+felt_id+"' style='POSITION: absolute;top:"+top_px+"px;left:"+left_px+"px;'>");
document.write("<a style='cursor: hand' onMouseover=document.getElementById('feltet"+felt_id+"').src='char1.gif' onMouseout=document.getElementById('feltet"+felt_id+"').src='logo.png' onclick='ryk("+left_px+","+top_px+","+felt_id+");'>");
document.write("<img border='0' src='logo.png' width='40' height='60' alt='' id='feltet"+felt_id+"'></a></div>");
      // generer kode til position (left_px, top_px) med felt = felt_id
  felt_id++;
  }
}
</script>
<div id="youId" style="position:absolute;">Dig</div><div id="ynavnId" style="position:absolute;">Dit navn</div>
</div>
Avatar billede -kick- Nybegynder
16. december 2004 - 18:03 #25
you = document.getElementById("youId");
    ynavn = document.getElementById("ynavnId");

Hvad vil du have ved ynavn, er det de andre brugere eller hvad?
Avatar billede -kick- Nybegynder
16. december 2004 - 18:05 #26
DU planter bare youid et sted i midten, det skal jo være sådan han kan klikke rundt, fra felt til felt, ligesom han "hopper rundt"
Avatar billede -kick- Nybegynder
16. december 2004 - 18:08 #27
Og hvad skal Ynavnid bruges til? er det ligesom youid eller?
Avatar billede skovenborg Nybegynder
16. december 2004 - 18:16 #28
Jeg håbede du selv vidste hvad you og ynavn var... men det skulle forestille at være de to elementer du vil rykke rundt på - fuldstændig ligesom før:
function ryk(l,t,felt){
    you.style.top=t;
    you.style.left=l;
    ynavn.style.top=t+47;
    ynavn.style.left=l;
}
De to elementer du rykker rundt på her er de samme to - scriptet er ikke ændret på nogen måde. Jeg bruger bare nogle andre id'er (youId og ynavnId) så der ikke opstår en konflikt med navnene (hvilket medfører fejl). Jeg tænker mig at elementet med id'en youId er det samme element som billedet af dig selv, som skal hoppe rundt. Hvad ynavn er ved jeg ikke - men jeg håbede så du vidste det, da du har lavet det oprindelige script.
Avatar billede -kick- Nybegynder
16. december 2004 - 19:01 #29
Lyder dumt, men har glemt hvorfor jeg lavede det :P

Men beklager, det virker stadig ikke. :(
Avatar billede -kick- Nybegynder
16. december 2004 - 19:02 #30
For at klikke rundt skal dette da laves om:

<div id="youId" style="width:200px; height:200px; position:absolute; left:50px; top:50px; z-index:1;"><?php echo "$_SESSION[brugernavn]"; ?></div>
<div id="ynavnId" style="width:200px; height:200px; position:absolute; left:50px; top:50px; z-index:1;"><?php echo "$_SESSION[brugernavn]"; ?></div>


Eller ?
Avatar billede skovenborg Nybegynder
17. december 2004 - 00:25 #31
ja, det er lidt som at famle sig frem i en tåge det her, men prøv at kigge på:
http://skovenborg.frac.dk/exp/571631.php

Det er hvad jeg indtil videre har at gå udfra - absolut ikke noget komplet, men ser for mig ud til at virke.
Avatar billede -kick- Nybegynder
17. december 2004 - 12:23 #32
Jeps, men jeg siger bare "underligt".

Her er hele min kode:


<?php
session_start();
include("db.php");
$k = mysql_query("SELECT * FROM naturechat_brugere WHERE brugernavn='$_SESSION[brugernavn]'");
$row = mysql_fetch_array($k);

?>
<?
if(isset($_SESSION[brugernavn])) {
?>
<head>
<title>Naturechat.dk</title>
<meta name="generator" content="Namo WebEditor v5.0">
</head><body  onload="ryk();" topmargin="0" leftmargin="0" oncontextmenu="return false" ondragstart="return false" onselectstart="return false">




<p>


<!--
###########################################

Exploits, olign. FORBUDT.

###########################################
-->
<script language="Javascript" name="Naturechat.dk">
document.write("<div id='rum'><img src='rum.jpg' alt=''></div>");



function loadfig(){
    you.style.top=0;
    you.style.left=0;
    ynavn.style.top=47;
    ynavn.style.left=0;

}
</script>
<div id="youId" style="width:200px; height:200px; position:absolute; left:50px; top:50px; z-index:1;"><?php echo "$row[brugernavn]"; ?></div>

<div id="ynavnId" style="width:200px; height:200px; position:absolute; left:50px; top:50px; z-index:1;">Brugernavn</div>

<div id="vis_chat">

<script>
document.getElementById('vis_chat').innerHTML = "<?php include("db.php"); $kl = mysql_query("SELECT * FROM naturechat_brugere ORDER BY felt desc"); WHILE($row1 = mysql_fetch_array($kl)){  echo "<div id='$row1[brugernavn]' align='center' style='POSITION: absolute;'><img src='$row1[figur]' title='$row1[brugernavn]' alt='$row1[brugernavn]>'><br />$row1[brugernavn]</div><br />"; } ?>"; </script>
<script>

function ryk(l,t,felt){
    you = document.getElementById("<?php echo "$row[id]"; ?>");
    ynavn = document.getElementById("<?php echo "$row[id]"; ?>");
    you.style.top=t+"px";
    you.style.left=l+"px";
    ynavn.style.top=t+47+"px";
    ynavn.style.left=l+"px";
}



felt_id = 1;


for (row = 0; row < 6; row++) {
  top_px = row*60;
  for (col = 0; col < 15; col++) {

      left_px = col*25;


document.write("<div id='felt"+felt_id+"' style='POSITION: absolute;top:"+top_px+"px;left:"+left_px+"px;'>");

document.write("<a style='cursor: hand' onMouseover=document.getElementById('feltet"+felt_id+"').src='felt_over.gif' onMouseout=document.getElementById('feltet"+felt_id+"').src='felt.gif' onclick='ryk("+left_px+","+top_px+","+felt_id+");'>");

document.write("<img border='0' src='billede.png' width='40' height='60' alt='' id='feltet"+felt_id+"'></a></div>");

      // generer kode til position (left_px, top_px) med felt = felt_id
  felt_id++;
  }
}
</script>


<iframe style="width: 0px; height: 0px; border: 0px #000000 solid;" name="ryk" src=""></iframe>

<?php
} else {
echo "<meta http-equiv='refresh' content='0;URL=../login.php'>";
}
?>
Avatar billede -kick- Nybegynder
17. december 2004 - 12:37 #33
Undskyld! Min kode ser sådan her ud:
Og den vil slet ikke klikke nu! :(


<?php
session_start();
include("db.php");
$k = mysql_query("SELECT * FROM naturechat_brugere WHERE brugernavn='$_SESSION[brugernavn]'");
$row = mysql_fetch_array($k);

?>
<?
if(isset($_SESSION[brugernavn])) {
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<head>
<title>Naturechat.dk</title>
<meta http-equiv="Content-type" content="text/html; charset=iso-8859-1" />

</head><body topmargin="0" leftmargin="0" oncontextmenu="return false" ondragstart="return false" onselectstart="return false">




<p>


<!--
###########################################

Exploits, olign. FORBUDT.

###########################################
-->
<script language="Javascript" name="Naturechat.dk">
document.write("<div id='rum'><img src='rum.jpg' alt=''></div>");

</script>
<div id="youId" style="width:200px; height:200px; position:absolute; left:50px; top:50px; z-index:1;"><?php echo "$row[brugernavn]"; ?></div>


<div id="vis_chat">

<script>
document.getElementById('vis_chat').innerHTML = "<?php include("db.php"); $kl = mysql_query("SELECT * FROM naturechat_brugere ORDER BY felt desc"); WHILE($row1 = mysql_fetch_array($kl)){  echo "<div id='$row1[brugernavn]' align='center' style='POSITION: absolute;'><img src='$row1[figur]' title='$row1[brugernavn]' alt='$row1[brugernavn]>'><br />$row1[brugernavn]</div><br />"; } ?>"; </script>
<script>

you = document.getElementById("youId");
    you.style.top=t+"px";
    you.style.left=l+"px";
    ynavn.style.top=t+47+"px";
    ynavn.style.left=l+"px";
}



felt_id = 1;


for (row = 0; row < 6; row++) {
  top_px = row*60;
  for (col = 0; col < 15; col++) {

      left_px = col*25;


document.write("<div id='felt"+felt_id+"' style='POSITION: absolute;top:"+top_px+"px;left:"+left_px+"px;'>");
document.write("<a style='cursor: hand' onMouseover=document.getElementById('feltet"+felt_id+"').src='pilned.png' onMouseout=document.getElementById('feltet"+felt_id+"').src='billede.png' onclick='ryk("+left_px+","+top_px+","+felt_id+");'>");
document.write("<img border='0' src='billede.png' width='40' height='60' alt='' id='feltet"+felt_id+"'></a></div>");
      // generer kode til position (left_px, top_px) med felt = felt_id
  felt_id++;
  }
}
</script>



<?php
} else {
echo "<meta http-equiv='refresh' content='0;URL=../login.php'>";
}
?>
Avatar billede -kick- Nybegynder
17. december 2004 - 23:42 #34
Er der ikke en som er sød og lavet det?
Jeg skal have det færdigt inden 2 uger :(:(
Og det gælder lidt penge, please jeg ber jer!

Se mit script ovenover, please find fejlen og få det til og rykke!! :(

Please!
Avatar billede skovenborg Nybegynder
18. december 2004 - 00:15 #35
undskyld forsinkelsen - havde noget andet jeg skulle lave.

Vi dropper lige ynavn denne gang, da den åbenbart ikke har en rigtig funktion. I det seneste script du postede er der en (måske) tastefejl, da du mangler at starte ryk-funktionen:
function ryk(l,t,felt) {
you = document.getElementById("youId");
    you.style.top=t+"px";
    you.style.left=l+"px";
}
Og så har du taget de billeder jeg brugte i mit eksempel - det skal nok være nogle andre.
Avatar billede -kick- Nybegynder
18. december 2004 - 00:40 #36
Perfekt.

Men et problem mere.

Mangler et script som gør hver gang man rykker skal den gå til ryk.php?felt=noget&t=noget&l=noget
i iframen "ryk"
Avatar billede skovenborg Nybegynder
18. december 2004 - 01:05 #37
Hvis iframen ligger i det dokument med felterne kan du ordne det i ryk-funktionen:
function ryk(l,t,felt) {
you = document.getElementById("youId");
    you.style.top=t+"px";
    you.style.left=l+"px";
window.ryk.location.href = "ryk.php?felt="+felt+"&t="+t+"&l="+l;
}

Jeg tror dog du bliver nødt til at kalde iframen eller funktionen for noget andet, da der nok fremkommer en navne-konflikt her. Ellers skal du prøve med:
window.frames["ryk"].location.href = "ryk.php?felt="+felt+"&t="+t+"&l="+l;
Avatar billede -kick- Nybegynder
18. december 2004 - 01:13 #38
Så vil den ikke klikke rundt, har prøvet begge.
Avatar billede -kick- Nybegynder
18. december 2004 - 01:14 #39
ligeså snart jeg sætter
<script>
function loadet() {
setTimeout("location.reload(true)",5000);
}
</script>
<iframe src="" name="ryk" width="100" height="100"></iframe>

ind, vil den ikke klikke rundt.
Avatar billede skovenborg Nybegynder
18. december 2004 - 01:42 #40
Det ser ud til at du bliver nødt til at kalde den noget andet, fx

<iframe src="" name="rykFrame" width="100" height="100"></iframe>

og så skrive:
window.rykFrame.location.href = "ryk.php?felt="+felt+"&t="+t+"&l="+l;

Dette vil som sagt kun virke hvis iframen ligger i samme dokument, som resten af scriptet (det vi har arbejdet med).
Avatar billede -kick- Nybegynder
18. december 2004 - 01:58 #41
Jeg takker!:)  :D læg svar
Avatar billede -kick- Nybegynder
18. december 2004 - 02:00 #42
Men dette er kun hvis du vil, det faktisk det vigtigste.

Kan du ikke give et tip til hvordan jeg kan vise brugeren på hver sit felt de står på?

Feks.
Hvis brugeren "hej" logger ind, og klikker rundt skal "VI" andre kunne se han klikker rundt?

det er noget med reload, men det med at man skal kunne se han rykker er da et problem, eller?
Avatar billede skovenborg Nybegynder
18. december 2004 - 02:07 #43
Ja, i hvert fald når man kun bruger javascript og php som her. Java eller Flash kunne måske nok lave det meget pænt, men her må vi jo nøjes med en god gang reload, som du selv foreslår.

Nu ved jeg ikke hvor langt du er nået med det hele - altså om det til dels er muligt at se de forskellige brugere og deres færden (måske lidt langsommere). Men pointen ville jo være at sætte en timeout når siden er loadet og her kunne du jo så fint bruge den loadet-funktion du har:
<body onload="loadet();">
Avatar billede -kick- Nybegynder
18. december 2004 - 02:09 #44
Ja, men har du ikke MSN, det er irreterende at sidde og snakke i et spørgsmål med over 40 kommentare i.

Men når man loader vil man så kunne se andre brugere?

Altså skal man ikke lave en mysql sætning som fortæller den skal vise feks. "order by tfelt, felt, lfelt ?
Avatar billede skovenborg Nybegynder
18. december 2004 - 02:39 #45
Kan det ikke passe at:
<script>
document.getElementById('vis_chat').innerHTML = "<?php include("db.php"); $kl = mysql_query("SELECT * FROM naturechat_brugere ORDER BY felt desc"); WHILE($row1 = mysql_fetch_array($kl)){  echo "<div id='$row1[brugernavn]' align='center' style='POSITION: absolute;'><img src='$row1[figur]' title='$row1[brugernavn]' alt='$row1[brugernavn]>'><br />$row1[brugernavn]</div><br />"; } ?>"; </script>

Printer de forskellige brugere ud, som er logget ind i chatten? Så gælder det vel bare om at placere dem i det rigtige felt - hvis du altså på forhånd ved hvad det felt er. Men hvis du kender rækken og søjlen kan du også regne dig frem til positionen ved at gange rækkenummeret med 60 og søjlenummeret med 25 - så burde de cirka være der hvor de skal være.
Avatar billede skovenborg Nybegynder
18. december 2004 - 02:45 #46
men lige nu kan jeg ikke overskue så meget mere i nat - så godnat med dig og ses måske i morgen. Lægger lige et svar mens jeg er i gang :-)
Avatar billede -kick- Nybegynder
18. december 2004 - 02:45 #47
Hvad med:
<div id='$row1[brugernavn]' style='width:200px; height:200px; position:absolute; left:$row[lfelt]px; top:$row[tfelt]px; z-index:1;'><img src='$row1[figur]' border='0' alt='$row1[brugernavn]'><br /><font size='2' face='Trebuchet MS' color='white'>$row1[brugernavn]</div>

men hver gang den opdater rykker den hver gang (den anden bruger)
Avatar billede -kick- Nybegynder
18. december 2004 - 03:03 #48
Fuck jeg er glad, det virker..

Takker rigtigt meget!

Elsker dig virkelig!

Giver dig lige en god karma!
Avatar billede skovenborg Nybegynder
18. december 2004 - 13:35 #49
jamen, jeg er skam også glad for det endelig virker :-)

held og lykke med chatten :-)
Avatar billede skovenborg Nybegynder
18. december 2004 - 13:36 #50
(og mht. til karma blev det vist en dårlig en istedet - tja, måske er det meningen, men teksten passer ikke så godt til ;-)
Avatar billede -kick- Nybegynder
18. december 2004 - 14:15 #51
:-o må du undskylde.

Prøver igen ;)
Avatar billede -kick- Nybegynder
18. december 2004 - 14:16 #52
Rettet :)
Avatar billede -kick- Nybegynder
18. december 2004 - 14:44 #53
Men nu har jeg fået blink og klik lydene væk, men så er det lige.
Når jeg klikker rundt på min brugere "KICK" så når jeg rykker til en felt, så er det ligesom at der er 2 brugere "KICK".

Altså her kommer mit spg:
Hvordan kan det være at når min bruger rykker, så er det ligesom der kommer 2 kopire og havner i samme felt!?


Ved det lyder dumt
Avatar billede skovenborg Nybegynder
18. december 2004 - 15:00 #54
altså når du klikker på et felt så flytter brugeren sig derhen, men samtidig bliver en kopi af brugeren tilbage på det forrige felt eller ser det bare ud som om der er to brugere på samme felt?
Avatar billede -kick- Nybegynder
18. december 2004 - 15:06 #55
Ja, altså:
lige når man klikker på et felt så går den over på feltet også kan man se en kopi af sig selv på det forrige felt, også går de til det nye felt (kopien og den real).
Avatar billede skovenborg Nybegynder
18. december 2004 - 19:16 #56
det er efterhånden svært for mig at overskue scriptet, for i det jeg arbejder ud fra virker det jo fint nok - kunne du ikke smide det du har indtil videre online, så man kan se på det?
Avatar billede -kick- Nybegynder
18. december 2004 - 19:43 #57
Desværre ikke.
For det første ligger det i en mappe med kode
for det anden ligger det på min localserver, hvor jeg skal åbne op for alle jer andre.
for det tredje, har jeg lavet det mere andvenceret sådan den ikke blinker og klikker..

Men du ved jo godt hvad fejlen er.

kan du ikke fikse det på en eller anden sjov måde?
Avatar billede skovenborg Nybegynder
18. december 2004 - 20:21 #58
Ahh, nu tror jeg jeg kan se problemmet. Det skyldes højst sandsyneligt at du laver en dobbelt div med brugernavnet i - en vi kaldte youId, som vi kan flytte rundt med og en anden som er genereret med php, sammen med de andre. Men når du så rykker youId bliver div'en fra php-koden jo ikke flyttet før siden opdateres.

Så tænkte jeg at det ville være lettest hvis dit mysql-sætning ikke tog ens eget brugernavn med:
<script>
document.getElementById('vis_chat').innerHTML = "<?php include("db.php"); $kl = mysql_query("SELECT * FROM naturechat_brugere WHERE brugernavn <> '".$row[brugernavn]."' ORDER BY felt desc"); WHILE($row1 = mysql_fetch_array($kl)){  echo "<div id='$row1[brugernavn]' align='center' style='POSITION: absolute;'><img src='$row1[figur]' title='$row1[brugernavn]' alt='$row1[brugernavn]>'><br />$row1[brugernavn]</div><br />"; } ?>"; </script>
<script>

altså:
WHERE brugernavn <> '".$row[brugernavn]."'
skulle gerne tage alle navne med undtagen ens eget brugernavn (som dermed ikke bliver printet ud). Det bliver selvfølgelig et problem hvis du brugere har samme brugernavn (hvis de da kan det), men ellers skal du bare teste i WHERE sætningen for noget andet, som er unikt for hver enkel bruger.
Avatar billede -kick- Nybegynder
18. december 2004 - 21:45 #59
Ehm, den udskriver KUN sig selv nu! :(
Avatar billede -kick- Nybegynder
18. december 2004 - 22:02 #60
Du skal jo huske at lave det med TOP og left osv på, ellers kan den ikke placere figuren.

Min kode nu:
(Brugerne står oven på hindanden + jeg kan se min egen bruger)

Og ja, den skal være parent. foran fordi den linker til en anden side.

<script>
parent.document.getElementById('chat').innerHTML = "<?php include("db.php"); $kl = mysql_query("SELECT * FROM naturechat_brugere WHERE brugernavn <> '".$_SESSION[brugernavn]."'  ORDER BY felt desc"); WHILE($row1 = mysql_fetch_array($kl)){  echo "<div id='$row1[brugernavn]' align='center' style='POSITION: absolute;' style='width:200px; height:200px; position:absolute; left:$row[lfelt]px; top:$row[tfelt]px; z-index:1;'><img src='$row1[figur]' title='$row1[brugernavn]' alt='$row1[brugernavn]>'><br /><font size='2' face='Trebuchet MS' color='white'>$row1[brugernavn]</div><br />"; } ?>";

function loadet() {
setTimeout("location.reload(true)",300);
}
</script>
Avatar billede -kick- Nybegynder
18. december 2004 - 23:34 #61
Det virker, efter 1 times arbejde! Jeg takker og bukker.
Avatar billede skovenborg Nybegynder
18. december 2004 - 23:40 #62
det var super - sad lige og så en spændende klassisk James Bond, så jeg havde ikke lige tid til at svare tilbage før nu. Men du fandt jo selv ud af det :-)
Avatar billede -kick- Nybegynder
19. december 2004 - 00:11 #63
Jeps, jeg er virkelig taknemlig for dig! :D
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