Meddelande

Minska
No announcement yet.

Öppna & stäng div

Minska
X
 
  • Filter
  • Klockan
  • Show
Clear All
new posts

  • Öppna & stäng div

    Jag använder koden nedan för att öppna bilder och som det är nu öppnas bilderna men stänger inte de redan öppna när man trycker på ny bild..
    Antal div/bilder varierar mellan 1-50.

    Lösning:
    Varje gång man klickar för visning av bild, ska andra öppna bilder stängas.


    Kod:
    function switchThis(whatelement) {
    var objLayer = document.getElementById(whatelement);
    state = (objLayer.style.display == 'none') ? 'block' : 'none';
    objLayer.style.display = state;
    }
    
    <img src="bild00.jpg" onClick="switchThis('galleria0');" width="47" height="49" />
    <div id="galleria0" style="display: none;"><img src="bild00.jpg" border="1" onClick="switchThis('galleria0');" /></div>
    
    <img src="bild01.jpg" onClick="switchThis('galleria1');" width="47" height="49" />
    <div id="galleria1" style="display: none;"><img src="bild01.jpg" border="1" onClick="switchThis('galleria1');" /></div>
    
    o.s.v..

  • #2
    Ungefär så här:
    [kod]
    function switchThis(whatelement) {
    if(lastElement && lastElement != whatelement) {
    document.getElementById(lastElement).style.display = 'none';
    }
    lastElement = whatelement;
    var objLayer = document.getElementById(whatelement);
    state = (objLayer.style.display == 'none') ? 'block' : 'none';
    objLayer.style.display = state;
    }
    [/kod]
    Last edited by Jojoxx; 2014-04-16, 10:55. Anledning: Ett likamed-tecken för mycket :)
    / Jojoxx

    "Always remember that you're unique and special, just like everyone else..."

    Kommentera


    • #3
      Tack, men något litet fel ligger det nog i koden.
      Det kommer inte fram några bilder längre..

      Kommentera


      • #4
        Sökte runt på sidan med fraser från din kod och fann denna kod som funkade.
        Tack för hjälpen

        [Kod]
        function switchThis(whatelement) {
        var objLayer = document.getElementById(whatelement);
        state = (objLayer.style.display == 'none') ? 'block' : 'none';
        if (elm != "" && document.getElementById(elm)){
        document.getElementById(elm).style.display = "none";
        }
        objLayer.style.display = state;
        elm = whatelement;
        }
        [/kod]

        Kommentera


        • #5
          Yes, hade kastat in ett likamed-tecken för mycket. Skrev utan att testa
          / Jojoxx

          "Always remember that you're unique and special, just like everyone else..."

          Kommentera

          Working...
          X