我正在开发一个弹出式菜单,并遇到了一个小问题,我希望有人可以帮忙。弹出菜单弹出并在弹出窗口外单击关闭它。这一切工作正常。jQuery只隐藏div,如果没有徘徊
我的问题是将div设置为在悬停时显示,并在X秒后自动隐藏,除非用户在时间框内悬停。这意味着弹出窗口会隐藏自身,除非需要。
任何人都可以建议吗?我知道它会涉及setTimeout和clearTimeout,但我不确定如何在上下文中应用它们。
我此刻的代码如下:
$('.links #links-schools a').bind('hover mouseenter', function() {
var school = $(this).text();
$('.links #links-schools a').each(function() {
$(this).removeClass("current-menu-item");
});
if(school == "Introduction") {
$('.sublinks ul').hide();
$('.links #links-schools ul').removeClass('right-border');
} else {
$(this).addClass("current-menu-item");
var str = $(this).parent().attr('class').slice(-3);
var editedstr = str.replace(/\D/g,"");
$('.links #links-schools ul').addClass("right-border");
$('.sublinks ul').hide();
$('.sublinks img').show();
$('.sublinks').show();
$.ajax({
url: "http://www.bbdclients.com/sac-active-wp/buildnav.php",
type: "POST",
data: { parentschoolid: editedstr },
dataType: 'text',
success: function(data) {
if (data.toLowerCase().indexOf("home") >= 0 || data.length < 1) {
$('.sublinks img').hide();
$('.sublinks ul').hide();
return false;
}
else {
$('.sublinks ul').html(data);
$('.sublinks img').hide();
$('.sublinks ul').show();
}
}
});
}
return false;
});
请提供一个jsfiddle :) – devqon