Avatar billede ch007 Nybegynder
14. september 2008 - 18:33 Der er 5 kommentarer og
1 løsning

Linieskift i javascript

Jeg har følgende kode:

<script type="text/javascript">
function showPic(s,sText){
  var o=document.getElementById("personpic");

  if(!s){
    o.style.display="none";
    return false;
  }

  o.getElementsByTagName("img")[0].setAttribute("src",s);
  o.lastChild.nodeValue=sText;
  o.style.display="block";
}
</script>
<Table border='1'><TR><TD width='300'>

- <span onmouseover="showPic('Peter.png','<BR>Dette er Peter')" onmouseout="showPic()"><br>Peter</span>
- <span onmouseover="showPic('Peter.png','<BR>Dette er Peter')" onmouseout="showPic()"><br>Hans</span>
- <span onmouseover="showPic('Peter.png','<BR>Dette er Peter')" onmouseout="showPic()"><br>Morten</span>

</TD><TD width='300'>

<div id="personpic" style="display:none"><img alt="Personbillede">&nbsp;</div>

</TD></TR></Table>





Koden: <br>Peter udskrives blot på skærmen. Hvordan kan jeg lave et linie skift?
Avatar billede w13 Novice
14. september 2008 - 19:06 #1
Nej, du kan ikke udskrive HTML-koder på den måde. Du skal gøre det sådan her i stedet f.eks.:

<script type="text/javascript">
function showPic(s,sText){
  var o=document.getElementById("personpic");

  if(!s){
    o.style.display="none";
    return false;
  }

  o.getElementsByTagName("img")[0].setAttribute("src",s);
  o.lastChild.nodeValue=sText;
  o.style.display="block";
}
</script>
<Table border='1'><TR><TD width='300'>

- <span onmouseover="showPic('Peter.png','Dette er Peter')" onmouseout="showPic()"><br>Peter</span>
- <span onmouseover="showPic('Peter.png','Dette er Peter')" onmouseout="showPic()"><br>Hans</span>
- <span onmouseover="showPic('Peter.png','Dette er Peter')" onmouseout="showPic()"><br>Morten</span>

</TD><TD width='300'>

<div id="personpic" style="display:none"><img alt="Personbillede"><br>&nbsp;</div>

</TD></TR></Table>
Avatar billede ch007 Nybegynder
14. september 2008 - 21:03 #2
Hvad hvis jeg gerne vil have det sådan:

Billede (linieskift) Peter Hansen (LInieskift) Direktør
Avatar billede roenving Novice
14. september 2008 - 21:11 #3
-- er det et fast skema eller det variabelt ?-)
Avatar billede w13 Novice
14. september 2008 - 22:22 #4
Du kan gøre det variabelt således:

<script type="text/javascript">
function showPic(sSrc,aText){
  var o=document.getElementById("personpic");
  var newElement=null;

  if(!sSrc){
    o.style.display="none";
    return false;
  }

  while(o.hasChildNodes())
    o.removeChild(o.firstChild);

  newElement=document.createElement("img");
  newElement.setAttribute("src",sSrc);
  o.appendChild(newElement);

  for(var i=0,im=aText.split("<br>");i<im.length;i++){
    o.appendChild(document.createElement("br"));
    o.appendChild(document.createTextNode(im[i]));
  }

  o.style.display="block";
}
</script>
<Table border='1'><TR><TD width='300'>

- <span onmouseover="showPic('peter.png','Dette er Peter<br>Direktør')" onmouseout="showPic()"><br>Peter</span>
- <span onmouseover="showPic('hans.png','Dette er Hans<br>IT-chef')" onmouseout="showPic()"><br>Hans</span>
- <span onmouseover="showPic('morten.png','Dette er Morten<br>Assistent')" onmouseout="showPic()"><br>Morten</span>

</TD><TD width='300'>

<div id="personpic" style="display:none"></div>

</TD></TR></Table>

Men så kan du altså kun bruge <br> i teksten, der skal indsættes, ingen andre HTML-elementer.
Avatar billede ch007 Nybegynder
15. september 2008 - 08:55 #5
Perfekt - tak!
Avatar billede w13 Novice
15. september 2008 - 08:58 #6
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