Avatar billede web-geek Nybegynder
18. september 2004 - 14:58 Der er 30 kommentarer

Talebobler i javascript.

Hej, jeg er igang med en 2Dchat, og vil gerne hav teksten bliver sat op i en talebobbel.

Men problemet er, at jeg ikke kører med x, y, z felter og alt det andet, men noget andet.

de kører på felter altså ?felt=1, ?felt=2 osv.

Kan det lade sig gøre at sætte en talebobbel skitse op her?:

<TD id=" . $t . " valign='bottom' align='center' background='gfx/mand.gif' onmousedown='check()'><font size='1' face='Verdana'><a href='se_profil.php?brugernavn=$row[brugernavn]' target='tekstboks'>$rowasd</a></TD>
Avatar billede roenving Novice
18. september 2004 - 15:01 #1
Hvordan taleboble ?-)

Skal indholdet af din $rowasd-variabel 'svæve' eller ...
Avatar billede web-geek Nybegynder
18. september 2004 - 15:04 #2
Avatar billede web-geek Nybegynder
18. september 2004 - 15:05 #3
Den tekst man skriver fra "chattekst" skal vises i en "talebobbel"
Avatar billede roenving Novice
18. september 2004 - 15:08 #4
Jeg kan ikke se linket, da det forsøger at køre et activeX-objekt ...
Avatar billede roenving Novice
18. september 2004 - 15:09 #5
-- men hvorfra kommer chattekst ?-)
Avatar billede web-geek Nybegynder
18. september 2004 - 15:10 #6
Avatar billede web-geek Nybegynder
18. september 2004 - 15:11 #7
chattekst skal komme fra database..
Altså.

Når man tilføjer en besked i skriv.php tilføjer den tekst, brugernavnet til databasen "chattekst" så skal jeg vise den på selve chatten! Der skal være en talebobbel i højre side af manden.

koden vises her jo:

<TD id=" . $t . " valign='bottom' align='center' background='gfx/mand.gif' onmousedown='check()'><font size='1' face='Verdana'><a href='se_profil.php?brugernavn=$row[brugernavn]' target='tekstboks'>$rowasd</a></TD>
Avatar billede web-geek Nybegynder
18. september 2004 - 15:14 #8
noget med <div eller noget, men det jo svært når det ikke kører med x & y felter.
Avatar billede roenving Novice
18. september 2004 - 15:20 #9
f.eks. sådan !-)

<TD id='$t' valign='bottom' style='text-align:center;background:url(gfx/mand.gif);position:relative;font-size:xx-small;font-family:verdana,sans-serif;' onmousedown='check()'><a href='se_profil.php?brugernavn=$row[brugernavn]' target='tekstboks'>$rowasd</a><div id='chattekst$t'style='position:absolute;left:30px;top:-15px;'></div></TD>

-- så skal teksten skrives i 'chattekst$t' !-)
Avatar billede web-geek Nybegynder
18. september 2004 - 15:22 #10
Hvad mener du?? 
Lav lige sådan skriv "tekst" der hvor jeg skal tilføje teksten.

Og hvorfor hedder det "div id='chattekst$t' ?
Avatar billede web-geek Nybegynder
18. september 2004 - 15:27 #11
Den vil ikke vise manden!
Avatar billede roenving Novice
18. september 2004 - 15:30 #12
-- den har det navn, fordi jeg regnede med at der kunne være flere, men hvis det er i forhold til spørgsmålet om tekstskrivningen, kan det f.eks. være:

<TD id='$t' valign='bottom' style='text-align:center;background:url(gfx/mand.gif);position:relative;font-size:xx-small;font-family:verdana,sans-serif;' onmousedown='check()'><a href='se_profil.php?brugernavn=$row[brugernavn]' target='tekstboks'>$rowasd</a><div id='tekst'style='position:absolute;left:30px;top:-15px;'>Her skulle teksten så komme !-)</div></TD>

-- og der er jo intet i den kode, som viser en figur, så den kan jeg jo ikke gætte !-)
Avatar billede roenving Novice
18. september 2004 - 15:32 #13
Undskyld, der er jo selvfølgelig baggrundsbilledet !-)

-- og hvis du har problemer med at se det, så prøv at tage koden fra Vis kilde og paste den her !o]
Avatar billede web-geek Nybegynder
18. september 2004 - 15:37 #14
Den skal KUN vise teksten, når man har skervet noget.
Avatar billede web-geek Nybegynder
18. september 2004 - 15:39 #15
Hvordan sætter jeg en baggrund hvid den skal have http://3dcity.1go.dk/tekst.bmp ind?
Avatar billede roenving Novice
18. september 2004 - 15:45 #16
Sådan ?-)

<div id='tekst'style='position:absolute;left:30px;top:-15px;background:url(ramme.gif) no-repeat #fff'>Her skulle teksten så komme !-)</div>

-- og så skal du nok også sætte en margin !-)
Avatar billede web-geek Nybegynder
18. september 2004 - 15:48 #17
Ja, tak! :) - Ved du hvordan man får den til at komme når man har tilføjet en besked? og efter 10 sekunder skal talebobblen gå ned igen?
Avatar billede roenving Novice
18. september 2004 - 15:52 #18
Fra start skal den være visibility:hidden; og når der så kommer en tekst, sætter du visibility='visible', når du fylder teksten ind i ...

-- og tilføjer en fjenelse af kalorius, når der er gået de 10 sekunder:

setTimeout('document.getElementById("tekst").style.visibility="hidden"',10000);
Avatar billede web-geek Nybegynder
18. september 2004 - 15:53 #19
Lille fejl i den! Hvis man skriver tekst, så bliver den lille taleboblen, hvis man skriver hejh jejsdkdkasdjsdjfk en stor tekst, så bliver den mega, og passere ikke.
Kan man ikke bruge den til baggrund, sådan den hele tiden bliver stående og ikke kan blive større/mindre ?
Avatar billede web-geek Nybegynder
18. september 2004 - 16:06 #20
Skal jeg:
<script>
setTimeout('document.getElementById("tekst").style.visibility="hidden"',10000);
</script> ?
Avatar billede roenving Novice
18. september 2004 - 16:08 #21
Ja, næsten:

<script type="text/javascript">
var flt = parent.document.getElementById('tekst');
flt.innerHTML = "<?php include("db.php"); $query = mysql_query("SELECT * FROM chattekst ORDER BY id DESC");
while($row = mysql_fetch_array($query)) {  echo " <font size=1 face=Verdana color=black><b>$row[brugernavn]</b>: $row[tekst]<br>";
} ?>";
flt.style.visibility='visible';
setTimeout('document.getElementById("tekst").style.visibility="hidden"',10000);
</script>
Avatar billede web-geek Nybegynder
18. september 2004 - 16:10 #22
Wee, har lavet sådan man kan tilføje sin besked i talebobbel, skal abre gøer sådan at "talebobbel.bmp" ikke kan blive større eller mindre ligesom <table background="talebobbel"><div osv osv ></table>
Avatar billede web-geek Nybegynder
18. september 2004 - 16:14 #23
Her er min kode, kan du ikke sætte et simpelt script til at talebobblen fjernes HELT fra manden når der ikke er skrevet nogle beskeder? og kan du gøre sådan at "talebobel.bmp" bliver fast, for hvis man skriver hej, så er taleboblen der ikke, men hvis jeg skiver 1jkdfjkdfj9sdif0+sdfsdkofsdfj feks, så bliver den mega.


Kode:

<TD id='$t' valign='bottom' style='text-align:center;background:url(gfx/mand.gif);position:relative;font-size:xx-small;font-family:verdana,sans-serif;' onmousedown='check()'><a href='se_profil.php?brugernavn=$row[brugernavn]' target='tekstboks'>$rowasd</a><div id='tekst'style='position:absolute;left:30px;top:-10px;background:url(tekst.bmp) no-repeat #fff'>$tekst[tekst]</div></TD>
Avatar billede roenving Novice
18. september 2004 - 16:30 #24
Så skal du sætte en størrelse på div'en og også skjule overflow:

<TD id='$t' valign='bottom' style='text-align:center;background:url(gfx/mand.gif);position:relative;font-size:xx-small;font-family:verdana,sans-serif;' onmousedown='check()'><a href='se_profil.php?brugernavn=$row[brugernavn]' target='tekstboks'>$rowasd</a><div id='tekst' style='height:100px;width:200px;overflow:hidden;position:absolute;left:30px;top:-10px;background:url(tekst.bmp) no-repeat #fff'>$tekst[tekst]</div></TD>

-- hvis du skal skjule den, når der ikke er noget tekst i, skal du onload på dokumentet kontrollere, om der er indhold i:

<script type="text/javascript">
function gemTekst(){
  elm = document.getElementById('tekst');
  if(elm.innerHTML=="")elm.style.visibility='hidden';
}
window.onload=gemTekst;
</script>
Avatar billede web-geek Nybegynder
18. september 2004 - 17:06 #25
ej, hvor grimt. når man har fået talebobbel ind, så kan man ikke se ander bruger ir ummet.
Avatar billede web-geek Nybegynder
18. september 2004 - 17:31 #26
Fejl i koden..
Avatar billede web-geek Nybegynder
18. september 2004 - 17:31 #27
den fylder rummet med talebobler + mændene.
Avatar billede web-geek Nybegynder
18. september 2004 - 18:28 #28
..! :(
Avatar billede web-geek Nybegynder
22. september 2004 - 18:03 #29
Læg da svar..
Avatar billede olebole Juniormester
22. september 2004 - 18:10 #30
<ole>

web-geek >> Undskyld mig, men du spilder din tid  :)
Hvis koden (18/09-2004 16:14:28) er, hvad du sender fra server til klient, har du totalt misforstået, hvordan man laver en chat.
Punkt ét er, at du nøjes med at hente de beskeder fra databasen, som brugeren endnu ikke har læst.
Derefter sender du data - og kun data - til klienten i en så simpel formatering som overhovedet muligt. Det betyder _absolut_ ingen HTML ... men gerne XML med ganske korte tagNames (f.eks. <a></a>, <b></b>, <c></c>, osv). Al HTML-formatering foretages på klienten med JavaScript/DOM.

Gør du ikke det, kan du godt lave en chat, der kan bære et par brugere ad gangen, men den bliver frygtelig ineffektiv og bryder lynhurtigt ned. I forvejen er script-sprog temmelig uanvendelige til at bygge chats med, da de belaster serveren i uhørt grad. Skal det endelig gøres, kræver det _rigtig_ megen omtanke - og en overbevisende kunnen  :)

/mvh
</bole>
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