0
Hallo,

ich habe folgenden Code-Schnipsel verwendet:
(function($){
$(document).ready(function(){
// bootstrap dropdown menu
$('.navbar .parent > a').addClass('dropdown-toggle');
$('.navbar .dropdown-toggle').attr('data-toggle','dropdown');
$('.navbar .dropdown-toggle').append(' <b class="caret"></b>');
// content
$('.readmore .btn').addClass('btn-primary');
});
})(jQuery);


Das Dropdown-Menü funktioniert bis auf eine Ausnahme. Hierfür habe ich ein kurzes Video erstellt, damit man es sich besser vorstellen kann.
http://www.vidup.de/v/BsIe8/

Wenn ich auf das Parent mit den Unterlinks klicke, erscheint mir auch ein Dropdown. Dort klicke ich auf ein Unterpunkt. Es funktioniert. Aber sobald ich wieder daraufklicke und mich dann doch umentscheide, also ins Leere klicke, verschwindet das Parent-Menü samt Unterpunkten. Siehe Video. Am breadcrumb erkennt man, wie ich navigiere.
Responses (4)
  • Accepted Answer

    Thursday, 16. January 2014, 10:18 - #permalink
    0
    Hm, vielleicht ist es ein Konflikt der Bootstrap-Dateien (2 VS 3). Werden die Dateien im HEAD doppelt geladen?
    The reply is currently minimized Show
  • Accepted Answer

    Thursday, 23. January 2014, 17:15 - #permalink
    0
    Ich habe ein sehr ähnliches Problem!
    Bei mir tritt das Problem auf, wenn ich im Menü auf die Kontakt-Komponente (com_contact) verlinke. Wenn ich also auf "Kontakt" klicke, dann funktioniert noch alles (ein Kontakt wird angezeigt). Sobald ich danach aber auf irgend ein Dropdown-Menü klicke verschwindet dieses sofort. Das li-Element "deeper parent" des betreffenden Dropdown-Menüs bekommt dann das Attribut "Style= display: none" verpasst.
    Ich habe auch schon ein Override für "com_contact" erstellt und dort das Laden des Joomla-eigenen bootstrap.js verhindert, aber das brachte leider nicht die erwünschte Lösung.

    Hat jemand eine Idee, was ich noch versuchen könnte?
    The reply is currently minimized Show
  • Accepted Answer

    Sunday, 26. January 2014, 16:48 - #permalink
    0
    So, ich habe eine Lösung ... nach langem Suchen!

    Das Problem tritt dann auf, wenn man eine Joomla-Komponente verwendet, die MooTools benötigt. Laufen MooTools und Bootstrap bzw. jQuery parallel,
    dann gibt es einen Konflikt beim Bootstrap Drop-Down und Carousel, da Mootools eigene Show/Hide-Funktionen für Elemente implementiert.
    Die Lösung für das Problem habe ich hier gefunden:

    ich habe in meinem logic.js folgende Zeilen eingefügt:


    if (MooTools != undefined) {
    var mHide = Element.prototype.hide;
    var mShow = Element.prototype.show;
    var mSlide = Element.prototype.slide;

    Element.implement({
    /*
    * These are needed to get some of the JQuery bootstrap built in effects working,
    * like the carousel, and require you to add the 'mootools-noconflict' class to
    * containers you want to use those effect with, like ...
    * <div class="carousel slide mootools-noconflict">
    */

    hide: function() {
    if (this.hasClass("mootools-noconflict")) {
    return this;
    }
    mHide.apply(this, arguments);
    },
    show: function(v) {
    if (this.hasClass("mootools-noconflict")) {
    return this;
    }
    mShow.apply(this, v);
    },
    slide: function(v) {
    if (this.hasClass("mootools-noconflict")) {
    return this;
    }
    mSlide.apply(this, v);
    }
    });
    }


    Nun muss man noch im Menu-override (html/mod_menu/default.php) folgendes ändern:
    	
    if ($item->deeper)
    {
    $class .= ' deeper mootools-noconflict';
    $first_start = true;
    }


    Also, die Menü-Elemente mit einem Untermenü bekommen die Klasse mootools-noconflict verpasst und werden so von MooTools in Ruhe gelassen.

    Ich hoffe, es hilft dem einen oder anderen weiter.
    Like
    The reply is currently minimized Show
  • Accepted Answer

    Wednesday, 22. July 2015, 14:41 - #permalink
    0
    Ich hatte das gleiche Problem. Die von Martin Winkler beschriebene Lösung hat bei mir nicht funktioniert. Geklappt hat es schliesslich mit der hier dargestellten Lösung.
    The reply is currently minimized Show
Your Reply