Detlef G.: Element ein-, ausblenden

Beitrag lesen

Hallo Insomnia,

ich hätte angenommen, Kai kümmert sich auch weiter zu Problemen mit seinem Lösungsvorschlag.

<a href="#" onclick="blocks_an_aus ('an','box1','box2','box3','box4') ;return false">Test</a>

Hiermit willst du einblenden. Du übergibst 5 Parameter, dabei setzt aber du „myIds” auf 'an' und „aktion” auf 'box1'!

function blocks_an_aus (myIds, aktion) {

if (document.getElementById) {
   for (var i = 1, l = arguments.length - 1; i < l ; i++) {

  
i ist jetzt 1, l ist jetzt arguments.length - 1, also 4.  
zur Information:  
arguments[0] enthält 'an',  
arguments[1] enthält 'box1',  
arguments[2] enthält 'box2',  
arguments[3] enthält 'box3',  
arguments[4] enthält 'box4'  
  
Die Schleife läuft so lange, wie i < l, also wie i < 4, i kann also niemals 4 werden.  
  

>    `var el = document.getElementById (arguments[i]);`{:.language-javascript}  
  
Damit wird arguments[4] ('box4') nie verwendet.  
  

>         ~~~javascript

if (el && el.style) {  

>           if (aktion != 'aus') {

aktion enthält 'box1', das ist <> 'aus', also wird die folgende Zeile ausgeführt, also ausgeblendet, egal, wie der erste Parameter lautet.

~~~javascript

el.style.display = 'block';

} else {
           el.style.display = 'none';
        }
      }
    }
  }
}


>   
> Ach so… ich hab mal box3 und box4 den platz  tauschen lassen.  
>   
> `<a href="#" onclick="blocks_an_aus ('an','box1','box2','box4','box3') ;return false">Test</a>`{:.language-javascript}  
>   
> dann erschien box3 nicht.  
  
Genau, damit wird ja auch 'box4' zu arguments[3], und wird verwendet und 'box3'zu arguments[4], was nie verwendet wird.  
  
Wenn der Aufruf der Funktion so erfolgt: `blocks_an_aus ('an','box1','box2','box3','box4') ;`{:.language-javascript}, dann muss in der Funktionsdefinition auch „aktion” der erste Parameter sein. Dann sollte die Funktionsdefinition vielleicht so aussehen: `function blocks_an_aus (aktion)`{:.language-javascript}. Mich stört daran allerdings, dass es nicht ersichtlich ist, dass noch mehr Parameter benötigt werden. Bei `function blocks_an_aus (aktion, MyId)`{:.language-javascript}, was auch möglich wäre, ist immer noch nicht ersichtlich, dass es auch noch mehr Parameter mit Ids sein dürfen.  
  
Die Schleife könnte ganz einfach so aussehen: `for (var i = 1; i < blocks_an_aus.arguments.length; i++)`{:.language-javascript}.  
  

>   
> Grüsse  
> Insomnia  
>   

Auf Wiederlesen  
Detlef  

-- 
- Wissen ist gut  
- Können ist besser  
  
- aber das Beste und Interessanteste ist der Weg dahin!
0 75

deaktiviertes layer,Scrollbalken bleibt sichtbar opera sichtbar

Insomnia
  • css
  1. 0
    Detlef G.
    1. 0
      Insomnia
      1. 0
        Detlef G.
        1. 0
          Insomnia
      2. 0
        Insomnia
        1. 0
          Detlef G.
          1. 0
            Insomnia
            1. 0
              Detlef G.
              1. 0
                Insomnia
                1. 0
                  Insomnia
                  1. 0
                    Insomnia
                    1. 0
                      Detlef G.
                      1. 0
                        Insomnia
                        1. 0
                          Insomnia
                          1. 0

                            Element ein-, ausblenden

                            Detlef G.
                            • javascript
                            1. 0
                              Insomnia
                              1. 0
                                Detlef G.
                                1. 0
                                  Insomnia
                                  1. 0
                                    Insomnia
                                    • css
                                  2. 0
                                    Detlef G.
                                    1. 0
                                      Insomnia
                                      1. 0
                                        Insomnia
                                      2. 0
                                        Detlef G.
                                        1. 0
                                          Detlef G.
                                          1. 0
                                            Insomnia
                                        2. 0
                                          Insomnia
                                          1. 0
                                            Detlef G.
                                            1. 0
                                              Insomnia
                                              1. 0
                                                Beat
                                                1. 0
                                                  Detlef G.
                                                2. 0
                                                  Insomnia
                                              2. 0
                                                Detlef G.
                                                1. 0
                                                  Insomnia
                                                  1. 0
                                                    Detlef G.
                                                    1. 0
                                                      Insomnia
                                                      1. 0
                                                        Detlef G.
                                                        • sonstiges
                                                        1. 0
                                                          Insomnia
                                                        2. 0
                                                          Insomnia
                                                        3. 0
                                                          Insomnia
                                                        4. 0
                                                          Insomnia
                                                          • javascript
                                                          1. 0
                                                            Kai345
                                                            1. 0
                                                              Kai345
                                                              1. 0
                                                                Insomnia
                                                                1. 0
                                                                  Kai345
                                                                2. 0
                                                                  Detlef G.
                                                                  1. 0
                                                                    Insomnia
                                                              2. 0
                                                                Detlef G.
                                                                1. 0
                                                                  Kai345
                                                                  1. 0
                                                                    Detlef G.
                                                                    1. 0
                                                                      Kai345
                                                                      1. 0
                                                                        Insomnia
                                                                        1. 0
                                                                          Insomnia
                                                                          1. 0
                                                                            Detlef G.
                                                                            1. 0
                                                                              Kai345
                                                                              1. 0
                                                                                Insomnia
                                                                                1. 0
                                                                                  Insomnia
                                                                                  1. 0
                                                                                    Insomnia
                                                                                    1. 0
                                                                                      Detlef G.
                                                                                      1. 0
                                                                                        Insomnia
                                                                              2. 0
                                                                                Detlef G.
                                                                                1. 0
                                                                                  Kai345
                                                                      2. 0
                                                                        Detlef G.
                                                                        1. 0
                                                                          Kai345
                                                                          1. 0
                                                                            Detlef G.
                                                                            1. 0
                                                                              Kai345
                                                      2. 0
                                                        Detlef G.
                                                        1. 0
                                                          Insomnia
                                                          1. 0
                                                            Detlef G.
                                                            1. 0
                                                              Insomnia
                                                              1. 0
                                                                Detlef G.
                                                                1. 0
                                                                  Insomnia
                                                                  1. 0
                                                                    Detlef G.
                                                                    1. 0
                                                                      Insomnia
                      2. 0
                        Insomnia