Avatar billede aero Nybegynder
22. august 2003 - 18:34 Der er 19 kommentarer og
1 løsning

Vis og skjul tekst

Dette spm kunne evt oprettes i DHTML da jeg mener at have set en løsning i DHTML men kan ikke finde den.

men der findes også en løsning i asp så vidt jeg ved.

Det jeg søger er en løsning som den der findes her på sitet hvor man kan skjule indholdet af de forskellige emner til højre og venstre i:

Dine Data
Nyeste Spørgsmål
Nyesteindlæg
Top 10

osv

hvordan laver jeg noget på samme måde bare til nogle ting hvor man så kan klikke på et icon og så kommer infoen/beskrivelsen frem under som på dette site !??
Avatar billede marduk666 Nybegynder
22. august 2003 - 18:41 #1
Jeg tror nu nærmere det var i DHTML den skulle oprettes medmindre siden skal loade hver gang. Anyway her er et eksempel på hvordan du kan gøre det:


<script language="javascript">
function ShowHide(str)
{
    if ( document.getElementById(str).style.display == 'none' )
    {
        document.getElementById(str).style.display = '';
       
    } else {
       
        document.getElementById(str).style.display = 'none';
    }
}
</script>

<table onclick="java script:ShowHide('blabla');"" style="cursor: hand;">
<tr>
    <td>TRYK HER</td>
</tr>
</table>

<table style="display: none;" id="blabla">
<tr>
    <td>TING 1</td>
</tr>
<tr>
    <td>TING 2</td>
</tr>
</table>
Avatar billede aero Nybegynder
22. august 2003 - 18:49 #2
okay og så ændre jeg bare id="blabla" og også i showhide til alle de ting jeg nu skal have !!
Avatar billede marduk666 Nybegynder
22. august 2003 - 18:50 #3
Ja
Avatar billede aero Nybegynder
22. august 2003 - 18:58 #4
okay hvis jeg har dette

<script language="javascript">
function ShowHide(str)
{
    if ( document.getElementById(str).style.display == 'none' )
    {
        document.getElementById(str).style.display = '';
       
    } else {
       
        document.getElementById(str).style.display = 'none';
    }
}
</script>

<table>
<tr>
    <td onclick="java script:ShowHide('blabla');"" style="cursor: hand;">TRYK HER</td>
</tr>
<table style="display: none;" id="blabla">
<tr>
    <td>TING 1</td>
</tr>
<tr>
    <td>TING 2</td>
</tr>
</table>
</table>
<table>
<tr>
    <td onclick="java script:ShowHide('testes');"" style="cursor: hand;">TRYK HER 2</td>
</tr>
<table style="display: none;" id="testes">
<tr>
    <td>TING 3</td>
</tr>
<tr>
    <td>TING 4</td>
</tr>
</table>
</table>

hvordan kan jeg gøre så hvis jeg klikker på "TRYK HER" så vises ting 1 og 2 som nu.
Men hvis jeg så derefter klikker på "TRYK HER 2" så lukkes "TRYK HER" og "TRYK HER 2" vises så der altså ALTID KUN vil vises 1 af gangen og ikke flere !?
Avatar billede marduk666 Nybegynder
22. august 2003 - 19:12 #5
Ja sek laver det lige...
Avatar billede aero Nybegynder
22. august 2003 - 19:15 #6
mange tak !!
Avatar billede marduk666 Nybegynder
22. august 2003 - 19:19 #7
Værsgo:


<script language="javascript">
show = 0;

function ShowHide(str)
{
    if ( show == 0 )
    {
        show = str;
    }
   
    if ( show != str )
    {
        document.all(show).style.display = 'none';
        show = str;
    }
   
    if ( document.all(str).style.display == 'none' )
    {
        document.getElementById(str).style.display = '';
       
    } else {
       
        document.all(str).style.display = 'none';
    }
}
</script>

<table onclick="java script:ShowHide('blabla');"" style="cursor: hand;">
<tr>
    <td>TRYK HER 1</td>
</tr>
</table>

<table style="display: none;" id="blabla">
<tr>
    <td>1 TING 1</td>
</tr>
</table>


<table onclick="java script:ShowHide('blabla1');"" style="cursor: hand;">
<tr>
    <td>TRYK HER 2</td>
</tr>
</table>

<table style="display: none;" id="blabla1">
<tr>
    <td>2 TING 1</td>
</tr>
</table>



<table onclick="java script:ShowHide('blabla2');"" style="cursor: hand;">
<tr>
    <td>TRYK HER 3</td>
</tr>
</table>

<table style="display: none;" id="blabla2">
<tr>
    <td>3 TING 1</td>
</tr>
</table>
Avatar billede aero Nybegynder
22. august 2003 - 19:32 #8
kanon så skal jeg bare lige lege lidt med det så jeg ikke laver så mange table start slut men lige se om jeg kan lave nogle:
<table>
<tr onclick="java script:ShowHide('blabla1');"" style="cursor: hand;">
<td>tryk her 1</td>
</tr>
<tr style="display: none;" id="blabla1">
<td>2 ting 1</td>
</tr>
<tr onclick="java script:ShowHide('blabla2');"" style="cursor: hand;">
<td>tryk her 2</td>
</tr>
<tr style="display: none;" id="blabla2">
<td>3 ting 1</td>
</tr>
</table>

burde dette ikke virke !??
Avatar billede marduk666 Nybegynder
22. august 2003 - 19:37 #9
Jo (det gør den også)
Avatar billede aero Nybegynder
22. august 2003 - 19:39 #10
godt jeg takker for det hurtige svar !! :)
Avatar billede marduk666 Nybegynder
22. august 2003 - 19:41 #11
Yesh anytime og jeg takker for points :-)
Avatar billede aero Nybegynder
22. august 2003 - 19:47 #12
vil lige høre om du vil videreudvikle scriptet det sidste som jeg lavede til at kunne vises pile som her på sitet at hvis en td er lukket så vises en pil som viser mod højre og hvis en td åbnes så vises en pil nedad som her på sitet.

Jeg laver gerne en ref på 50 P til dette spm !!
Avatar billede aero Nybegynder
22. august 2003 - 20:14 #13
Ville du evt det !??
Avatar billede marduk666 Nybegynder
23. august 2003 - 01:59 #14
Du kan få det her:

<script language="javascript">
show = 0;

function ShowHide(str)
{
    if ( show == 0 )
    {
        show = str;
    }
   
    if ( show != str )
    {
        document.all(show).style.display = 'none';
        show = str;
    }
   
    if ( document.all(str).style.display == 'none' )
    {
        document.getElementById(str).style.display = '';
        document.images['in-'+str].src = 'plus.gif';
       
    } else {
       
        document.all(str).style.display = 'none';
        document.images['in-'+str].src = 'minus.gif';
    }
}
</script>

Bare tilføj "in-" på id'et i billedet f.eks.
<img src="minus.gif" border="0" id="in-blabla1"> Menu 1
<img src="minus.gif" border="0" id="in-blabla2"> Menu 2
<img src="minus.gif" border="0" id="in-blabla3"> Menu 3 o.s.v.
Avatar billede aero Nybegynder
23. august 2003 - 10:45 #15
okay tak vil lige høre om du evt vil gøre så den også skifter billede hvis den ene er åben og jeg klikker på en ny så lukker den gamle jo men den skifter ikke billede tilbage til minus.

Kun hvis jeg klikker linket så jeg lukker det med klik så viser den minuset !!
Avatar billede marduk666 Nybegynder
23. august 2003 - 12:50 #16
Du skal bare tilføje:

document.images['in-'+str].src = 'minus.gif';

i:

if ( show != str )
{
    document.all(show).style.display = 'none';
    document.images['in-'+str].src = 'minus.gif';
    show = str;
}
Avatar billede aero Nybegynder
23. august 2003 - 15:47 #17
synes jeg ikke rigtigt virker !!

den laver ikek billedet om !!
Avatar billede marduk666 Nybegynder
23. august 2003 - 19:33 #18
<script language="javascript">
show = 0;

function ShowHide(str) {
    if ( show == 0 )
    {
        show = str;
    }
   
    if ( (show != 0) && (show != str) )
    {
        document.all(show).style.display = 'none';
        document.images['in-'+show].src = 'plus.gif';
        show = str;
    }

    if ( document.all(str).style.display == 'none' )
    {
        document.all(str).style.display = '';
        document.images['in-'+str].src = 'minus.gif';
       
    } else {
   
        document.all(str).style.display = 'none';
        document.images['in-'+str].src = 'plus.gif';
    }
}
</script>


Husk at sætte billedet til plus som standard
Avatar billede aero Nybegynder
23. august 2003 - 19:54 #19
Hold kæft du er sej !!!

Mange tak for din gode hjælp !!:)
Avatar billede marduk666 Nybegynder
24. august 2003 - 14:15 #20
np :-)
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
Kurser inden for grundlæggende programmering

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