首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么叠加元素会闪烁?

为什么叠加元素会闪烁?
EN

Stack Overflow用户
提问于 2012-10-15 18:50:32
回答 1查看 163关注 0票数 1

当鼠标悬停时,我试图在div中添加一个覆盖层。虽然它工作,覆盖一直闪烁,而我移动鼠标在div内。我怎么才能阻止这一切?

HTML:

代码语言:javascript
复制
<div id="d4" class="dmc_block" style="width:60%; background:#eee; z-index:1">
    <div style="padding:20px;">
        <p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. </p>
    </div>
</div>

JS:

代码语言:javascript
复制
$('body').on('mouseenter','.dmc_block',function(){
    var o = $(this).offset();
    var h = $(this).height();
    var w = $(this).width();
    $('<div>').addClass('hover').css({width:w,height:h,left:o.left,top:o.top,position:'absolute',zIndex:2}).insertAfter(this);
}).on('mouseleave','.dmc_block',function(){
    $('.hover').remove();
});    
$('body').on('mouseenter','.hover',function(){return false;});

小提琴:http://jsfiddle.net/T9Lhw/

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-15 18:53:36

改变这一点:

代码语言:javascript
复制
.on('mouseleave','.dmc_block',function(){

对此:

代码语言:javascript
复制
.on('mouseleave','.hover',function(){

Fiddle

当覆盖.hover放置在.dmc_block之上时,它会触发mouseleave of .dmc_block,就像它现在位于.hover下面一样。你想要的是mouseleave of .hover

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12902088

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档