不管是老用户还是新用户,在产品发布新版本、有新功能上线、或是现有功能更新的场景下,都需要一定的指导。功能引导组件就是互联网产品中的指示牌,它旨在带领用户参观产品,帮助用户熟悉新的界面、交互与功能。

实现

弹出层定位到锚点

实现新手指引比较复杂的一块是弹出层定位到锚点。非 fixed 定位的锚点,随着页面滚动,锚点位置会变。

实现方式:弹出层 Portal 到 锚点元素同一个 offsetParent 下,用绝对定位来做,这样就会自动跟着滚了。如果锚点是 fixed 定位的,那 Portal 元素也 fixed 定位即可。

我以前的实现方式比较傻,弹出层通过 fixed 定位来做的,锚点所在的元素滚动时,要通知弹出层重新算锚点算位置。

其他内容的实现

Hi~ 这将是一个通用的新手引导解决方案 字节跳动出品。新手引导组件:Github