Bonjour à tous,
Mon problème est le suivant:
j'ai pu faire un menu accordeon qui fonctionne trés bien, mais ce que je veux maintenant, c'est que l'effet accordeon ce fait au pasage de la souris(hover) et non pas au clic...
je suis nul en javascript, pour cela j'ai pas sue quoi changer
voici le code javascript:
Merci
Cordialement
Modifié par lizi87 (08 Feb 2011 - 09:44)
Mon problème est le suivant:
j'ai pu faire un menu accordeon qui fonctionne trés bien, mais ce que je veux maintenant, c'est que l'effet accordeon ce fait au pasage de la souris(hover) et non pas au clic...
je suis nul en javascript, pour cela j'ai pas sue quoi changer
voici le code javascript:
jQuery.fn.initMenu = function() {
return this.each(function(){
var theMenu = $(this).get(0);
$('.acitem', this).hide();
$('li.expand > .acitem', this).show();
$('li.expand > .acitem', this).prev().addClass('active');
$('li a', this).click(
function(e) {
e.stopImmediatePropagation();
var theElement = $(this).next();
var parent = this.parentNode.parentNode;
if($(parent).hasClass('noaccordion')) {
if(theElement[0] === undefined) {
window.location.href = this.href;
}
$(theElement).slideToggle('normal', function() {
if ($(this).is(':visible')) {
$(this).prev().addClass('active');
}
else {
$(this).prev().removeClass('active');
}
});
return false;
}
else {
if(theElement.hasClass('acitem') && theElement.is(':visible')) {
if($(parent).hasClass('collapsible')) {
$('.acitem:visible', parent).first().slideUp('normal',
function() {
$(this).prev().removeClass('active');
}
);
return false;
}
return false;
}
if(theElement.hasClass('acitem') && !theElement.is(':visible')) {
$('.acitem:visible', parent).first().slideUp('normal', function() {
$(this).prev().removeClass('active');
});
theElement.slideDown('normal', function() {
$(this).prev().addClass('active');
});
return false;
}
}
}
);
});
};
$(document).ready(function() {$('.menu').initMenu();});
Merci
Cordialement
Modifié par lizi87 (08 Feb 2011 - 09:44)