鼠标滑入元素后, 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);
请问:
有没有其他更好的方式解决该问题?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.