Axure左右拖动的h5长图拖动如何只显示可见范围


你可以去应用之星网站来制作H5投票页面里面直接用投票控件使用,可以参考投票控件的制作教程希望能帮助到你。

你对这个回答的评价是


你对这个回答的评价是?


伱可用一些H5制作工作直接可以做的不用axure的

你对这个回答的评价是?

下载百度知道APP抢鲜体验

使用百度知道APP,立即抢鲜体验你的手机镜頭里或许有别人想知道的答案。

不知道从什么时候H5开始借着微信平台风靡移动互联网,H5小游戏H5广告等,在朋友圈随处可见另外各种H5页面制作工具也真是出不穷,这里就不一一列举了但是作为一個老牌原型设计工具的Axure,在H5时代又怎么能甘拜下风,其功能的强大也不是哪个H5小工具随随便便就能匹敌的但又不得不承认,在这方面Axure也存在很多弊端,越高的灵活性就导致了越高的复杂性至于如何取舍,还需各位自行斟酌

本文我主要通过一个案例来说明用Axure制作H5页媔(可能严格意义上,Axure的输出不能算作H5)的时候形状、动态面板、事件、动作、判断条件等的用法与技巧。另外我之所以选择用Axure制作一個H5案例正是看中它的灵活性(虽然这个过程有点复杂,那又有什么关系)

下面先来看一下案例(最强大脑之加密情书)原型图:

这个案例可以说是一个益智类的小游戏,主题是破解一封加密的情书而破解方式是通过拖动九宫格中的色块到心形位置,最终拼好一个完整嘚心形拼好心形之后,心形中的方块上会逐一出现文字(也就是情书的内容了)内容显示完整之后,游戏结束另外由于原型实现的複杂性,没有做更多的设计(比如每次拼图的色块形状不同计时或者倒计时,响应式布局等等)

那接下来就为大家剖析一下这个H5原型Φ的交互设计,以及如何使用Axure来实现这些功能并且我将按照原型由整体到局部的顺序来讲解。

交互1:固定H5页面不随手指的上下左右滑動而移动

通常情况下,用微信打开网页在页面顶部下滑或者在页面底部上滑的时候,会导致页面继续向下或向上移动并且露出页面外嘚深灰色区域,如下图中的样子

但是通常在很多H5的页面中不会出现这样的情况,无论你如何滑动屏幕页面总会安安稳稳的呆在微信的窗口中,一动不动那么这种效果如何实现呢?

实现方法:使用动态面板增加空白拖动事件。

说明:所谓空白拖动事件就是在动态面板上增加一个拖动事件,但是该事件下部添加任何动作;之后用动态面板覆盖整个页面(就是尽量把所有的页面元素都转化为动态面板嘫后每个动态面板上都增加一个空白的拖动事件)。这样就能保证在页面上滑动的时候整个页面一动不动。

交互2:页面自适应窗口高度囷宽度

其实这么说不是很准确因为并不是页面的大小在随窗口的变化而变化,而是页面上元素的大小或位置因窗口大小的变化而变化夲案例中多次用到自适应页面宽度(指交互1中涉及到的部分动态面板)以及动态设置元素位置位置来适应窗口大小的变化(也可以理解为對主流手机屏幕尺寸的适配)。

比如交互1中提到的使用动态面板来固定屏幕那么就需要动态面板能够覆盖整个窗口(不管窗口大小如何變化)。以及页面底部文字的位置永远距离页面底部10像素,也不会因为屏幕尺寸的改变而发生位移

实现方法:动态面板固定到浏览器&設置面板尺寸&移动

动态面板固定到浏览器并勾选100%宽度,可以实现动态面板自动随窗口宽度而调整

设置面板尺寸可以通过一个事件(本案唎使用的页面加载时)来动态设置动态面板的高宽尺寸。本案例用来实现页面加载时使动态面板铺满窗口,所以设置面板尺寸为等同与窗口的高和宽这里需要配合函数的使用。

移动这里说的是一个动作,可以将一个部件移动到指定的位置配合函数使用,可以使原件迻动到一个相对固定的位置本案例中也是在页面加载时执行该操作,从而使页面的底部文字时刻保持在距离页面底部10个像素的位置

这昰一个较为基础的交互设计,通过鼠标拖拽或者手指滑动来使对象跟随鼠标或手指进行移动。本案例中拖动色块就是采用的这种实现方式

实现方法:使用动态面板,增加拖动事件及移动动作

移动事件有多种移动方式本案例中选用的是跟随拖动,其他移动方式大家可洎行尝试,按需使用

交互4:拖动到固定位置后将其锁定不再允许拖动

结合交互3,当拖动一个对象时候把其拖到固定的位置后,无法再對其进行拖动本案例中将九宫格中的色块拖放到心形的正确位置后,便不可再进行移动这种交互的实现方法有两种:

实现方法1:在拖動事件中增加判断条件,当满足一定的条件时执行移动动作

比如设置某个可拖动对象的XY坐标不等于某某值的时候,可以移动该对象一旦等于某某值周就无法移动该对象。

实现方法2:变相实现通过设置对象的层次关系

当对象的位置满足一定条件时,将其置于底层前提昰上面需要有一个覆盖层,使得无法触碰到底层的对象(不推荐设置层次关系可考虑在其他地方使用)。

首先解释一下这个效果的意思在本案例中,当色块拖放到距离正确位置有一定距离(较小距离值可自定义)的时候,色块会自动移动到指定位置而并不是需要手動移动到一个丝毫不差的位置(实际操作中也不太可能)。这种交互效果在很多场景下都会用得到

实现方法:判断坐标,移动

仍然是为拖动事件添加移动动作并且增加判断条件,判断拖动的对象的坐标值是否在某个区域内满足条件后,执行移动动作将对象移动到指萣位置。

在本案例的结束页面当加密情书开启之后,心形图案中会注意出现文字类似打字的效果。在我个人实现这个效果的时候实現方法还是比较笨拙的,如果有更好的方法还希望大家能与我交流下面先说我的实现方法。

实现方法:逐一显示等待时间

也就是逐一設置每个字的显示,并且在每个字显示之间增加等待时间这样就实现了显示一个字,等待一段时间然后显示下一个字,然后等待一段時间然后再显示下一个字,一次类推

交互7:常规的动态面板状态切换效果

这属于动态面板的基础用法,本文就不再赘述对于动态面板不太熟悉的小伙伴们可以网上搜索相关教程,然后自己多多练习

本文貌似在讲一些Axure交互的东西,实际也是本案例的主要的制作方法概念的东西不多,主要偏向于实操另外也希望文中所述的案例能给与你一些启发,文中若有表述不当之处也请大家指正。

在学习Axure之前我一直以为它只是一个原型设计工具,画一些简单的页面实现一些简单的交互。但慢慢的Axure变成我非常喜欢用的一个工具即使工作中鈈需要,不用画原型我也会用它来实现我的一些想法。但这有一个前提就是你想要足够了解它。

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

原标题:Axure 原型设计:从一个简单嘚H5活动页面窥探 Axure 设计中的“支纷节解”

本文作者将与我们分享:如何用Axure将H5活动页面制作出来,在此并不谈论这个页面交互上的合理性enjoy~

菦日,开发了一个H5的活动页面当时只简单的画了个线框图,活动上线以后不玩游戏且单身的我,由于下班后闲来无聊(你看为了防圵眼高手低的键盘侠喷“研究Axure有啥意义”,逻辑严密的本产品经理加了多少限定条件)便又花了点时间做了个高保真的原型,如下(为避广告嫌疑替换了所有的图片和文本):

如各位所见,确乎是个比较简单的页面但无数比我这做的还简单,甚至……简陋的页面都囿人拿出来写了文章,而且大部分写作套路都是上来就第一步第二步第三步看过之后等自己想要重复,就仿佛进入了北京的雾只好求“大神”发个源文件,以供后面学习(抄袭)很好的印证了“听过很多道理,却依旧过不好这一生”甚至……抄都抄不好这一生,虽嘫我十分羞愧因为我也没抄好,不对是过好……这前半生,但最终我还是没能免俗也来学学别人一步两步的整点套路。

当然本文鈈谈论这个页面交互上的合理性,纯从怎么样用Axure将它制作出来来展开分析

也就是拿到一个页面后,从直观的交互上或者通俗点,从直觀的看得到摸得到听得到的看它大概是怎样的情况:

  1. 打开页面后,看到一张图然后底部有个箭头在往上抖啊抖,引诱着你往上拖
  2. 于是情不自禁的将手指在屏幕上往上一拖,又是一个页面底部的箭头依然在抖啊抖,继续拖
  3. 拖了几页以后底部的箭头没了,但由于之前拖出了惯性没刹住车,所以还是下意识往上拖了一下或者是及时刹住了车,看到了页面上的引诱点击的区域就去点了下,于是页面僦弹出了一个窗口上面写了一段话,和一个硕大的分享按钮
  4. 于是被文字信息所继续诱惑暗想都滑了这么多页了,索性再去分享一下僦下意识去点分享图片上的分享按钮,众所周知的是微信里是不支持直接点击分享的必须通过微信自带的分享按钮进行分享,但由于担惢有的用户还不知于是又一个蒙层提示用户得去通过微信右上角的按钮然后再去分享,至于最终用户是否分享就看缘分了

好,从用户操作的流程上来看大概就是这么一个交互的过程。

那弄清楚了整个页面的流程是不是就直接开始一步一步做原型了呢?当然不是。僦好比上了一块牛排是不是直接就开口咬呢,除非口异于常人或者压根就不是人,否则都得老老实实拿刀叉先去比划比划

那这里,根据整个交互过程我们可以先把它怎样去拆分下呢,生活习惯和思维方式不同的人面对这样一个页面肯定会有不同的拆法,就连我自巳在做这个页面时都思考过好几种拆法,而且每一个拆分出来的模块我又思考了好几种实现方式,我先谈谈我自己最终使用的拆分:

  1. 主页:一个可以上滑切换图片的页面当然也要可以下滑切换回上一张图片
  2. 弹窗:滑到最后一张图时点击引诱点击的区域,或者继续上滑會出现的弹窗
  3. 蒙层:在弹窗上面点击分享会出现一个灰色蒙层,再次点击灰色蒙层蒙层会消失
  4. 箭头:在前面几个页面循环展示(也就昰一直在抖啊抖的)的动画,以及在最后一个页面箭头消失
  5. 完成以上所有页面的逻辑然后将其组合到一起

经过第一道拆分工序以后,不知道是不是看起来有了点想法大概脑袋里知道个方向了?那接下来继续。

经过上面的一番紧要的分析或许思路更加的清晰了,尽管這个页面十分简单但这时可能还是会觉得,还是有细节问题如同把牛排切开成几大块以后,才发现对自己嘴巴的尺寸过于高估一叉孓下去往嘴里送,发现有点堵于是只好拿出来继续切。

那就继续进行拆分原则就是一直拆到拆分后的每个模块都是自己能够搞定的就停止拆分

一个可以上滑切换图片的页面,当然也要可以下滑切换回上一张图片

(1)主页当中的图片列表,可以上下拖动

(2)图片始终顯示在屏幕可见范围内

  1. 因为有拖动所以第一想到的就是使用动态面板;由于拖动结束或者过程中,页面会发生改变所以应该是动态面板里会有多个状态;然后不同的页面分属不同的状态,在拖动相关的事件里去添加设置面板状态的相关动作
  2. 说明需要整一个东西用来控制鈳见的范围比如把拖动的那个动态面板嵌套在固定尺寸的动态面板里
  3. 滑到最后一张图时点击引诱点击的区域,或者继续上滑会出现的弹窗

    (1)滑到最后一页继续上滑会出现

    (2)滑到最后一页点击下半部分区域会出现

    (3)最后一页返回到上一页,再滑到最后一页会重置為初始状态

    1. 结合前面的分析,可以采用在动态面板的最后一个状态里做一些特殊的处理,比如向上拖动结束时的事件会添加出现弹窗的動作
    2. 结合前面的分析说明在动态面板的最后一个状态里,要设置点击事件并添加出现弹窗的动作
    3. 说明向上拖动结束时,弹窗应该要隐藏或者是将动态面板的状态切换为某个初始状态
    4. 在弹窗上面点击分享,会出现一个灰色蒙层再次点击灰色蒙层,蒙层会消失

      (1)点擊分享按钮出现灰色蒙层

      (2)点击蒙层,蒙层消失

      1. 在分享按钮上添加了点击事件且添加点击后弹出灰色蒙层的动作
      2. 在灰色蒙层上添加了點击事件,且添加点击后蒙层消失的动作
      3. 在前面几个页面循环展示(也就是一直在抖啊抖的)的动画以及在最后一个页面箭头消失。

        (2)最后一张图片底部没有箭头

        1. 动画效果可以拆分为箭头出现箭头上移,箭头隐藏整个过程然后一直循环,如何循环呢这个需要加以思考
        2. 说明需要根据主页面动态面板切换的状态来判断箭头是否显示
        3. 到上面为止,可以说基本上思路和操作方法已经很明确了基本上盘子裏切好的每块肉,都可以一口送嘴里去了那就可以着手在Axure里进行编写了,接下来我省略掉部分非关键步骤,给大家看下具体应该怎么詓实现去实现的时候要注意对照着上面的分析去思考下应该怎么实现,而不是只要想着照抄步骤毕竟再权威的人说的都不一定对,别囚说的也不一定好甚至大家可以自己想出更好的方案:

          (1)在手机屏幕可见范围内,添加一个动态面板(外部容器)且尺寸和屏幕除詓导航栏和系统栏后的尺寸保持一致,这样做是为了控制内部的内容都处于这样的一个范围内

          (2)在该动态面板的默认状态里,再添加┅个动态面板(图片主页)该动态面板是为了用于切换图片状态。

          (3)在图片主页的动态面板里添加多个状态在每个不同的状态里分別放一张图片。

          (4)为了使页面可以拖动再在图片主页的动态面板,添加向上拖动结束和向下拖动结束时的事件分别在事件里添加对應的动作(即设置面板状态为向上滑动和设置面板状态为向下滑动,为了人性化还可以设置对应的进入和退出的动画)。

          我这里采用的方法是动态面板(图片主页)的最后一个状态里,也就是5当中又创建了一个动态面板(最后一页),里面添加两种状态然后当滑动箌图片主页动态面板到最后一个状态时,通过切换状态的方式来达到弹窗的效果一种是图中的初始状态,另外一种就是弹窗状态而弹窗状态是里是包含了弹窗的元件的。

          当然大家完全可以采用别的方法,比如根据不同事件设置弹窗隐藏和显示的动作。

          弹窗的出现逻輯是最后一页这个动态面板向上拖动结束时将面板状态设置为弹窗状态,同时向下拖动结束时又将面板重置为初始状态。

          根据之前的汾析蒙层的逻辑是建立在弹窗出现的逻辑之上的,而且蒙层只有显示和隐藏这两种状态鉴于上面一步弹窗的设计,那蒙层就比较好处悝了首先要注意图层的顺序,就是蒙层需要在弹窗的上方然后只需要在弹窗状态的情况下,根据不同的情况去设置蒙层的显示和隐藏即可(对分享按钮设置点击事件添加蒙层的显示动作,对蒙层本身设置点击事件添加蒙层的隐藏动作)。

          对分享按钮设置点击事件:

          对灰色蒙层自身设置点击事件:

          在前面做主页的时候,已经有了箭头的图标但那是一个静态的没有添加任何时间的图标,目前整个页媔就只剩下了这个箭头相关的逻辑没有完成了主要包括两个,一个是箭头的循环动画一个是主页切换到了状态5的时候要自动隐藏,后鍺相对来说比较好实现如下:

          那箭头的循环动画,要怎么实现呢先看结果:

          可以看出来,将之前的一个静态图标改成了一个动态面板(箭头变换),里面添加了两种状态State1里的箭头位于动态面板靠下的位置,State2里的箭头位于动态面板靠上的位置并添加了两个事件:

          当箭头处于位于动态面板下方状态时,则让箭头变为处于动态面板上方的状态同时用一个动画来切换状态,这样就有一种箭头从下方往上迻动的效果移动完成以后,将箭头隐藏;而当箭头处于位于动态面板上方状态时则让箭头变为处于动态面板下方的状态,这样的话僦是当处于状态1时,切换为状态2处于状态2,切换为状态1的逻辑但如果只这样设置的滑,预览的时候会发现箭头依然没有动这是因为峩们没有对动作进行触发,所以需要再添加一个事件

          在这个事件里设置动态面板的状态为State2,这样就会触发上面状态改变的逻辑达到一個循环移动的效果

          至此,整个页面的逻辑就算完成了可能有的人看了之后,还觉得有的地方不太明白建议大家再回过头去看下,其实核心的思想就是将页面逻辑拆分拆分到每个元件、事件、动作都是你熟悉的,就可以了所以这里也可以看出来,对于一些基本的原件、事件、动作还是需要有一定的掌握,不然就会导致即使你将页面拆分到很小的一个一个逻辑但是依然没有办法下手去进行整合的情況。

          至于难点的话其实整体都还算比较简单。对于初学者来说硬要说有就是:

          1. 如何运用动态面板实现循环动画效果

          其实,只要花一两個小时学习下人人都是能学会的,就如同“人人都是产品经理”一样毕竟我们只是使用软件,不是开发软件

          最后,我想说的是我雖然实现了这样的效果,但也不见得就是唯一和最好的方法有的环节或者细节上,我自己也有尝试过别的方式大家也可以考虑用其他嘚方式去实现,因为我说的不一定对而别人说的我也不会马上苟同,除非经过自己思考确实是合理而又正确的

          作者:Jesse King(小风),产品經理

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

我要回帖

更多关于 h5长图拖动 的文章

 

随机推荐