J'ai une liste de liens simples et lorsque vous passez dessus il ajoute un div (chargement des données dans ce div de XML) et en vol stationnaire il supprime la div , mais il ne se produit que lorsque la souris se déplace lentement sur les liens dès que la souris se déplace plus vite que d'habitude sur les liens, alors il ne supprime pas la div qui signifie événement mouseout n'a pas été tiréjquery hover() mouseOut événement ne se déclenche pas lorsque la souris est déplacée rapidement sur le lien
Déplacez votre souris agressive sur les deux premiers liens alors vous pouvez voir que quelques fois div ne cache pas
Voici lien vers ma démo http://ukcatonline.com/template/
Voici mon code:
$(document).ready(function() {
//vertical navigation js
$(".mainnav_v a").hover(
function (e) {
$this = $(this)
$this.stop().animate({ paddingLeft : '16px'}, 300);
var brand ="";
var category="designer_frames";
$this.each(function()
{
var title = this.title;
if ($this.is('a') && $this.attr('title') != '' && $this.attr('id')==category)
{
brand= this.title;
$.ajax({
type: "GET",
url: "xml/peek_menu.xml",
//ie bug : it send wrong datatype on localmachine
dataType: ($.browser.msie) ? "text" : "xml",
success: function(data) {
var xml;
if (typeof data == "string") {
xml = new ActiveXObject("Microsoft.XMLDOM");
xml.async = false;
xml.loadXML(data);
} else {
xml = data;
}
//could have used $(xml).find(category).each(function() but jquery is intelligent enough to know wat element is currently selected
$(category, xml).each(
function(){
$(brand,this).each(
function(){
var title = $(this).attr('title');
var imgurl = $(this).attr('imgurl');
var description = $(this).find('description').text();
var feature1 = $(this).find('feature1').text();
var feature2 = $(this).find('feature2').text();
var feature3 = $(this).find('feature3').text();
var feature4 = $(this).find('feature4').text();
var html = '<div id="peek_container"><img src="' + imgurl + '" alt="" /><br /><br /><h1>'+title+'</h1><br />';
html += '<p>' + description + '</p><br />';
html += '<ul><li>'+feature1+'</li><li>'+feature2+'</li><li>'+feature3+'</li><li>'+feature4+'</li></ul><br /></div>';
$this.parent().append(html);
}
);
}
);
}
}
);
}
});
},
function (e) {
$this = $(this);
$this.stop().animate({ paddingLeft : '6px' }, 300);
$this.siblings().remove();
}
);});
Voici mon HTML:
<ul class="mainnav_v">
<li><a href="#url" class="peek" title="Boss" id="designer_frames">Boss</a></li>
<li><a href="#url" title="Burberry" id="designer_frames">Burberry</a></li>
<li><a href="#url" title="Bvlgari" id="designer_frames">Bvlgari</a></li>
<li><a href="#url">Chanel</a></li>
<li><a href="#url">Diesel</a></li>
<li><a href="#url">Dior</a></li>
Quel navigateur utilisez-vous? Fonctionne bien pour moi sur IE8 et Chrome –
Fonctionne bien à toute vitesse pour moi aussi (Safari sur OS X) – micahwittman
Je peux «voir» le problème dans FF3.5. Foccs sur l'élément 2 supérieur, déplacez votre pointeur rapidement à travers eux. –