Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.

#1 07. Januar 2013 14:55

dylan
arbeitet mit CMSMS
Ort: Münsterland
Registriert: 16. Dezember 2010
Beiträge: 302

Re:

Da auf mobilen Endgeräten das onmouseover fehlt, nutze ich zur Anzeige der Sub-Navigation (per klick Untermenüs aufklappen) folgendes script:

<script type="text/javascript">
$(document).ready(function(){
// iOS Hover Event Class Fix
if((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i)) || (navigator.userAgent.match(/iPad/i))) {
$("#primary-nav li a").click(function(){  // Update class to point at the head of the list
});
}
});
</script>

Leider klappen bei diesem script keine Subs mit dem Typ 'Abschnittsüberschrift' auf. Es klappen lediglich Menüs mit dem Typ 'Inhalt' auf.
Die ID ist korrekt eingetragen.

Kennt vielleicht jemand eine bessere Lösung um die Navigation auf mobilen Geräten funktionstüchtig zu machen?

Offline

#2 07. Januar 2013 15:13

NaN
Moderator
Ort: Halle (Saale)
Registriert: 09. November 2010
Beiträge: 4.058

Re:

Der Fehler liegt hier:

$("#primary-nav li a")

Abschnittsüberschriften enthalten keine Links.
Ich kenne jetzt Dein Menütemplate nicht, aber Du kannst ja alle Menüpunkte nochmal in ein Span-Element packen und dann z.B. so darauf zugreifen:

$("#primary-nav li > span")

Oder allen Menüpunkten, die auf onmouseover reagieren sollen, eine entpsrechende Klasse geben (z.B. mouseover) und dann so drauf zugreifen:

$("#primary-nav li.mouseover")

etc.

Offline

#3 07. Januar 2013 16:09

dylan
arbeitet mit CMSMS
Ort: Münsterland
Registriert: 16. Dezember 2010
Beiträge: 302

Re:

Das 'a' stört?

Ich nutze das cssmenu.tpl aus CMS MS 1.11.3

Gibt es für das cssmenu.tpl vielleicht eine einfachere Lösung?

Offline

#4 07. Januar 2013 18:16

dylan
arbeitet mit CMSMS
Ort: Münsterland
Registriert: 16. Dezember 2010
Beiträge: 302

Re:

Ich habe es mit span probiert:

<script type="text/javascript">
$(document).ready(function(){
// iOS Hover Event Class Fix
if((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i)) || (navigator.userAgent.match(/iPad/i))) {
$("#primary-nav li > sectionheader").click(function(){  // Update class to point at the head of the list
});
}
});
</script>

Das menu-Template enthält bereits einen span-Eintrag "sectionheader":

<li class="menuparent"><a class="menuparent"><span class="sectionheader">{$node->menutext}</span></a>

So funktioniert es aber leider nicht.

Offline

#5 07. Januar 2013 20:25

NaN
Moderator
Ort: Halle (Saale)
Registriert: 09. November 2010
Beiträge: 4.058

Re:

Ja, das "a" stört. Denn damit werden nur die Links angesprochen. Entweder du formulierst den Selector allgemeiner (gib also allen Elementen mit mouseover-Effekt eine Klasse und sprich die Klasse an) oder Du musst sowohl Links als auch Spans mit der Klasse "sectionheader" ansprechen. Der Syntax bei Deinem Selector ist falsch. Es gibt kein Element namens "sectionheader". Klassen spricht man mit einem Punkt an: ".sectionheader"

Offline

Fußzeile des Forums

Powered by FluxBB