应用鼠标移入效果时出现的错误

2017-03-08  本文已影响0人  Tennen


在制作类似上图这样的鼠标移入效果时,我首先使用的是JavaScript,使用onmouseover和onmouseout方法添加移入效果;

鼠标移入时在当前图片所在的父元素内部添加一个绝对定位的div,

该div存在范围较大的外部阴影;

再为父元素添加position: relative; overflow: hidden样式;

鼠标移出时去除该div和样式;

之所以这么做的原因是觉得如果为每张图片都添加一个div去做hover效果的话,html代码会变得很累赘;

后来发现这么做会导致一些问题,

1.如果鼠标移动过快,移出效果的脚本可能无法及时完成,

导致内置的div并没有在鼠标移出时消失,或者没有为父元素添加样式;

2.在父盒子和内置div的边界处快速滑动时可能会发生闪烁,

即,在元素内部多次触发了移入和移出效果;

最后使用了:hover,将子盒子直接写在父盒子内部,并将其隐藏visiblity: hidden;

使用:hover伪类,移入父盒子内部时,添加样式visiblity:visible !important;

这样座避免了上述问题的发生.

上一篇 下一篇

猜你喜欢

热点阅读