Ich arbeite gerade an einer Navigation die über Media Querie und JS bei kleineren Displays ein und ausklappen. Das funktioniert soweit ganz gut, auch dank der Anleitung von Florence Maurice (hervorragende Trainerin übrigens), jetzt möchte ich das ganze etwas animieren, so das es wie bei einer Transition raus- und rein gleitet.
Mit Transition bekomme ich es im Moment noch nicht so hin, bei einer älteren JS Lösung habe ich das über 'slow' und jQuery gelöst, nur gefällt mir nicht das falls JS deaktiviert ist, das Menue nicht zu sehen ist.
In dem Script an dem ich gerade bastle, funktioniert soweit alles, auch wenn JD deaktiviert ist,
nur könnte das Menü schöner raus fahren...
Hat jemand eine Idee, hier mal mein aktuelles Script:
Mit Transition bekomme ich es im Moment noch nicht so hin, bei einer älteren JS Lösung habe ich das über 'slow' und jQuery gelöst, nur gefällt mir nicht das falls JS deaktiviert ist, das Menue nicht zu sehen ist.
Javascript:
function menue(){
$( "#openDiv" ).click(function() {
$( "#navDiv" ).slideToggle( "slow", function() {
});
});
}
In dem Script an dem ich gerade bastle, funktioniert soweit alles, auch wenn JD deaktiviert ist,
nur könnte das Menü schöner raus fahren...
Hat jemand eine Idee, hier mal mein aktuelles Script:
Javascript:
(function () {
//Klasse in html hinzufügen lassen, die markiert, dass JavaScript aktiviert wird
document.documentElement.className = document.documentElement.className.replace(/\bno-js\b/g, '') + 'js';
function naviklapp(navid){
//Elemente definieren: Navigationselement, Button, Menue
var nav = document.getElementById(navid);
var button;
var menu;
// Wenn keine Navigation, dann ignorieren
if ( ! nav )
return;
//der Button ist das erste h3 Element innerhalb der Navigation
button = nav.getElementsByTagName( 'h3' )[0];
// die erste ungeordnete Liste in der Navigation ist das Menü
menu = nav.getElementsByTagName( 'ul' )[0];
if ( ! button )
return;
if ( ! menu || ! menu.childNodes.length ) {
button.style.display = 'none';
return;
}
button.onclick = function(){
if ( -1 != button.className.indexOf( 'toggled-on' )){
button.className = button.className.replace( 'toggled-on', '' );
menu.className = menu.className.replace( 'toggled-on', '' );
} else {
button.className += ' toggled-on';
menu.className += ' toggled-on';
}
};
}
naviklapp('navi');
} ) ();;