2010-09-20 5 views
0

J'ai besoin que ce code fonctionne, donc quand on clique sur l'élément, le mouseout n'affiche pas l'élément.Combiner Cliquez avec hover

$('.link1').hover(function(){ 
    $('#image1').fadeIn(); 
},function(){ 
    $('#image1').fadeOut(); 
}).click(function(){ 
    $('#image1').css('display','block'); 
}); 

Merci d'avance.

Répondre

3
$('.link1').hover(function(){ 
    $('#image1').fadeIn(); 
},function(){ 
    var clicked = $(this).data('clicked'); 
    if(!clicked) $('#image1').fadeOut(); 
}).click(function(){ 
    $(this).data('clicked', true); 
    $('#image1').css('display','block'); 
}); 
+0

J'ai besoin maintenant d'ajouter dynamiquement l'ID de l'image et ce doens't semblent fonctionner. J'ai juste essayé de faire fonctionner la première partie. $ ('# zone de carte image'). hover (function() { var linkClass = $ (this) .attr ("classe"); var linkClassID = '#' + linkClass; linkClassID.stop (true , true) .fadeIn(); }, function() { var cliqué = $ (this) .data ('cliqué'); if (! clicked) $ ('# image1'). stop (true, true) .fadeOut(); }). cliquez sur (function() { $ (this) .data ('clicked', true); $ ('# image1'). css ('display', 'block') ; $ ('# image1'). Frères ('display', 'none'); }); –

+0

@Clint - c'est un peu difficile à lire. Peut-être mérite-t-il une question distincte? – sje397

0

Ajoutez des attributs afin de pouvoir les vérifier.

$('.link1').hover(function(){ 
    if(!$('#image1').is(':visible')) $('#image1').fadeIn(); 
}, function(){ 
    if(!$(this).attr("clicked")) $('#image1').fadeOut(); 
}).click(function(){ 
    $(this).attr("clicked", true); 
    $('#image1').css('display','block'); 
});