Axure教程:屏幕纵向切换

31 评论 13582 浏览 47 收藏 6 分钟

通过鼠标滚轮的前滚及后滚操作,实现屏幕纵向的上翻页和下翻页效果,其实不难。一起来学习吧。

一、原型效果

二、准备工作

本文原型是在1366*768分辨率下完成的。

元件

  • 矩形:2个,矩形1和矩形2。其中,矩形1为顶部导航条,矩形2为底部导航条。两个矩形的大小都为1366*51。
  • 图片:4张,每张大小为1366*589。
  • 热区:4个,分别命名为Anchor1、Anchor2、Anchor3、Anchor4。这四个热区元件用来作为窗口滚动到指定图片的锚点。大小为50*51。

全局变量

CurPic:表示当前屏幕显示的是第几幅图片。页面载入时,这个变量为1,即第一幅图片。当判断出是上翻页、还是下翻页后,可以根据这个变量,决定下一个页面。

CurScrolly:表示当前窗口滚动的纵向坐标。页面载入时,这个变量为0。鼠标滚轮滚动后,会有一个滚动到的纵向坐标[[Window.scrollY]],比较这个坐标和本变量,就可以判断出是向下滚轮,还是向上滚轮。

Lock:表示页面滚动的锁定状态。这个变量为0,表示未锁定,可以滚动;为1则表示锁定,页面不可以滚动了。页面载入时,这个变量为0。此变量很关键,可以防止“窗口滚动时”频繁被触发(感兴趣的同学可以删除这个变量,体验下风中凌乱的效果)。

三、制作步骤

1、把元件摆好

从上到下,首尾相连依次为矩形1(顶部导航)、图片1、图片2、图片3、图片4、矩形2(底部导航)。Anchor1放在(x=0,y=0)的位置也就是图片1的左上方,Anchor2放在图片2的左上方,依次类推。

在矩形1(顶部导航)上点击鼠标右键,转换成动态面板,并设置动态面板固定到浏览器左上方。这样一来,窗口在滚动时,顶部导航会一直保持在浏览器顶部。

2、窗口滚动的判断处理

对页面的属性“窗口滚动时”进行处理。如果窗口滚动后的纵坐标[[Window.scrollY]]大于当前窗口滚动的纵向坐标CurScrolly,则可以判定为向下翻页。

如果当前显示的是图片1,并且滚动没有被锁定:

则控制窗口垂直滚动到图片2的锚点Anchor2的位置。同时,也需要设定当前显示的图片为图片2,当前窗口滚动的纵向坐标CurScrolly为Anchor2的位置。还有一个最重要的设定,那就是把滚动锁Lock锁上1000毫秒。

如果当前显示的是图片2,可以参照上面介绍的图片1进行类似处理。

如果窗口滚动后的纵坐标[[Window.scrollY]]小于当前窗口滚动的纵向坐标CurScrolly,则可以判定为向上翻页。至于向上翻页的处理,和向下翻页类似,这里不再赘述。

完整处理:

四、简单总结

本原型比较简单,感兴趣的同学可以继续在此基础上扩展练习,比如增加可以手动切换图片的四个点状按钮。

有同学质疑:产品经理是否需要制作复杂的原型呢?交给开发做好了。的确,原型不是万能的。但是,掌握一些原型制作的技巧,对产品经理来说,无疑是个加分项。

 

本文由 @pahelia 原创发布于人人都是产品经理。未经许可,禁止转载。

更多精彩内容,请关注人人都是产品经理微信公众号或下载App
海报
评论
评论请登录
  1. 我照着做了 但是没出来效果 有大佬帮我找到原因了QAQ!!!分享给大家 可以自检一下
    就是创建的变量值需要给它们设置默认值,对应数值如下:
    CurPic:1
    CurScrolly:0
    Lock:0

    来自湖北 回复
  2. 求源文件 我也是照着做了 一模一样啊但就是没效果
    315091820@qq.com

    来自湖北 回复
  3. 你好,可以发一下源文件吗?万分感谢!1559822982@qq.com

    来自上海 回复
  4. 我用Axure9版本跟着做,还是实现不了,我也不太明白全局变量的名称是不是系统的还是自己写上去,还有CurPic==1,1是局部变量的图片1的意思吗,楼主请发一份源文件给我参考下,邮箱是1042333676@qq.com,谢谢(要是楼主能出个视频讲解就更好了)

    来自广东 回复
  5. 过了好几年再要源文件是不是要不到啦(灬ꈍ ꈍ灬)

    来自北京 回复
  6. 亲,想要记得源文件😳😊1162857282@qq.com

    回复
  7. 你好,可以发一下源文件吗?万分感谢!1396539901@qq.com

    来自北京 回复
  8. 比较不明白的是CurPic、Lock这些变量的值是自己设定的还是系统的啊,为啥系统里面没找到,自己设定如何设定呢

    来自北京 回复
    1. 对于Axure8,打开顶部菜单的“Project”->”Global Variables…”,然后在其中增加自定义的全局变量。

      来自上海 回复
  9. LZ 能发下源文件吗 谢谢 805406719@qq.com(照着做效果出不来)

    来自四川 回复
    1. 已发,请查收

      来自上海 回复
    2. 源文件能发我吗,1042333676@qq.com,谢谢

      来自广东 回复
    3. 您好 请问源文件还在吗 可以给我一份吗 求315091820@qq.com

      来自湖北 回复
  10. 照着做了没效果,求源文件,谢谢,着急用,372257417@qq.com!谢谢

    来自上海 回复
    1. 已发,请查收

      来自上海 回复
    2. 您好 请问源文件还在吗 可以给我一份吗 求315091820@qq.com

      来自湖北 回复
  11. 怎么都出不来效果,我在做的项目需要这个效果,好急,作者能不能给个原件啊 😥

    来自北京 回复
    1. 给个邮箱

      回复
    2. 2513328849@qq.com 万分感谢!!!!!!

      来自北京 回复
    3. 您好 请问源文件还在吗 可以给我一份吗 求315091820@qq.com

      来自湖北 回复
    4. 2513328849@qq感谢

      来自北京 回复
  12. [[Window.scrollY]],这个纵向坐标是要自己设置吗?实际操作的时候有点懵~~~

    来自河南 回复
    1. 这个坐标是系统自带的变量,在设置条件时,可以选择的。

      来自上海 回复
  13. 为什么我找不到好多东西呢,例如:滚动事例,还有第二个设置值~~~~~~~~,是改版本了吗?

    来自江苏 回复
    1. 滚动事例是页面的属性,可以点击页面的空白地方

      来自上海 回复
  14. 为什么没有效果啊?

    来自山东 回复
    1. 是鼠标滚动没反应吗

      回复
    2. 设置完毕后,鼠标滚动无反应,求指教。

      来自四川 回复
    3. 首先可以写个简单的计划测试下页面的“窗口滚动时”事件是否生效,比如可以在窗口滚动时,设置一个TXT文本控件的内容,看看TXT文本内容是否发生改变;
      如果生效了,再检查具体的窗口滚动事件内容代码

      来自上海 回复
  15. 我找了好长时间,就是不知道这个叫什么名字,现在终于找到了

    来自四川 回复
    1. 我也是摸索了一阵才调试好

      回复