2013-12-09 100 views
0

嗨,大家好我已经试过你给我什么..但自己做错了什么我做错 看到我的小提琴右侧面板闪烁

http://jsfiddle.net/cancerian73/Ej5k8/

body { 

position: relative; 
min-height: 3000px; 
margin: 0; 
padding: 0; 
top: 0; 
font-family:'proximanova-regular', sans-serif; 
} 
当你将鼠标悬停在

右上角按钮silde不断闪烁,而不是像我想的http://yahoo.tumblr.com/

+0

检查更新的小提琴[这里](HTT p://jsfiddle.net/Ej5k8/3/) –

+0

这就是为什么:当您为sidemenu设置动画时,触发元素变为“隐藏”。这意味着鼠标实际上离开了元素。 – andershagbard

回答

4

修改您的鼠标离开处理程序不使用#follow但内容面板本身。

Plus做一个:animated检查以确保您在内容面板完全显示时不会激活mouseleave。

演示:http://jsfiddle.net/Ej5k8/2/

代码:

$("#panel-content").mouseleave(function() { 
    if(!$("#panel-content").is(':animated')) { 
     $("#panel-content").show(); 
     $("#panel-content").animate({ 
      width: '0px' 
     }, 'fast'); 
    } 
}); 
+0

而不是使用快速或慢速我可以使用一个值?而不是覆盖如何使用左移。我的意思是整个内容需要在左边移动,黑色不能覆盖。简单地说,我用黑色面板将内容推送到左边 – San

+0

是的,您可以使用数字来指定持续时间(以毫秒为单位),而不是“快速”或“慢速”。 – techfoobar

+0

你可以把内容推到左边,通过a)不使其父母绝对,但浮动和b)删除浮动:从面板内容 – techfoobar

0

的例子,您需要在#panel-content申请mouseleave而不是#follow按钮,以避免FLIC KER。

Here's the updated fiddle

0

尝试:

$("#panel-content").hide(); 
$("#follow").mouseenter(function() { 
    $("#panel-content").show(); 
    $("#panel-content").animate({ 
     width: '300px' 
    }, 'slow'); 
}); 
$("#panel-content").mouseleave(function() { 
    $("#panel-content").show(); 
    $("#panel-content").animate({ 
     width: '0px' 
    }, 'slow'); 
}); 

Updated fiddle here.