想必很多人已经见过浮动固定菜单和楼层导航的案例,浮动固定菜单的场景非常的常见,人人都是产品经理的产品经理导航httpdh.woshipm.com就是一个典型的浮动固定菜单的场景,当窗口向下滚动超过一定距离时,菜单栏固定在浏览器窗口的最上方

  当一个页面内容较多时,我们又经常以楼层的方式快速导航,并且在页面的右下角有一个返回到顶部的按钮。单击对应的楼层按钮,快速定位到该楼层,这在一些电商网站中出现较多,例如京东网首页

  今天,我们结合浮动固定菜单栏和楼层导航,实现同一界面内的锚点定位,完成后的效果图如下

  单击这里

  从这个例子里,我们可以掌握的知识点有如下几个关于动态面板固定到浏览器属性的应用浮动固定菜单栏的设置技巧滚动到元件动作的应用窗口滚动时事件的处理自动适应窗口宽度的设置

  添加一个无边框灰色矩形框,大小,命名title,位置在,,模拟菜单栏。

  复制这个矩形框,命名为menu,模拟位于顶部的浮动固定菜单,位置在,右键转换为动态面板,命名为floattitle,右键设置顺序为置于顶层,完成后的效果如下

  添加一个矩形框,大小,双击设置文字为一楼,右键设置交互样式鼠标经过时填充色为深灰色

  再设置选中状态的样式为蓝底白字

  复制这个按钮个,分别修改文字内容为二楼到八楼,自上而下顺序排列

  给个按钮分别命名button到button,选中这个矩形,右键设置选项组为buttons

  然后再右键转换为动态面板,命名为floatpanel,放在,处。

  我们使用大的矩形块来模拟每一个楼层,添加一个矩形框,大小,双击设置文字内容为一楼,命名为floor,复制floor总共个复制这么多是让窗口在垂直方向有足够多的楼层,让页面出现垂直滚动条,修改名称分别为二楼到八楼,依次从上到下排列,间距设置为。选中这个矩形,右键转换为动态面板,命名为floors,放在,处,完成后的效果图如下

  添加一个矩形,大小,右键转换为动态面板,命名为backtop,移动,处,完成后的效果图如下

  在初始状态下,顶部浮动固定菜单栏和回到顶部按钮是不可见的,只有在窗口向下滚动一定距离后才出现,因此我们先将这两个动态面板隐藏起来浅黄色部分是隐藏的动态面板

  到这里我们已经完成示例中所有的布局部分,下面来开始处理事件。

  有几个动态面板的固定到浏览器属性需要设置一下,以便于在显示时能按照设置的属性显示。

  顶部菜单栏的固定到浏览器属性水平居中,垂直居上

  左侧楼层导航按钮的固定到浏览器属性水平居左,垂直居中

  返回顶部按钮的固定到浏览器属性水平居右,边距,垂直居下,边距

  这里包括以下几个事件需要处理

  为了界面更加美观点,在页面初始化事件里,我们将菜单栏设置和当前窗口一样的大小,将楼层内容的大小设置为比窗口宽度小一点并且居中显示。

  因为有个楼层,我们通过一个全局变量来设置一下值,所有楼层宽度减去这个值,设置统一宽度,全局变量名为distance,默认值为

  在页面空白处点击,在右侧属性里给页面添加页面载入时事件

滑动轴承座(很实用的干货|浮动固定菜单与楼层导航实践)

  添加页面载入时事件先显示左侧的楼层导航动态面板设置菜单栏title和隐藏的浮动菜单栏的menu的大小,宽度为窗口宽度Window.width,高度保持不变设置个楼层的宽度为窗口宽度关于distance值,即Window.widthdistance,高度保持不变为。移动个楼层所在的动态面板位置在水平中央位置通过变量设置楼层的水平位置添加局部变量LVAR,指向楼层所在的动态面板水平位置计算方式为Window.widthLVAR.width,即窗口宽度减去楼层宽度再除以

  窗口在滚动起过标题栏的位置后,显示浮动固定菜单栏和返回顶部按钮

  添加窗口滚动时事件添加条件,如果窗口滚动距离Window.scrollY则显示浮动固定菜单栏和回到顶部的按钮触发控制按钮control的单击事件见后面说明

  否则就隐藏浮动固定菜单栏和回到顶部的按钮

  添加个热点区域control,大小,添加单击事件,判断窗口滚动位置,设置对应按钮为选中状态

  给楼层导航的第一个按钮添加单击事件,单击后滚动元件到顶部菜单title,配合线性动画

  选择导航一楼按钮添加鼠标单击事件设置滚动到元件动作选择滚动到floor设置仅垂直滚动,配合线性动画设置当前按钮为选中状态

  其它个按钮依次选择滚动到floor到floor。

  回到顶部按钮事件与导航按钮事件相同,只是滚动到标题栏title

  所有布局和事件都已经处理完成,可以F预览一下看看效果了!

  如果觉得有帮助就赞一下哦