it-swarm.com.de

Steuern der Höhe eines jQuery-Akkordeons auf der Inhaltsseite

Ich habe es geschafft, meiner Drupal7-Site eine jQuery-Akkordeon-Inhaltsseite hinzuzufügen, indem ich den Anweisungen/dem Code hier gefolgt bin: http://www.chrisherberte.com/blog/drupal-7-and-jquery-ui-accordion .

Die Höhe in den Dropdown-Feldern wird jedoch nicht korrekt berechnet. Einige sind zu lang mit viel Leerraum, andere sind zu kurz, was bedeutet, dass eine Bildlaufleiste hinzugefügt wird, um den gesamten Text anzuzeigen. Es scheint, als würde es alle Höhen jedes Feldes nehmen und daraus eine durchschnittliche Höhe berechnen, die es dann anwendet.

Ich habe das Standard-Bartik-Design sowie mein benutzerdefiniertes Design ausprobiert. Die Funktionalität ist bei beiden gleich, daher kein CSS-Problem, sondern ein Problem mit der Abfrage selbst.

Darüber hinaus funktioniert die Verwendung von HTML-Listenelementen nicht mehr zusammen, und bringt die Formatierung vollständig durcheinander .

screenshot

Ich habe keine Ahnung, wo oder wie ich die JQuery bearbeiten soll, um dieses Problem zu beheben, und möchte auf keinen Fall wirklich den Kern hacken.

5
Renaee

Zuerst sollten Sie versuchen, autoHeight auf false zu setzen, um das Höhenproblem zu beheben.
Sie sollten auch Verhalten verwenden in Drupal berücksichtigen.

<?php
drupal_add_library('system', 'ui.accordion');
drupal_add_js("
  (function ($) {
    Drupal.behaviors.accordionRoles = {
      attach: function (context, settings) {
        $('#accordion').accordion({
          autoHeight: false
         });
      }
    };
  }(jQuery));
", 'inline');
?>

Dann konnte ich das Problem mit HTML-Listen finden, ich griff nach Ihrem HTML, legte es lokal ab und verwendete das Demo-Quelle für das jQuery UI-Akkordeon (Abschnitt 3 enthält eine HTML-Liste) und es scheint gut zu funktionieren .

HTML lists working fine

3
tostinni