Avatar billede technodance.dk Nybegynder
26. maj 2004 - 20:57 Der er 23 kommentarer og
1 løsning

function har nogle spørgsmål

hej exp'er

jeg har lige nogle spørgsmål om function

1. hvordan lave jeg en funktion hvor jeg har skrive en tekst som

f.eks: <a onmouseover="infotxt('denne tekst visse men hvordan')" href="#">test link</a>

2. hvis jeg nu vil have et div mere caption

f.eks: <a onmouseover="infotxt('CAPTION','denne tekst visse men hvordan')" href="#">test link</a>

hvordan gøre jeg så det

håber der nogle der vil hjælpe mig
Avatar billede roenving Novice
26. maj 2004 - 21:00 #1
1. Lyder som en alert:

<a onmouseover="alert('denne tekst visse men hvordan')" href="#">test link</a>

Men den vil give en alert-box, som virker som en fejl-melding, så måske er det nærmere en title du har brug for:

<a title="denne tekst visse men hvordan" href="#">test link</a>

Hvis du vil have en boks, som du selv vil definere, ville jeg hoppe over i overLib !-)

http://www.bosrup.com/web/overlib/
Avatar billede technodance.dk Nybegynder
26. maj 2004 - 21:54 #2
okay roenving hvordan kan jeg tage den værdi som er inde i infotxt('her er en text')

og udskrive den med javascript
Avatar billede roenving Novice
26. maj 2004 - 21:56 #3
Hvorhenne ?-)
Avatar billede technodance.dk Nybegynder
26. maj 2004 - 22:02 #4
<script language="javascript">

overfave = "00FF00";
outfave = "FFFFFF";


function overface(){
link.style.backgroundColor=(overfave);
txt.innerHTML="Hej med dig<br>hi";
}


function outface(){
link.style.backgroundColor=(outfave);
txt.innerHTML="OBS: Køre mousen over et link<br>kommer der en info text";
}

</script>


</body>
<div id="txt">
OBS: Køre mousen over et link<br>kommer der en info text
</div>

<br>

<a id="link" href="#" onmouseout="outface('00FF00','tekst start');" onmouseover="overface('FFFFFF','tekst slut');">test overface</a>

jeg ville gerne have at jeg kan vælge min farve i dem og skrive en text
Avatar billede roenving Novice
26. maj 2004 - 23:30 #5
Har du kigget på overLib ?-)
Avatar billede technodance.dk Nybegynder
26. maj 2004 - 23:32 #6
ja det har jeg men det hjælper jo ikke mig i at lærer javascript men det lærer mig kun at hugge LOL
Avatar billede roenving Novice
26. maj 2004 - 23:54 #7
Det er zq den måde man lærer det på !-)

Men det, det handler om, er, at du har et objekt, som ikke ellers kan ses, og det skal så vises, når musen kommer over, så f.eks. sådan:

<script type="text/javascript">

colors = ["00FF00","FFFFFF"];
txts = ["Hej med dig<br>hi","Hrm ...<br>Farvel igen, så"];
defaultTxt = "OBS: Køre mousen over et link<br>kommer der en info text";

function mouseInOut(lnk,obj,what){
obj = document.getElementById(obj);
lnk.style.backgroundColor= colors[what];
obj.innerHTML = (what==1)?defaultTxt:txts[+lnk.id.substring(7)];
//obj.style.visibility = (what==0)?'visible':'hidden';
}

</script>


</body>
<div id="txt" style="visibility:visible;">
OBS: Kør musen over et link<br>-- så kommer der en info text
</div>

<br>

<a id="mitLink0" href="#" onmouseout="mouseInOut(this,'txt',1);" onmouseover="mouseInOut(this,'txt',0);">test Hej</a>
<a id="mitLink1" href="#" onmouseout="mouseInOut(this,'txt',1);" onmouseover="mouseInOut(this,'txt',0);">test Farvel</a>

-- og du kan jo prøve at fjerne udkommenteringen i scriptet (de to // !-), så kan du se, at man kan fjerne visningen ...
Avatar billede technodance.dk Nybegynder
27. maj 2004 - 00:15 #8
jamen det er fint det der roenving men så prøver jeg at omformuler det jeg vil :o)

jeg har et link og der vil jeg gerne kumme skrive i f.eks

onmouseover="info('her vil du kunne se info om siden');"

den tekst som der stå inde i info('') vil jeg gerne kunne sende op i en værdi / varible som du udskriver min værdi
Avatar billede technodance.dk Nybegynder
27. maj 2004 - 00:16 #9
håber du stå
Avatar billede roenving Novice
27. maj 2004 - 00:28 #10
Nu satte jeg så teksterne i et array, fordi du så kan kopiere dine links i lange baner, her ses forskellen på link-id'et, som bruges til at slå op i arrayet ...

-- men hvis du vil have det anderledes, er det bare at bruge parametrene anderledes:

<script type="text/javascript">

overfave = "00FF00";
outfave = "FFFFFF";


function overface(lnk,farve,txt){
lnk.style.backgroundColor=farve;
document.getElementById('txt').innerHTML=txt;
}


function outface(lnk,farve){
lnk.style.backgroundColor=farve;
document.getElementById('txt').innerHTML="OBS: Kør musen over et link<br>-- så kommer der en info text";
}

</script>


</body>
<div id="txt">
OBS: Kør musen over et link<br>-- så kommer der en info text
</div>

<br>

<a id="link" href="#" onmouseout="outface(this,'#fff');" onmouseover="overface(this,'#0f0','Hej med dig<br>hi');">test overface - Hej</a><br><br>
<a id="link" href="#" onmouseout="outface(this,'#fff');" onmouseover="overface(this,'#0f0','Hrm ...<br>Farvel igen !-)');">test overface - farvel</a>
Avatar billede roenving Novice
27. maj 2004 - 00:35 #11
Du skal forøvrigt bemærke, at din kode principielt var forkert på et par måder:

-- en farveangivelse _skal_ starte med et #-tegn, hvis den er angivet med hex-koder (IE gætter på trods af, at standarden siger, at det er programmørens opgave !-)

-- et element er kun i document.all-arrayet eller document.getElementById-arrayet angivet ved dets id, men IE tillader, at man udelader document.all (som kun findes i IE og Opera !-), men da der jo nok lige er en anden browser hist og pist, er det dårlig kodestil at forvente, at javascript kender et objekt, som ikke er core ...

Derfor overfører jeg referencen til selve link-objektet med this og henter diven med .getElementById ...
Avatar billede roenving Novice
27. maj 2004 - 00:37 #12
-- og hov !-|

Det er ikke tilladt at have to elementer med ens id, så det er en fejl, at begge links hedder link (hvilket iøvrigt også er et potentielt dårligt navn til andet end test-brug !-)
Avatar billede technodance.dk Nybegynder
27. maj 2004 - 00:40 #13
hvorfor er der kun 3 fff i mit link
Avatar billede roenving Novice
27. maj 2004 - 00:44 #14
Fordi backgroundColor er en css-property og i css må man angive farver med 3 hex-'cifre', som så hver især fordobles, altså er:

#0f0 det samme som #00ff00 eller green, og #fff det samme som white eller #ffffff ...
Avatar billede technodance.dk Nybegynder
27. maj 2004 - 00:46 #15
så jeg skal forstå det sådan at jeg kan skrive begge måder
Avatar billede roenving Novice
27. maj 2004 - 01:12 #16
Ja, bare du husker #-tegnet !-)
Avatar billede roenving Novice
27. maj 2004 - 01:17 #17
-- og der er faktisk, 3 forskellige muligheder, hvor du med hex-koder kan bruge to alternativer:

color (af en hvilkensomhelt art i css) =

#0f0 eller #00ff00
green
rgb(0,255,0)
Avatar billede technodance.dk Nybegynder
27. maj 2004 - 01:19 #18
nu kan det godt være det bare er html det ved jeg ikke lige om det er men hvordan kan jeg gøre så mit div ikke bilver større hvis text'en er lang
Avatar billede roenving Novice
27. maj 2004 - 01:30 #19
Næh, det er nærmere css:

<div id="txt" style="width:200px;height:100px:overflow:hidden;">

-- og du kan også bruge auto på overflow, for auto giver scrollbars, hvis teksten er for stor, så man alligevel kan læse den ved at scrolle, men det er vel irrelevant, når teksten går tilbage ved mouseout ...
Avatar billede technodance.dk Nybegynder
27. maj 2004 - 01:38 #20
kan man ikke gøre så den lave lineskrift
Avatar billede roenving Novice
27. maj 2004 - 01:52 #21
Du har jo selv lavet linjeskift med <br> ?-)

Hvis du angiver en fast størrelse på boksen, vil teksten inde i den blive ombrudt efter behov ...

-- og en tavetosse:

<div id="txt" style="width:200px;height:100px;overflow:hidden;">
Avatar billede technodance.dk Nybegynder
07. juni 2004 - 18:35 #22
roenving svar også lige her tak :P
Avatar billede roenving Novice
07. juni 2004 - 18:39 #23
Velbekomme '-)
Avatar billede roenving Novice
11. juni 2004 - 13:58 #24
-- og tak for point ;~}
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