尝试这样的事情:http: //jsfiddle.net/4YRuf/13/
有了这个:您可以快速移动鼠标,结果会更好。并使用 class 而不是 id ...
$('figure').children('img').on('mouseover', function(e){
$('.figure-over').remove();
$(this).parent().append('<div class="figure-over"><a href="'+$(this).parent().data('url')+'" target="_blank">Voir</a></div>');
$(this).parent().children('.figure-over').stop().slideDown();
$(this).on('mouseleave', removeIt)
$(this).parent().children('.figure-over').on('mouseleave', removeIt).on('click', function(){
window.open($(this).children('a').attr('href'));
});
});
function removeIt()
{
if( ! $('.figure-over').is(':hover') )
{
$('.figure-over').stop().slideUp( function(){
$(this).remove();
});
}
}
更新 :
效果更好:http: //jsfiddle.net/4YRuf/17/
$('figure').children('img').on('mouseover', function(e){
if ( $('.figure-over').length == 0)
{
$(this).parent().append('<div class="figure-over"><a href="'+$(this).parent().data('url')+'" target="_blank">Voir</a></div>');
}
$(this).parent().children('.figure-over').stop().slideDown();
$(this).on('mouseleave', removeIt)
$(this).parent().children('.figure-over').on('mouseleave', removeIt).on('click', function(){
window.open($(this).children('a').attr('href'));
});
});
function removeIt()
{
if( ! $('.figure-over').is(':hover') )
{
$('.figure-over').stop().slideUp( function(){
$(this).remove();
});
}
}