类似 twitter div 弹出框问题,如何解决(在线等)?

首先说下,我这个弹出框就是仿照twitter的,但是在实现的过程中遇到了一些问题,希望各位看看如何解决?
图片描述

当我在1上滑动时显示这个对话框,如果此时移走(没有停留在2上),那么就应该消失是吧,但是这样一来,就移动不到2上面了,因为只要移出1,就会关闭对话框了,这个问题怎么解决???

阅读 3.2k
4 个回答

有一个简单的解决方案
var timer = null;
$('a').on('mouseout', hidePopDiv);

function hidePopDiv() {
timer = setTimeout(function() {

$('#popDiv').hide();

}, 1000);
}

$('#popDiv').on('hover', function() {
clearTimeout(timer);
}, function() {
hidePopDiv();
});

你把你html代码结构贴出来看看,一般我会将弹出层2包含在1中,这样就不会出现这个问题

加z-index试试

1.弹窗外层再设置一个div ,div的背景transparent,假设class是out(绝对定位),out紧贴着zhangwei,但是用户看不出来,现在的弹窗作为out 的子div就好,通过hover 过zhangwei来控制 out的显示和隐藏,就能解决你说的问题
2.假设 zhangwei这个 名称 所在的元素是 一个div.title,设置弹窗是title的子集(title相对定位,弹窗绝对定位),title的overflow 不能设置为hidden,这时候就不需要加一层多余的,然后弹窗也可以不用靠着 title
然后 hover在title的时候 弹窗设置为显示,离开就弹窗为隐藏

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题