Ankündigung

Einklappen
Keine Ankündigung bisher.

Mobile Menu dropdowns wie smartmenü ?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Mobile Menu dropdowns wie smartmenü ?

    Hallo Forumteam,

    ich hab entweder ein "bug" oder eine "feature" .. beim Tablet Smartmenü wenn ich z.b. subitems habe und die kategorie anklicke, slidet das submenü ein und wenn ich ein anderes klicke, slidet das erste wieder aus... beim mobilen Menü passiert dies jedoch nicht, die submenüs bleiben alle offen wenn ich die oberkategorie durchklicke... gibt es eine Möglichkeit diese so agieren zu lassen wie beim Tablet-smartmenü ? Anhang mmenü Beispiel.

    Hab COntao 5.1 und neustes Updates Eclipse X bereits drauf.

    Angehängte Dateien

  • #2
    Hallo,
    Seiten vom Typ Interne Weiterleitung werden standardmäßig als Container betrachtet und sliden auf. Die Klasse "click-default" setzt dieses Verhalten zurück auf normales Klick-Verhalten.
    https://forum.premium-contao-themes....6581#post26581
    http://www.premium-contao-themes.com

    Kommentar


    • #3
      Aber ich will doch das die als Container betrachtet werden, also aufsliden! Das tun sie ja auch im Smartmenü als auch mobil.. nur im mobilen menü slidet das eine nicht wieder ein wenn ich ein anderes geklickt habe...beim smartmenü aber schon!

      Ich hab mal ein video angehängt wie es sein soll: Am anfang smartmenü (passt) am Ende mobile menü (passt nicht, alles bleibt aufgeklappt)

      https://file.io/6WdVUAE3Ae0h

      Kommentar


      • #4
        Hi, ok verstanden. Ja, das Mobile Menü bleibt offen - finde ich für Menüs generell auch besser. Sollte für mich allgemeiner Standard sein, auch im Smartmenü.

        Anbei ein Screenshot aus der scripts.js, wo die Elemente geschlossen werden. Ich hab's mal auskommentiert. Damit bleiben die offen.

        /scripts/customize.js

        Code:
        jQuery(document).ready(function()
        {
        jQuery('.smartmenu-content .subitems_trigger').on('click', function (e)
        {
        e.stopImmediatePropagation();
        
        var element = jQuery(this).parent('li');
        if (element.hasClass('open')) {
        element.removeClass('open');
        element.find('li').removeClass('open');
        element.find('ul').slideUp();
        }
        else {
        element.addClass('open');
        element.children('ul').slideDown();
        }
        });
        });
        Angehängte Dateien
        Zuletzt geändert von Tim; 30.10.2024, 09:21.
        http://www.premium-contao-themes.com

        Kommentar


        • #5
          Ok, Danke für die Info.. du bietest mir jedoch genau das Gegenteil von dem was mein Kunde will *lach* leider kann ich ihn davon nicht abhalten, auch wenn ich deine ver. sinniger finde...ich nutze das mobile_vertical template und wie ich da sehe ist der code etwas anders aufgebaut als beim smartmenü und irgendwie ist da auch ne passage mit "close open sibblings" jedoch hab ich k.a. wie ich das umbaue :-(

          Code:
          <script>
          jQuery(document).ready(function()
          {
          jQuery('nav.mobile_vertical .trail').addClass('open');
          jQuery('nav.mobile_vertical li.submenu').append('<div class="opener"></div>');
          jQuery('nav.mobile_vertical a.submenu').not('.open').parent('li').children('ul ').hide();
          jQuery('nav.mobile_vertical li.submenu .opener, nav.mobile_vertical li.submenu a.forward:not(.click-default), nav.mobile_vertical li.submenu a.pct_megamenu').click(function(e)
          {
          e.preventDefault();
          e.stopImmediatePropagation();
          
          var _this = jQuery(this);
          
          // close open siblings
          if( jQuery(this).parents('nav.mobile_vertical').hasCla ss('collapse') )
          {
          var siblings = _this.parent('li').siblings('li.open');
          siblings.children('ul').slideUp(
          {
          duration:300,
          complete: function()
          {
          siblings.removeClass('open');
          siblings.children('a').removeClass('open');
          }
          });
          }
          
          
          // opener div
          var isOpener = _this.hasClass('opener');
          
          if( _this.parent('li').hasClass('open') )
          {
          _this.parent('li').children('ul').slideUp(
          {
          duration:300,
          complete: function()
          {
          if( isOpener )
          {
          _this.siblings('a').removeClass('open');
          }
          _this.removeClass('open');
          _this.parent('li').removeClass('open');
          }
          });
          
          }
          else
          {
          if( isOpener )
          {
          _this.siblings('a').toggleClass('open');
          }
          _this.toggleClass('open');
          _this.parent('li').toggleClass('open');
          _this.parent('li').children('ul').slideToggle({dur ation:300});
          }
          });
          });
          </script>

          Kommentar


          • #6
            Ach lol. Ich hab's wirklich andersherum verstanden.

            Nichts leichter als das: Gib dem Navi-Modul die Klasse "collapse". Das löst die Weiche aus, dass die offene Elemente dann schließen.
            Angehängte Dateien
            http://www.premium-contao-themes.com

            Kommentar


            • #7
              Owehh...am Ende dann doch so simpel.. VIELEN DANK!!!!

              Kommentar

              Lädt...
              X