|
|||
![]()
Du hast auch ein komisches Konstrukt mit floats.
Auch weiß ich noch immer nicht was du eigentlich bezwecken willst mit der Darstellung, aber wenn ich raten darf: Warum floats? Das ist so letztes Jahrtausend. Heutzutage kannst du auch gerne flexbox dafür verwenden. (Grid wenn es über mehrere Zeilen gehen soll) Bezüglich deiner Frage zum debuggen: Drücke F12 im Chrome/Firefox und du hast alles was du zum debuggen einer Seite brauchst. Edit: Falls du flexbox verwendest kannst du dir die ganze Sache mit der Berechnung auch sparen, dann wird die Breite unter den verfügbaren Elementen aufgeteilt. Geändert von cloned (05.02.2020 um 14:16 Uhr) |
Sponsored Links |
|
|||
![]() Zitat:
jQuery Simple Horizontal Accordion « Design Chemical – jQuery, Wordpress, Tutorials & Plugins P.S.: Ich hab gedacht ich kann auch die Steuerung mit jqery ui realisieren. Geändert von Iago2 (05.02.2020 um 15:01 Uhr) |
Sponsored Links |
|
|||
![]()
Keine Ahnung wieso du dafür ein fast 10 Jahre altes tutorial ausgrabst, aber zeitgemäß ist das auf keinen Fall mehr.
Für eine Darstellung ist CSS verantwortlich. Falls du Logik brauchst wie mit buttons dann ist JS notwendig. |
|
|||
![]()
Also gut. Auf jeden Fall stimmt die Logik ja.
Was wird mit $this.toggleClass('active'); getoggelt? Dies hier ![]() #accordion li.active { width: 450px; } Die Klasse heisst ja aber .active, dewegen ja auch: var totalActiveElements = $('.active').length; UND $('.active').each(function(e) {...} |
|
|||
![]()
toggleClass heißt dass die der Funktion mitgegebene Klasse getoggled wird, also in dem Fall "active". Gibt es die Klasse wird sie hinzugefügt, ansonsten entfernt.
Die Klasse heißt nicht ".active", der Punkt vor active sagt CSS lediglich dass es sich um einen Klassennamen handelt. Der Name der Klasse ist nur "active". |
|
|||
![]()
O.k.,
Beim klicken wird active an- und ausgeschaltet. In totalActiveElements (streng genommen: int totalActiveElements) wird die Anzahl der aktiven gespeichert, dann der Wert für die Sichbarkeit errechnet. data('for') verknüft die aktiven Buttons mit den Listenfeldern, In der Schleife werden die width-Werte der Listenfelder dann vergeben. (ID durch die Verknüpfung errechnet) Was micht stört ist dieser CSS Eintrag: HTML-Code:
#accordion li.active { width: 450px; } Auch irritierend ist: HTML-Code:
$accordion.find('li').css('width', '0px'); Geändert von Iago2 (07.02.2020 um 03:24 Uhr) |
|
|||
![]() Zitat:
Zitat:
Hier bitte aufpassen, das gilt nur für li-Elemente die im accordion sind. In meinem JS setze ich die Klasse aber nur auf die buttons. Dein CSS habe ich nicht angepasst, da es mir nur um die Logik ging. Zitat:
Und wie weiter oben schon gesagt: Wenn du auf modernes CSS setzt brauchst du all diese Berechnungen nicht, dann passt der Browser die Elemente so an, wie du sie brauchst. Aber da ich (immer noch nicht) weiß, was du genau erreichen willst, habe ich mich nur auf die generelle JS Logik konzentriert. |
|
|||
![]()
Ich will JS sehr gut beherrschen, aber ich komm natürlich nicht um CSS drumrum.
Geändert von Iago2 (07.02.2020 um 11:21 Uhr) |
|
|||
![]() Zitat:
Ich habe mit flexbox leider kein Beispiel gefunden, wo ich die Steuerung der container wie hier mit JS (Beispiel von #cloned) realisiert umsetzen. Hat jemand eine Tip, wie ich das CSS hier anpassen kann, mit oder ohne flexbox? Vielen Dank, Geändert von Iago2 (09.02.2020 um 13:32 Uhr) |
Sponsored Links |
|
|||
![]()
Um das mit flexbox umzusetzen reicht folgender Aufbau:
Code:
<div class="container"> <div> item 1 </div> <div> item 2 </div> <div> item 3 </div> <div> item 4 </div> </div> Code:
.container { width: 400px; /*Das nur als Beispielbreite, kann natürlich auch weggelassen werden wenn es über die gesamte Breite gehen soll*/ display: flex; } .container > div { flex-grow: 1; } Sprich du brauchst, wenn das dein Ziel ist, nur die benötigten Elemente ein- und ausblenden. |
Sponsored Links |
![]() |
Themen-Optionen | |
Ansicht | |
|
|
![]() |
||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
Felder Anordnung Problem | radon | CSS | 1 | 19.11.2006 19:11 |