Avatar billede martin_moth Mester
02. november 2007 - 22:27 Der er 16 kommentarer og
1 løsning

tekst vises når mus over link

Kan man dette i html:

Jeg har fx. 4 links under hinanden til vesntre. Når musen bevæger sig over det ene link, skal der vises noget tekst et helt andet sted. Dette tekst skiftes ud hvis et andet link markeres osv, og forsvinder, hvis ingen links er markeret.

Er det til at forstå, og kan man det uden scripts e.l.?
Avatar billede w13 Novice
03. november 2007 - 01:55 #1
Jeg er ikke helt sikker på, hvad du mener med, når et link markeres. Men her er et eksempel til mouseover-delen:
-------------------------------
<script type="text/javascript">
function ShowText(id,txt){
  id=document.getElementById(id);
  id.style.display="inline";
  id.nodeValue=txt;
}
function HideText(id){
  id=document.getElementById(id);
  id.style.display="none";
}
</script>

<a href="#" onmouseover="ShowText('test','Hello world')" onmouseout="HideText('test')">
<a href="#" onmouseover="ShowText('test','Testing 1,2,3')" onmouseout="HideText('test')">

<div id="test" style="display:none"></div>
Avatar billede martin_moth Mester
03. november 2007 - 09:34 #2
link markeres = musen over det. My bad!

Men din løsning bruger javascripy - det kan ikke gøres uden?

Anyways - jeg har 4 links, og når musen er over et af dem, skal der stå noget tekst i en ramme et helt andet sted på siden, som forklarer lidt om linket.
Avatar billede w13 Novice
03. november 2007 - 12:44 #3
Nej, du kan desværre ikke gøre det med CSS - du har sikkert set a:hover-funktionen som kan ændre linkets udseende, når musen holdes over, men det kan på ingen måde indsætte tekst et andet sted på siden.

Den kode, jeg skrev før, er 100% sådan, som jeg ville gøre det.
Det er til den slags, man bør bruge JavaScript.
Avatar billede martin_moth Mester
03. november 2007 - 13:22 #4
OK.

Så burde jeg have postet i javascript - kategorien.

Kan jeg presse citronen og bede om ekstra hjælp:

Jeg har 2 frames på min side.
I den ene frame er der 4 links
Når musen er over et af linksne skal der vises noget tekst i den anden frame (forskelligt tekst til forskellige links)
Når musen ikke er over nogle links, skal intet vises.

Kan det lade sig gøre, på tværs af frames?
Avatar billede w13 Novice
03. november 2007 - 13:26 #5
Jeg tror, det kan lade sig gøre, hvis du bruger:
------------------------------------------------
<script type="text/javascript">
function ShowText(id,txt){
  id.style.display="inline";
  id.nodeValue=txt;
}
function HideText(id){
  id.style.display="none";
}
</script>

<a href="#" onmouseover="ShowText(parent.framesnavn.contentWindow.document.getElementById('test'),'Hello world')" onmouseout="HideText(parent.framesnavn.contentWindow.document.getElementById('test'))">
<a href="#" onmouseover="ShowText(parent.framesnavn.contentWindow.document.getElementById('test'),'Testing 1,2,3')" onmouseout="HideText(parent.framesnavn.contentWindow.document.getElementById('test'))">
Avatar billede w13 Novice
03. november 2007 - 13:26 #6
Og så skal du bare have:

<div id="test"></div>

i den anden frame, og rette i min kode, så framesnavn bliver navnet på framen.
Avatar billede martin_moth Mester
03. november 2007 - 13:32 #7
Jeg prøver. Tak
Avatar billede martin_moth Mester
03. november 2007 - 13:33 #8
ellers må jeg kunne få mere hjælp på http://www.w3schools.com/js/js_examples_3.asp
Avatar billede w13 Novice
03. november 2007 - 13:48 #9
Ok. =) Du kan også bare spørge her, hvis der sku' være mere.
Tak for point.
Avatar billede martin_moth Mester
03. november 2007 - 15:21 #10
kan ikke få første svar til at virke:

<html>
<head>
<script type="text/javascript">
function ShowText(id,txt){
  id=document.getElementById(id);
  id.style.display="inline";
  id.nodeValue=txt;
}
function HideText(id){
  id=document.getElementById(id);
  id.style.display="none";
}
</script>
</head>
<body>>
<a href="#" onmouseover="ShowText('test','Hello world')" onmouseout="HideText('test')">første link</a>
<a href="#" onmouseover="ShowText('test','Testing 1,2,3')" onmouseout="HideText('test')">andet link</a>
<br/>
<div id="test" style="display:none"></div>
</body>
</html>
Avatar billede w13 Novice
03. november 2007 - 15:43 #11
Næh. Nu har jeg skrevet den lidt om og testet den:
--------------------------------------------------
<html>
<head>
<script type="text/javascript">
function ShowText(id,txt){
  id=document.getElementById(id);
  id.appendChild(document.createTextNode(txt));
  id.style.display="inline";
}
function HideText(id){
  id=document.getElementById(id);
  id.style.display="none";
  id.removeChild(id.firstChild);
}
</script>
</head>
<body>
<a href="#" onmouseover="ShowText('test','Hello world')" onmouseout="HideText('test')">første link</a>
<a href="#" onmouseover="ShowText('test','Testing 1,2,3')" onmouseout="HideText('test')">andet link</a>
<br/>
<div id="test" style="display:none"></div>
</body>
</html>
Avatar billede martin_moth Mester
03. november 2007 - 15:45 #12
Sådan!
Avatar billede martin_moth Mester
03. november 2007 - 16:37 #13
ALLERsidste kommentar:

Kan man lave linieskift i den linie der bliver vist? Fx. Hello på een linie, derefter linieskift, derefter "world"
Avatar billede w13 Novice
03. november 2007 - 16:40 #14
<html>
<head>
<script type="text/javascript">
function ShowText(id,txt){
  id=document.getElementById(id);
  id.innerHTML=txt;
  id.style.display="inline";
}
function HideText(id){
  id=document.getElementById(id);
  id.style.display="none";
}
</script>
</head>
<body>
<a href="#" onmouseover="ShowText('test','Hello world')" onmouseout="HideText('test')">første link</a>
<a href="#" onmouseover="ShowText('test','Testing 1,2,3')" onmouseout="HideText('test')">andet link</a>
<br>
<div id="test" style="display:none"></div>
</body>
</html>
Avatar billede w13 Novice
03. november 2007 - 16:40 #15
Så kan du bare skrive <br> i ShowText('test','Hello<br>world')
Avatar billede martin_moth Mester
03. november 2007 - 17:46 #16
nu tænker jeg mig jo heller ikke om :o(
Avatar billede w13 Novice
03. november 2007 - 17:50 #17
Ej, jeg foretog også en lille ændring i script-delen for at få det til at fungere. =)
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