---
title: "Problem med en expanderings funktion"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/158075-problem-med-en-expanderings-funktion"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "calson"
published: "2007-03-11T22:57:30.000Z"
updated: "2007-03-11T23:31:19.000Z"
replies: 1
views: 394
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/javascript/158075-problem-med-en-expanderings-funktion"
---

# Problem med en expanderings funktion

## #1 — calson, 2007-03-11T22:57Z

Hej
Jag har en sida där man kan expandera en grej åt gången som fungerar utan problem.
Nu vill jag kunna expandera alla som jag har lite problem med.

I asp loopar jag ut flera poster och sparar det totala antalet poster i en variabel som jag sedan lägger i en \<type="hidden"...\> med namnet **countCheck**

En knapp skall utlösa funktionen som expanderar allt som i sin tur loopar den funktion som expanderar en åt gången, men det verkar inte fungera.

**Knappen:**   "      \<input type=""button"" onClick="javascript:expandAll('show', document.getElementById('*countCheck*'));" id="expandAll" value="Expand all member reports"\>

Koden för att expandera alla

```
function expandAll(sort,max)
{

  for(i=1;i<max;i++;)
  {
      Show('c', i, i, sort)
  }

  for(i=1;i<max;i++;)
  {
      Show('wr', i, i, sort)
  }

  document.getElementById('expandAll').onClick="javascript:expandAll('hide')";
  document.getElementById('expandAll').value="Close all";

}
```

Koden för alla expandera singlar **(Fungerar)**

```
function Show(tI, what, what_s, sh)
{

    if(tI=="c") {
        if(sh=="show") {
	    bgc = "1";
	    document.getElementById("commentsId_"+what_s+"_SHC").innerHTML="<a href=\"javascript:Show('c', '"+what+"', '"+what_s+"', 'hide');\">Hide comments</a>";
	    document.getElementById("commentsId_"+what).style.height="100px";
	    document.getElementById("commentsId_"+what).style.visibility="visible";
	    document.getElementById("expId_"+what).style.backgroundColor = '#999000';
        }
        else if(sh=="hide") {
	    bgc = "0";
	    document.getElementById("commentsId_"+what_s+"_SHC").innerHTML="<a href=\"javascript:Show('c', '"+what+"', '"+what_s+"', 'show');\">Show comments</a>";
	    document.getElementById("commentsId_"+what).style.height="0px";
	    document.getElementById("commentsId_"+what).style.visibility="hidden";
	    if(bgwr=="0") {document.getElementById("expId_"+what).style.backgroundColor = '#FFFFFF';}
        }
    }
    else if(tI=="wr") {
        if(sh=="show") {
	    bgwr = "1";
	    document.getElementById("warId_"+what_s+"_SHC").innerHTML="<a href=\"javascript:Show('wr', '"+what+"', '"+what_s+"', 'hide');\">Hide war report</a>";
	    document.getElementById("warId_"+what).style.height="50px";

	    for(i=1; i>4; i++) {
                document.getElementById("warId_"+what+"_"+i+"_in").style.height="15px";
	    }

	    document.getElementById("warId_"+what).style.visibility="visible";
	    document.getElementById("warId_"+what+"_Head").style.visibility="visible";
	    document.getElementById("expId_"+what).style.backgroundColor = '#999000';
        }
        else if(sh=="hide") {
	    bgwr = "0";
 	    document.getElementById("warId_"+what_s+"_SHC").innerHTML="<a href=\"javascript:Show('wr', '"+what+"', '"+what_s+"', 'show');\">Show war report</a>";
	    document.getElementById("warId_"+what).style.height="0px";
	    document.getElementById("warId_"+what).style.visibility="hidden";
	    document.getElementById("warId_"+what+"_Head").style.visibility="hidden";
	    if(bgc=="0") {document.getElementById("expId_"+what).style.backgroundColor = '#FFFFFF';}
        }
    }
}
```

Hoppas nu kan sålla ut den relevanta koden annars får jag göra ett försök

Tack på förhand

Permalänk: https://www.webforum.nu/p/158075

## #2 — emission, 2007-03-11T23:31Z

Börja med att säkra upp koden.

Inte bra

```
document.getElementById("commentsId_"+what).style.height="100px";
document.getElementById("commentsId_"+what).style.visibility="visible";
```

Bättre

```
var elem=document.getElementById("commentsId_"+what);
if (elem)
{
   elem.style.height="100px";
   elem.style.visibility="visible";
}
```

Permalänk: https://www.webforum.nu/p/1944530

---

Tråden på webben: https://www.webforum.nu/amne/javascript/158075-problem-med-en-expanderings-funktion
