一个很常见的交互,但由于从来没有自己代码实现过,浪费了一下午时间,整理总结一下这个坑。
具体需要实现的效果,如下:
这里演示的操作都没有点击动作,全部是鼠标滑入滑出效果。click事件实现这个功能是很简单的,毕竟常用。但是为了1:1还原效果,所以是要用鼠标滑入滑出事件。
mouseover 和 mouseout,是不是?一提到鼠标滑入滑出事件,下意识就想到了这两个。
坑就坑在这儿。
首先说一下这个交互的实现逻辑。仔细观察效果图,我的实现方案是:
-
先在最外层放一个div,里面分两个div容器,子容器宽高和父容器相同。 -
返回按钮一个容器,更多操作按钮一个容器,v-if控制。 -
鼠标划入返回按钮时,显示更多操作按钮容器,隐藏返回按钮。 -
鼠标滑出更多返回按钮的整个子容器时,才显示返回按钮,隐藏更多操作按钮容器。因为效果图上可以看出鼠标在更多操作按钮上方空白处滑动,页面并没有变化,超出一定宽高时,才进行恢复。
mouseenter:当鼠标移入某元素时触发。
:当鼠标移出某元素时触发。
mouseover:当鼠标移入某元素时触发,移入和移出其子元素时也会触发。
mouseout:当鼠标移出某元素时触发,移入和移出其子元素时也会触发。
mousemove:鼠标在某元素上移动时触发,即使在其子元素上也会触发。
本文分享自微信公众号 - 前端一起学(gh_3ba18d51f982)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。
来源:oschina
链接:https://my.oschina.net/u/4627303/blog/4547668