css+js 触发之后边边出现一个div,且鼠标移到那个div时div不消失

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了css+js 触发之后边边出现一个div,且鼠标移到那个div时div不消失相关的知识,希望对你有一定的参考价值。

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
#two
display: none;


</style>
<script type="text/javascript">
function a()
var two=document.getElementById("two");
two.style.display='block';

a();
function b()
var two=document.getElementById("two");
two.style.display='none';

b();
</script>
</head>
<body>
<a id="one" href="#" onmouseover="a()" onmouseout="b()">
11
</a>
<div id="two" style="border: 1px solid #000000; width: 200px; height: 200px;"></div>
</body>
</html>

参考技术A var title = document.getElementById('photo');
var hiddenDiv = document.getElementById('hid');
title.onmouseover =function hov()
hiddenDiv.style.display = 'block';
title.style['margin-top']='12px'
title.style.transform='scale(1.4)'

title.onmouseout=function(event)
var x=event.clientX;
var y=event.clientY;
var divx1 = hiddenDiv.offsetLeft;
var divy1 = hiddenDiv.offsetTop;
var divx2 = hiddenDiv.offsetLeft + hiddenDiv.offsetWidth;
var divy2 = hiddenDiv.offsetTop + hiddenDiv.offsetHeight;
if( x < divx1 || x > divx2 || y < divy1 || y > divy2)
hiddenDiv.style.display='none';
title.style['margin-top']='0px'
title.style.transform='scale(1)'


hiddenDiv.onmouseover=function show()
hiddenDiv.style.display='block';
title.style['margin-top']='12px'
title.style.transform='scale(1.4)'

hiddenDiv.onmouseout=function hide()
hiddenDiv.style.dispaly='none'
hiddenDiv.style['margin-top']='0px'
title.style.transform='scale(1)'

pohto的class
.circletop:0px;width:50px;left:940px;position:absolute;z-index:1;height:50px;border-radius:50%;-webkit-border-radius:50%;-moz-border-radius:50%;transition: all 0.6s;
hid的class
#hidpadding-top:30px;top:30px;width:100px;height:100px;left:910px;position:absolute;background-color:red;
<img id='photo'class='circle' src='a.jpg'/>
<div id="hid" style="display:none;"></div>
参考技术B

div改成

<div id="two" onmouseover="a()" style="border: 1px solid #000000; width: 200px; height: 200px;"></div>

追问

但是移出div时想让它消失

追答

那就在DIV上面再加个 onmouseout="b()"

本回答被提问者和网友采纳

js 鼠标移入触发事件。多次触发。

鼠标移入li 里面触发需触发一个事件,但是当鼠标移动到li里面的div上时也会触发这个事件,等于重复的在触发
document.getElementById("fbox1").onmouseover=function()alert(123);

<li id="fbox1">
<div>
<div>
<img /><a href="#"></a></div>
<div >
<a href="#"></a></div>
</div>
</li>

参考技术A 这是肯定会触发的,div包含在li里边,只要你鼠标划入li必定触发事件,并不是重复触发。

mouseover和mouseout都是冒泡事件。mouseenter是ie独有的。我从网上扒了段代码

function isMouseLeaveOrEnter(e, handler)
if (e.type != 'mouseout' && e.type != 'mouseover') return false;
var reltg = e.relatedTarget ? e.relatedTarget : e.type == 'mouseout' ? e.toElement : e.fromElement;
while (reltg && reltg != handler)
reltg = reltg.parentNode;
return (reltg != handler);
参考技术B 这个当然了
因为li是父节点
包在最外层
当你鼠标要移动到里面内容是
一定要经过li
所以会触发事件

以上是关于css+js 触发之后边边出现一个div,且鼠标移到那个div时div不消失的主要内容,如果未能解决你的问题,请参考以下文章

比如一个div元素,当鼠标mouseover事件触发时,我想知道从上左下右哪个方向移入进去的.

div+css 鼠标移到图片上显示文字内容?

为啥把鼠标移到div里的超链接上,就触发了这个div的mouseout事件呢?

鼠标经过弹出div

js 鼠标移入触发事件。多次触发。

jquery鼠标移入移出