Avatar billede sennected Nybegynder
17. februar 2009 - 00:02 Der er 7 kommentarer

Hjælp til at vise resten af en nyhed

Hej,

Jeg er igang med at lave et nyhedssystem, men jeg har bestemt mig for at nyhederne skal stå
på en samlet side. For at det ikke går helt amok hvis jeg skriver en for lang nyhed, har jeg valgt at
der vises 200 af de første tegn af nyheden, og hvis der er mere tekst skal man kunne klikke på
[vis resten]
Spørgsmålet er, hvordan jeg laver så resten af teksten vises når man klikker?
Jeg søger en løsning på dette i Javascript.
Avatar billede majbom Novice
17. februar 2009 - 09:47 #1
du kan lave en div med de første 200 tegn som du skjuler når man vælger vis mere og så viser den en anden div med hele nyheden...
Avatar billede tobias_louv Nybegynder
17. februar 2009 - 17:14 #2
...eller du kan lægge de resterende tegn ind i en span, som du starter med at skjule, for derefter at vise, når man trykker på "læs mere"?
Avatar billede tobias_louv Nybegynder
17. februar 2009 - 17:19 #3
Et meget simpelt script (utestet):

<script type="text/javascript">
<!--
  function skjul(id) {
    document.getElementById("nyhed" + id).style.display = "none";
    document.getElementById("nyhed" + id + "k").innerHTML = "<a href="java script:vis(1)">Læs mere</a>";
  }
  function vis(id) {
    document.getElementById("nyhed" + id).style.display = "inline";
    document.getElementById("nyhed" + id + "k").innerHTML = "<a href="java script:skjul(1)">Læs mindre</a>";
  }
// -->
</script>

sdklfj sdlkfjsklf jsdlkfj sdlkfj lksdjf lksdjfl ksdjflksdjf lkdsjf lksdjfl kdsjflk dsjflk sdjlfk jdslkf<span style="display:none;" id="nyhed1">lk dslkjf dlskfj sldkfj lkdsfj skldfj lksdjf lskdjflk dsjf lsdkjf lksdjf lkdsjflkdsjf lksdjflk sdjf lksdjflk sdjlfksdj kljlkjlk</span><span id="nyhed1k"><a href="java script:vis(1)">Læs mere</a></span>
Avatar billede tobias_louv Nybegynder
17. februar 2009 - 17:28 #4
Okay, det var alligevel for dårligt skrevet. Her er det rettet lidt :-)

<html>
<head>
<script type="text/javascript">
<!--
  function skjul(id) {
    document.getElementById("nyhed" + id).style.display = "none";
    document.getElementById("nyhed" + id + "k").innerHTML = "<a href=\"java script:vis(" + id + ")\">Læs mere</a>";
  }
  function vis(id) {
    document.getElementById("nyhed" + id).style.display = "inline";
    document.getElementById("nyhed" + id + "k").innerHTML = "<a href=\"java script:skjul(" + id + ")\">Læs mindre</a>";
  }
// -->
</script>
</head>
<body>
<div id="n1">
sdklfj sddlkdsjflks dflksdjf lksdjf lksdflksdflksdjlfk dslkf dslkfj sdlkfjdslf kdsflkfjsklf jsdlkfj sdlkfj lksdjf lksdjfl ksdjflksdjf lkdsjf lksdjfl kdsjflk dsjflk sdjlfk jdslkf<span style="display:none;" id="nyhed1">lk dslkjf dlskfj sldkfj lkdsfj skldfj lksdjf lskdjflk dsjf lsdkjf lksdjf lkdsjflkdsjf lksdjflk sdjf lksdjfd.s,f dsf dslkjfdslkjf lksdfj lkdsjfl ksdj flkdsj flkdsj f lkdsj f kldsjflkds jflksdjf lkdsjflk sdjlfk jsdlfk jsdlkf jdslkf jdslkfjlk sdjlfksdj kljlkjlk</span><br>
<span id="nyhed1k"><a href="java script:vis(1)">Læs mere</a></span>
</div>
</body>
</html>
Avatar billede tobias_louv Nybegynder
17. februar 2009 - 17:30 #5
Med lidt snilde kan man lave en funktion, der automatisk oprettet den span, der skal til, automatisk laver den funktion, der skal til.
På den måde viser man kun de første 250 tegn hvis javascript er aktiveret - brugere uden js kan da se hele filen.
Avatar billede tobias_louv Nybegynder
26. august 2009 - 17:36 #6
Hmm... Det var vel et svar...
Avatar billede majbom Novice
04. november 2010 - 11:17 #7
kan vi lukke hér?
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