Avatar billede ofirpeter Nybegynder
02. januar 2005 - 18:19 Der er 17 kommentarer og
1 løsning

Vis/skjul et stykke tekst

Jeg søger et script (ved ikke om det er muligt blot med php) som kan skjule og vise et stykke tekst.

Skal fungere ligesom her på eksperten, hvor man ved at trykke på f.eks. Nyeste artikler kan skjule/vise den i menuen.

Her er også et eksempel på det jeg ønsker http://www.udvikleren.dk/thread.php?techid=6&f=6&t=2210 post nr. 2.

Hvis det ikke er muligt med php, er jeg åben over for andre forslag.

Med venlig hilsen
Peter
Avatar billede coderdk Praktikant
02. januar 2005 - 18:27 #1
Du skal have fat i DHTML/CSS! ;) Men kan da komme med et eksempel...
Avatar billede ofirpeter Nybegynder
02. januar 2005 - 18:28 #2
Meget gerne.
Avatar billede coderdk Praktikant
02. januar 2005 - 18:38 #3
<html>
    <head>
        <title>test</title>
        <style type="text/css">
            .titel {
                background-color: blue;
                color: white;
                font-weight: bold;
                cursor: pointer;
                width: 500px;
            }
            .hiddentext {
                display: none;
                background-color: silver;
                color: black;
                width: 500px
            }
        </style>
        <script type="text/javascript">
            function toggle( elem )
            {
                e = document.getElementById( elem );
                e.style.display = ( e.style.display == 'none' ? 'block' : 'none' );
            }
        </script>
    </head>
    <body>
        <div class="titel" onclick="toggle('test1')">Klik på mig!</div>
        <div class="hiddentext" id="test1">
            dette er en test!
            <? highlight_file( basename( __FILE__ ) ); ?>
        </div>
    <body>
</html>
Avatar billede ofirpeter Nybegynder
02. januar 2005 - 18:54 #4
Det ser umeltbart rigtig godt ud. Jeg kigger på det, og vender tilbage.

Dog ville det gøre det en del nemmere hvis man ikke benytte div, men i stedet en tabel til at vise teksten i, og et link til at trykke på når man ønskede den skulle åbne?
Avatar billede ofirpeter Nybegynder
02. januar 2005 - 18:58 #5
Ahh.. Kan jo lave det som et link blot ved at gøre sådan her:

<a href="#" onclick="toggle('test2')">Klik på mig!</a>
Avatar billede coderdk Praktikant
02. januar 2005 - 19:00 #6
Ja, men det er der jo ingen grund til? Den opfører sig jo allerede som et link? Eller det gør den hos mig i hvert tilfælde ;)
Avatar billede ofirpeter Nybegynder
02. januar 2005 - 19:04 #7
Og med en tabel kan jeg gøre det samme! Smart.

Jeg mangler nu blot en enkelt ting. Det link som jeg trykker på skal gerne skifte mellem "luk" og "åben". Ligesom her på exp.dk ønsker jeg at et billede skal skifte hver gang man trykker.
Avatar billede ofirpeter Nybegynder
02. januar 2005 - 19:05 #8
Ja helt sikkert, men i den situation jeg skal bruge scriptet i, ville en div være meget besværligt.
Avatar billede ofirpeter Nybegynder
02. januar 2005 - 19:20 #9
For lige at opsumere ønsker jeg at billedet "aaben.jpg" skal skifte til "luk.jpg" når man trykker på det.

<html>
    <head>
        <title>test</title>
        <style type="text/css">
            .titel {
                background-color: blue;
                color: white;
                font-weight: bold;
                cursor: pointer;
                width: 500px;
            }
            .hiddentext {
                display: none;
                background-color: silver;
                color: black;
                width: 500px
            }
        </style>
        <script type="text/javascript">
            function toggle( elem )
            {
                e = document.getElementById( elem );
                e.style.display = ( e.style.display == 'none' ? 'block' : 'none' );
            }
        </script>
    </head>
    <body>
    <a href="#" onclick="toggle('test1')"><img src="aaben.jpg" alt=""> Klik på mig!</a>
    <table width="125" border="0" cellpadding="0" cellspacing="0" class="hiddentext" id="test1">
        <tr>
            <td width="125" height="144"> dette er en test!</td>
          </tr>
    </table>
    <body>
</html>
Avatar billede amews_aj Nybegynder
02. januar 2005 - 19:24 #10
Undskyld jeg blander mig, men ville tilføje noget til dette:

          " Den opfører sig jo allerede som et link? Eller det gør den hos mig i hvert tilfælde ;)"

Det fatter IE ikke, så man bør nok sætte href="#" ;)
Avatar billede coderdk Praktikant
02. januar 2005 - 19:28 #11
pc-help, det fatter min IE da?
Anyway, hvis I vil bruge <a href= Så ville jeg foretrække denne:

<a href="java script:toggle('test1');"><img src="aaben.jpg" alt=""> Klik på mig!</a>
Avatar billede coderdk Praktikant
02. januar 2005 - 19:29 #12
Hvis man laver denne:

<a href="#" onclick="toggle('test1')">

Bør man ændre den til:

<a href="#" onclick="return toggle('test1')">

og i toggle-funktionen lave en "return false;" i slutningen...
Avatar billede amews_aj Nybegynder
02. januar 2005 - 19:31 #13
jaja, det er jeg klar over.

skørt, har haft det problem sammen med en anden.

jeg havde ikke sat href="" ind, og den brugte ikke a:link fra min css fil :S

Heh, klog IE du har :D
Avatar billede coderdk Praktikant
02. januar 2005 - 19:32 #14
ofirpeter, hvordan er div'en mere besværlig?
Anyway du kan også skifte billedet sådan:

<a href="java script:toggle('test1');"><img id="test1_pic" src="aaben.jpg" alt=""> Klik på mig!</a>

(tilføjet en id til billedet) og ædr funktionen:

        <script type="text/javascript">
            function toggle( elem )
            {
                e = document.getElementById( elem );
                im = document.getElementById( elem + '_pic' );
                hidden = ( e.style.display == 'none' );
                e.style.display = ( hidden ? 'block' : 'none' );
                im.src = ( hidden ? 'aaben.jpg' : 'luk.jpg' );
                return false;
            }
        </script>
Avatar billede ofirpeter Nybegynder
02. januar 2005 - 19:43 #15
Fordi div'en automatisk skifter linje, og det ønsker jeg ikke. Skal helst kunne nøjes med at skjule en enkelt "td".

Gør det nogen forskel om jeg benytter det ene eller andet?

Det virker ellers fuldkommen efter hensigten nu!
Tak for hjælpen!
Avatar billede ofirpeter Nybegynder
02. januar 2005 - 19:48 #16
Det fik jeg sagt for tidligt!

Man skal trykke to gange for at få den til at skifte første gang?
Hvordan undgår jeg det?

En test kan findes her: http://www.ofirpeter.1go.dk/exp/
Avatar billede coderdk Praktikant
02. januar 2005 - 20:03 #17
Prøv at skifte javascriptet ud med dette:

            function toggle( elem )
            {
                e = document.getElementById( elem );
                im = document.getElementById( elem + '_pic' );
                hidden = ( e.style.display == 'none' || e.style.display == '' );
                e.style.display = ( hidden ? 'block' : 'none' );
                im.src = ( !hidden ? 'aaben.jpg' : 'luk.jpg' );
                return false;
            }
Avatar billede ofirpeter Nybegynder
02. januar 2005 - 20:05 #18
Sådan! Nu virker det! Jeg smider lige den endelige kode, hvis andre skulle løbe ind i sprøgsmålet senere:

<html>
    <head>
        <title>test</title>
        <style type="text/css">
            .titel {
                background-color: blue;
                color: white;
                font-weight: bold;
                cursor: pointer;
                width: 500px;
            }
            .hiddentext {
                display: none;
                background-color: silver;
                color: black;
                width: 500px
            }
        </style>
<script type="text/javascript">
            function toggle( elem )
            {
                e = document.getElementById( elem );
                im = document.getElementById( elem + '_pic' );
                hidden = ( e.style.display == 'none' || e.style.display == '' );
                e.style.display = ( hidden ? 'block' : 'none' );
                im.src = ( !hidden ? 'aaben.jpg' : 'luk.jpg' );
                return false;
            }
        </script>
    </head>
    <body>
    <a href="#" onclick="return toggle('test1')"><img id="test1_pic" src="aaben.jpg" alt="">Klik på mig!</a>
    <table width="125" border="0" cellpadding="0" cellspacing="0" class="hiddentext" id="test1">
        <tr>
            <td width="125" height="144"> dette er en test!</td>
          </tr>
    </table>
    <body>
</html>
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