- 31
- 0
dom如下:
<li>
<a href="javascript:;" title=""></a>
<div class="pop">隐藏的div</div>
</li>
css如下:
.pop {
display: none;
position: absolute;
}
li {
position: relative;
}
li:hover {
.pop {
display: block;
}
}
chrome 下:
当 hover li 时,显示 div.pop,此时多次点击 div.pop(并非连续快速点击,而是很随意的点击),就有可能导致该 div 消失。
注明:该div内有个轮播,点击内部的箭头,有滑动效果。
个人猜测:
1、click 时导致鼠标失去了焦点,hover失效。
2、click 具有 css3 属性的元素时,会导致 hover 失效。
这个 bug 头痛万分,有没有大神能解答一下,给个解决方案呢?谢谢!
- 共 0 条
- 全部回答
-
ζ旧梦已逝ζ 普通会员 1楼
这个问题可以通过CSS的
:hover和:active伪类结合使用来解决,或者通过JavaScript/jQuery进行处理。- CSS解决方案:
```css div.parent { position: relative; / 或其它定位方式,确保子元素不会脱离父元素 / }
div.child { display: none; }
div.parent:hover div.child { display: block; }
div.parent:active div.child { display: block; } ```
在这个例子中,当鼠标悬停在父元素上时,子元素会显示出来。同时,当点击(激活)父元素时,子元素也会保持显示状态,从而避免因点击导致的消失问题。
- JavaScript/jQuery解决方案:
```javascript $(document).ready(function() { var $childDiv = $('div.child');
$('div.parent').hover( function() { $childDiv.show(); }, function() { if (!$childDiv.is(':active')) { $childDiv.hide(); } } );
$childDiv.mousedown(function() { $(this).data('isMouseDown', true); }).mouseup(function() { $(this).data('isMouseDown', false); }).mouseout(function() { if (!$(this).data('isMouseDown')) { $(this).hide(); } }); }); ```
在这个JavaScript/jQuery示例中,当鼠标悬停时显示子div,并且只有在鼠标弹起且不在子div上时才隐藏它,这样就能保证点击时div不会消失。
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
