扫码关注官方订阅号
首先说下,我这个弹出框就是仿照twitter的,但是在实现的过程中遇到了一些问题,希望各位看看如何解决?
当我在1上滑动时显示这个对话框,如果此时移走(没有停留在2上),那么就应该消失是吧,但是这样一来,就移动不到2上面了,因为只要移出1,就会关闭对话框了,这个问题怎么解决???
人生最曼妙的风景,竟是内心的淡定与从容!
有一个简单的解决方案var timer = null;$('a').on('mouseout', hidePopp);
function hidePopp() { timer = setTimeout(function() {
$('#popp').hide();
}, 1000);}
$('#popp').on('hover', function() { clearTimeout(timer);}, function() {hidePopp();});
你把你html代码结构贴出来看看,一般我会将弹出层2包含在1中,这样就不会出现这个问题
加z-index试试
1.弹窗外层再设置一个p ,p的背景transparent,假设class是out(绝对定位),out紧贴着zhangwei,但是用户看不出来,现在的弹窗作为out 的子p就好,通过hover 过zhangwei来控制 out的显示和隐藏,就能解决你说的问题2.假设 zhangwei这个 名称 所在的元素是 一个p.title,设置弹窗是title的子集(title相对定位,弹窗绝对定位),title的overflow 不能设置为hidden,这时候就不需要加一层多余的,然后弹窗也可以不用靠着 title然后 hover在title的时候 弹窗设置为显示,离开就弹窗为隐藏
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
有一个简单的解决方案
var timer = null;
$('a').on('mouseout', hidePopp);
function hidePopp() {
timer = setTimeout(function() {
}, 1000);
}
$('#popp').on('hover', function() {
clearTimeout(timer);
}, function() {
hidePopp();
});
你把你html代码结构贴出来看看,一般我会将弹出层2包含在1中,这样就不会出现这个问题
加z-index试试
1.弹窗外层再设置一个p ,p的背景transparent,假设class是out(绝对定位),out紧贴着zhangwei,但是用户看不出来,现在的弹窗作为out 的子p就好,通过hover 过zhangwei来控制 out的显示和隐藏,就能解决你说的问题
2.假设 zhangwei这个 名称 所在的元素是 一个p.title,设置弹窗是title的子集(title相对定位,弹窗绝对定位),title的overflow 不能设置为hidden,这时候就不需要加一层多余的,然后弹窗也可以不用靠着 title
然后 hover在title的时候 弹窗设置为显示,离开就弹窗为隐藏