У меня есть простой список ссылок, и когда вы наводите на него курсор, он добавляет div (загрузка данных в этот div из XML), а при наведении мыши удаляет div, но это происходит только тогда, когда мышь медленно перемещается по ссылкам, мышь перемещается по ссылкам быстрее, чем обычно, тогда она не удаляет div, что означает, что событие mouseout не было запущено
Активно двигайте мышкой по первым двум ссылкам, и вы видите, что div иногда не скрывается
Вот ссылка на мою демонстрацию http://ukcatonline.com/template/
Вот мой код:
$(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();
}
);});
Вот мой 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>