Avatar billede buttersi Nybegynder
19. juni 2008 - 00:06 Der er 4 kommentarer

slide effekt på show and hide

Hej igen,

Fandt en rimlig simpel show / hide kode. Her kommer den:

<script type="text/javascript">    function displayRow(){        var row = document.getElementById("captionRow");    if (row.style.display == '')  row.style.display = 'none';    else row.style.display = '';    }</script>


<table style="cursor: hand;" onclick="displayRow()">
<tr>
<td>Se mere</td>
</tr>
</table>
<table id="captionRow">
<tr>
<td>Bla bla bla bla</td>
</tr>
</table>


Mit problem er at den starter med at vise tabellen. Kan jeg gøre så man først skal trykke før den viser tabellen?

Og er det muligt at få en slide effekt på?
Avatar billede w13 Novice
19. juni 2008 - 08:06 #1
<script type="text/javascript">
function displayRow(){
  var row=document.getElementById("captionRow");
  row.style.display=(row.style.display=="")?"none":"";
}
</script>


<table style="cursor: hand;" onclick="displayRow()">
<tr>
<td>Se mere</td>
</tr>
</table>
<table id="captionRow" style="display:none">
<tr>
<td>Bla bla bla bla</td>
</tr>
</table>
Avatar billede w13 Novice
19. juni 2008 - 09:52 #2
Slideeffekten kan jeg muligvis hjælpe dig med, når jeg kommer hjem i aften. Har en næsten færdig kode der.
Avatar billede buttersi Nybegynder
19. juni 2008 - 10:56 #3
Hej w13, tak for den første løsning. Kunne være dejligt hvis du også havde en løsning på slideeffekten :-)
Avatar billede w13 Novice
20. juni 2008 - 18:13 #4
Prøv evt. at lege lidt med dette:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<style type="text/css">
.statusheadline{width:250px;cursor:pointer;background-color:#ccc;border:1px solid #ccc;font-size:14px:font-weight:bold}
.statustext{display:none;height:0;overflow:hidden;width:250px;border:1px solid #ccc;font-size:11px}
</style>
</head>
<body>

<script type="text/javascript" language="javascript">
var StatusWait=false;
function StatusBox(o){
    if(StatusWait)return;
    StatusWait=true;
    if(document.getElementById(o).style.overflow!="auto")appearStatusBox(o);
    else hideStatusBox(o);
}

function appearStatusBox(o,iHeight){
    var elm=document.getElementById(o);
    if(!iHeight)iHeight=0;
    if(iHeight<120){
        elm.style.display="block";
        elm.style.height=iHeight+"px";
        if(iHeight<70)iHeight+=3;
        else if(iHeight<100)iHeight+=2;
        else iHeight++;
        window.setTimeout("appearStatusBox('"+o+"',"+iHeight+")",10)
    }else{
        elm.style.overflow="auto";
        StatusWait=false
    }
}

function hideStatusBox(o,iHeight){
    var elm=document.getElementById(o);
    if(!iHeight)iHeight=elm.offsetHeight;
    if(iHeight>1){
        elm.style.overflow="hidden";
        elm.style.height=iHeight+"px";
        if(iHeight>50)iHeight-=3;
        else if(iHeight>30)iHeight-=2;
        else iHeight--;
        window.setTimeout("hideStatusBox('"+o+"',"+iHeight+")",10)
    }else{
        elm.style.display="none";
        StatusWait=false
    }
}
</script>

<div class="statusheadline" onclick="StatusBox('info1')">Overskrift</div>
<div id="info1" class="statustext">
    Andet tekst her!<br>
    Og her!
</div>

<div class="statusheadline" onclick="StatusBox('info2')">Overskrift</div>
<div id="info2" class="statustext">
    Andet tekst her!<br>
    Og her!
</div>

</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