效果
鼠标滑入元素后, hover 层从鼠标滑入的边界处滑入。
源码
在线实例
请大家无视兼容性问题,该问题在整体完成后再解决。
疑问
在我写的方法中,每当触发mouseenter事件时,需要将 hover 元素移动至事件触发时边界的外面,然后再移入。但若编写如下代码:
var div = document.querySelector('div');
div.style.left = '0';
div.style.left = '100px';
当真正调用时,由于 javascript 引擎优化,元素的 left 会被直接设置为 100px ,无法达到我的目的。
目前我的解决方案是使用定时器,将第二次坐标的改变延迟,形如:
div.style.left = '0';
setTimeout(function(){
div.style.left = '100px';
},20);
请问:
有没有其他更好的方式解决该问题?