Ergebnis 1 bis 7 von 7

Thema: Gleichlange Spalten mit jQuery

  1. #1
    Contao-Nutzer Avatar von gorti
    Registriert seit
    06.05.2010.
    Ort
    Basel (CH)
    Beiträge
    41

    Standard Gleichlange Spalten mit jQuery

    Hi

    Ich versuch ein kleines jQuery-Script um Spaltenlängen auszugleichen, einzusetzen. (Das CSS-Layout der Spalten lässt ein herkömmliches Faux Columns nicht zu.)
    Für das 3-spaltige Layout bekommen im fe_page.html5 die #left, #right und #main die zusätzliche Klasse "column".
    Die Spalten sollen sich an der längsten Spalten orientieren und erhalten dann dessen Höhe.

    Das Script das ich benutze lautet:

    Code:
    <script type="text/javascript">
    jQuery(document).ready(function() {
    	var colheight = 0;
    	$(".column").each(function(){
    		if($(this).height()>colheight)
    		colheight = $(this).height();})
    .css({height:colheight});
    });
    </script>
    Der Script funktioniert grundsätzlich in einer statischen Html-Seite.
    Den Script habe ich auf verschiedene Weise versucht einzubinden. Einerseits direkt im Seitenlayout (eigener Javascript-Code) andererseits als js-Datei im Header.
    jQuery-Extension ist installiert und getestet. Funktioniert mit anderen Scripts. (Mootools aktiv und no-conflict). Ich hab's auch mit diversen jQuery-Versionen getestet.
    Hab's auch als XHTML versucht.

    Hat jemand eine Idee?
    Danke für ein Feedback

  2. #2
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Habe keine jQuery Installation zum Testen, aber mit Mootools kannst du es ja auch machen.

    Wenn du das CSS-Framework nicht verändert hast, dann ist #main immer die längste Spalte. Also:
    HTML-Code:
    window.addEvent('domready', function(){
    
      $('left').setStyle('height', $('main').getSize().y);
    
    });
    Für #right dann dementsprechend.
    Geändert von Andreas (01.06.2012 um 19:07 Uhr)
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

  3. #3
    Contao-Nutzer Avatar von gorti
    Registriert seit
    06.05.2010.
    Ort
    Basel (CH)
    Beiträge
    41

    Standard

    Danke für Deine Lösung Andreas.
    Wie kann ich anstelle der äusseren Div die .inside benutzen? ('main.inside') oder so?

  4. #4
    Community-Moderator Avatar von schman
    Registriert seit
    19.06.2009.
    Ort
    Dornbirn
    Beiträge
    3.739
    User beschenken
    Wunschliste

    Standard

    vermutlich so:

    HTML-Code:
    window.addEvent('domready', function(){
    
      $('left').setStyle('height', $('main .inside').getSize().x);
    
    });
    Kein Privat Support via PM.

  5. #5
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Nein, mit $('ID') kannst du nur Elemente über ihre ID ansprechen. Mit $$('#main .inside') kannst du Elemente über ihren CSS-Selektor ansprechen. http://mootools.net/docs/core/Elemen...#Window:dollar
    Da der Rückgabewert dann 'An array-like Elements collection of all the DOM elements matched' ist, musst du die Größe wahrscheinlich über das erste Element abgreifen ...[0] - ungetestet.
    HTML-Code:
    window.addEvent('domready', function(){
    
      var
    
        height = $$('#main .inside')[0].getSize().y,
    
        left = $('left')
      ;
    
      left.setStyle('height', height);
    
    });
    Mit getStyles() bekommst du auch Padding, Margin und Border raus, falls du diese Werte benötigen solltest. http://mootools.net/docs/core/Elemen...ment:getStyles
    Geändert von Andreas (01.06.2012 um 19:08 Uhr)
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

  6. #6
    Contao-Urgestein Avatar von Kahmoon
    Registriert seit
    22.06.2009.
    Ort
    München
    Beiträge
    5.280

    Standard

    Zitat Zitat von Andreas Beitrag anzeigen
    HTML-Code:
    window.addEvent('domready', function(){
    
      $('left').setStyle('height', $('main').getSize().x);
    
    });
    Habs grad mal getestet. Es muss heissen $('main').getSize().y. x ist die Breite.

    Dieses Script löst bei mir viele "graue Haare Probleme" und CSS Gefrickel...danke!
    Geändert von Kahmoon (01.06.2012 um 15:53 Uhr)

  7. #7
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Ja klar *kopfklatsch* X ist doch immer die Breite oder Horizontal, genau wie der erste Wert immer horizontal oder die Breite ist. Danke. Werde ich oben ändern.
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •