Zur Navigation

ONLOAD in wenn-Bedingung

1 Isabell (Gast)

Hallo Leute

leider kenne ich mich bisher nur mit HTML und CSS aus (und auch das nur eingeschränkt), aber nicht mit Javaskript.
Nun habe ich da ein Akkordeon, welches mit Javaskript umgesetzt wird.
Ich möchte aber, dass das Javaskript nur ausgeführt wird, wenn die Displaybreite höchstens 600 Pixel beträgt.
Diesbezüglich habe ich im Netz nach einer Lösung gesucht und auch einige vermeintliche Lösungen gefunden (Code 1-4), aber geholfen hat mir leider nichts.
dann kam ich auf die Idee, das BODY ONLOAD-EVENT in der wenn-Bedingung von Code 4 aufzurufen und in der sonst-Bedingung wieder zu löschen (es sollte nämlich gelöscht werden, falls ein kleines Browserfenster maximiert wird).
Dazu habe ich auch etwas gefunden (Code 5), aber aufgrund meiner nicht vorhandenen Kenntnisse hat mir das auch nichts geholfen.
Daher meine Bitte:
könnte mir bitte jemand verraten, wie ich das folgende BODY ONLOAD-EVENT in einer wenn-Bedingung packe und wie ich dieses dann in der sonst-Bedingung wieder lösche?
<body onload="new Accordian('basic-accordian',5,'header_highlight');">

würde mich wirklich sehr sehr freuen, wenn mir jemand helfen könnte.

Hier noch meine bisherigen Dateien
http://www.ergotherapie-wiesinger.de/CODE.txt
http://www.ergotherapie-wiesinger.de/HTML.zip

25.02.2015 13:54

2 Jörg Kruse

Die Bedingung könnte man in einer Wrapper-Funktion (im head Bereich) unterbringen:

<script>                                                                        
function startAccordian()                                                       
{                                                                               
    if (screen.width <= 600) {                                                     
        new Accordian('basic-accordian',5,'header_highlight');                  
    }                                                                              
}                                                                                  
</script>

... und dann diese im body onload starten:

<body onload="startAccordian()">

25.02.2015 14:45

4 Jörg Kruse

Kann auch sein, dass ich was missverstanden habe :)

Du hast ja anfangs von Displaybreite geschrieben - das entspricht dem screen.width und ist eine feste unveränderliche Größe des Gerätes

An anderer Stelle schreibt du allerdings von Browserfenster. Im Gegensatz zur Displaybreite ist die Breite des Anzeigebereichs eine veränderbare Größe (indem z.B. das Browserfenster größer oder kleiner gezogen wird) und würde stattdessen mit window.innerWidth bezeichnet:

    if (window.innerWidth <= 600) {
        new Accordian('basic-accordian',5,'header_highlight');
    }

25.02.2015 15:30

5 Isabell (Gast)


Hallo Jörg

da habe ich mich dann wohl nicht korrekt ausgedrückt.
Mit deinem neuen Code funktioniert es! Siehe hier:
http://www.ergotherapie-wiesinger.de/HTML/index3.html

vielen herzlichen Dank, dass du mir so schnell und so unkompliziert geholfen hast!
Wünsche dir noch eine schöne Zeit!

Viele Grüße, Isabell

26.02.2015 14:37

Zum Schreiben einloggen

Beitrag schreiben (als Gast)

Die Antwort wird nach der Überprüfung durch einen Moderator freigeschaltet.





[BBCode-Hilfe]