Skip to content
Code-Schnipsel Gruppen Projekte
Commit a1108a5a erstellt von Michael Danielczok's avatar Michael Danielczok
Dateien durchsuchen

feat: Consider menu typ [Independent]. quiqqer/package-menu#12

feat: Find target for anchors and scroll smoothly.
Übergeordneter cdf449d7
Keine zugehörigen Branchen gefunden
Keine zugehörigen Tags gefunden
Keine zugehörigen Merge Requests gefunden
...@@ -125,7 +125,7 @@ define('package/quiqqer/menu/bin/MegaMenu', [ ...@@ -125,7 +125,7 @@ define('package/quiqqer/menu/bin/MegaMenu', [
var SlideNode = document.getElement('[data-qui="package/quiqqer/menu/bin/SlideOut"]'), var SlideNode = document.getElement('[data-qui="package/quiqqer/menu/bin/SlideOut"]'),
SlideOut = QUI.Controls.getById(SlideNode.get('data-quiid')), SlideOut = QUI.Controls.getById(SlideNode.get('data-quiid')),
MobileMenu = this.getElm().getElement('.quiqqer-menu-megaMenu-mobile'); MobileMenu = this.getElm().getElement('.quiqqer-menu-megaMenu-mobile');
if (!MobileMenu) { if (!MobileMenu) {
return; return;
} }
...@@ -167,13 +167,59 @@ define('package/quiqqer/menu/bin/MegaMenu', [ ...@@ -167,13 +167,59 @@ define('package/quiqqer/menu/bin/MegaMenu', [
this.$Menu.set('html', Menu.get('html')); this.$Menu.set('html', Menu.get('html'));
let getTarget = function (Link) {
let href = Link.href;
if (href.indexOf('#') === -1) {
return false;
}
let targetString = href.substring(href.indexOf('#') + 1);
if (targetString.length < 1) {
return false;
}
let TargetElm = document.getElementById(targetString);
if (!TargetElm) {
return false;
}
return TargetElm;
};
let clickEvent = function (Target, offset) {
new Fx.Scroll(window, {
offset: {
y: -offset
}
}).toElement(Target);
};
this.$Menu.getElements('a').addEvent('click', function (event) { this.$Menu.getElements('a').addEvent('click', function (event) {
var Link = event.target; var Link = event.target;
if (Link.nodeName != 'A') {
if (Link.nodeName !== 'A') {
Link = Link.getParent('a'); Link = Link.getParent('a');
} }
event.stop(); event.stop();
let TargetElm = getTarget(Link);
console.log("click auf A");
if (TargetElm) {
console.log("target gefunden, scrollen");
let offset = Link.get('data-qui-offset');
if (!offset) {
offset = window.SCROLL_OFFSET ? window.SCROLL_OFFSET : 0;
}
clickEvent(TargetElm, offset);
return;
}
window.location = Link.get('href'); window.location = Link.get('href');
}); });
......
...@@ -40,7 +40,11 @@ ...@@ -40,7 +40,11 @@
{if count($subchildren)} {if count($subchildren)}
<span class="fa fa-angle-down"></span> <span class="fa fa-angle-down"></span>
{/if} {/if}
</span> </span>
{/if}
{if $showMenu && $Child->getMenuType() && $Child->getMenuType() !== ''}
{assign var=usedControl value=$this->getMenuControl($Child->getMenuType())}
{/if} {/if}
{if count($subchildren) && $usedControl} {if count($subchildren) && $usedControl}
......
0% Lade oder .
You are about to add 0 people to the discussion. Proceed with caution.
Bearbeitung dieser Nachricht zuerst beenden!
Bitte registrieren oder zum Kommentieren