前言部分

目前市面上小程序越来越多,微信,支付宝,头条都推出了自己的小程序,但是由于微信小程序是最开始的,小程序刚出的时候我也了解过,当时写了个demo也写了一个小的新闻客户端,当时觉得小程序还是有点弱,所以后来就没在关注过小程序的发展,现在随着小程序的崛起(微信说线上小程序超过100万个了),这次下决心好好熟悉一下小程序的开发流程,可能不能全部都熟悉到,所以看到哪里就写到哪里吧。

常规操作,来图镇楼

内容部分

我主要实现一个类似Mac的屏幕保护效果,就是图片淡入淡出的效果吧。

这里主要用到的知识点:

  1. 动画的使用(Animation wx.createAnimation(Object object))
  2. view使用本地图片最为背景布局
  3. 一些零碎的知识点如:图片如何填充小程序的页面

这里主要介绍的部分说动画部分

如果只是切换图片很简单,但是因为我们需要加上一个渐入的动画效果,所以就稍微麻烦了一些。

我的方案:

首先我其实是使用了两个布局图片,一个是前景一个是后景,原因主要是为了让动画看起来更连贯自然。

下面是代码:

<!--index.wxml-->
<view class='imagesize' style="background:url('{{imageSrcBack}}') no-repeat;background-size:100% 100%;"><image src = '{{imageSrc}}' class='back_image' animation="{{attentionAnim}}"></image><view class ='child' bindtap='jumpImage' >登陆</view>
</view>

上面注意:view的background使用本地图片是通过URL来实现,据说因为背景似乎不支持本地图片的原因。

image标签是添加了animation属性,这里就是我们设置动画的地方。

下面看一下js中的代码:

//渐入,渐出实现 show: function (that) {var attentionAnim = wx.createAnimation({duration: 500,timingFunction:'linear'});var imageSrcTemp//设置循环动画that.attentionAnim = attentionAnimvar next = true;//这里面方法重复调用setInterval(function () {that.data.count++var index = that.data.count % 3console.log("动画" +"---" + index)that.attentionAnim.opacity(0).step()that.setData({//导出动画到指定控件animation属性attentionAnim: attentionAnim.export(),// imageSrc: that.data.imageSrcSet[index],imageSrcBack: that.data.imageSrcSet[index],})that.attentionAnim.opacity(1).step()setTimeout(function () {that.setData({attentionAnim: attentionAnim.export({duration: 3}),imageSrc: that.data.imageSrcSet[index],})}, 500)}.bind(that), 5000)},
  1. 上面的内容需要注意的地方是,为了使动画连续的动起来我使用了setInterval函数来定期调用动画设置的方法。

  2. 需要注意的是我其实播放了两次动画,因为我需要想染上一个图隐藏,设置完下一个图片后在让他显示出来,然后上面说到的view标签的background就是为了过度整个渐入效果使用的。

  3. view的background设置的下一个将要显示的图片,当前图片消失后正好下一个正好显示出来,完美过渡。

  4. 第二个动画是为了把image在恢复成不透明的样式。

  5. 如上循环即可完成。

下面部分是我定义的变量,可以对照看比较好理解啦,虽然代码本来就没几行。哈哈

data: {jumpimage:'跳转到ocr页面',attentionAnim: {},imageSrc:"/image/one.jpg",imageSrcBack:"/image/tow.jpg",count:0,imageSrcSet: ["/image/one.jpg","/image/tow.jpg","/image/three.jpg",]},

结束部分

其实你会发现似乎前端的动画和android的动画都很相似,只是一些效果不一样,但是这个效果还是花费了较多的时间,主要是对中间的过度不满意,所以一致在调整这个效果。


补充一点:

view的背景图片在真机上没法显示的,所以我们在真机上需要把本地的图片链接设置成网络链接才行。我的效果图是在模拟器上所以不会出现问题。

或者

也可以把图片转码成base64格式进行设置

后续会更新一些小程序的坑,就当学个新技能了,顺便留下点东西(笔记)。

有问题欢迎纠正,谢谢啦

如果对你有帮助就点个赞把。

微信小程序学习:动画实现幻灯片播放照片效果相关推荐

  1. 2020微信小程序学习报告.2.17-3.1.(三)

    微信小程序学习报告应学校课程要求,特此记录首先,小程序知识点: wx.request的使用:发https请求,一个小程序同时只能有5个网络请求,https的参数里,url是接口地址,method是请求 ...

  2. 微信小程序音频相关问题:播放,录音等相关

    其实我也知道音频问题,十分尴尬,可以参考的资料极少,研究者也不多,所处的教程也基本是基础的内容,稍微深入几乎一篇都没有:所以前段时间我就准备弄的东西,一直没弄,因为没资料去弄,但是今天,看到一个同学遇 ...

  3. 微信小程序练手项目-音乐播放器

    微信小程序练手项目-音乐播放器 该项目只适合练手,大佬请绕道 项目展示图: 项目介绍 微信小程序音乐播放器 页面: 音乐推荐.播放器.播放列表 功能: 播放.暂停.上一首.下一首.跳转播放列表.实时进 ...

  4. 微信小程序学习(1)-基础开发

    学习微信小程序 微信小程序学习(1) 微信小程序学习(2) 文章目录 学习微信小程序 注册和初始化 小程序配置 tabbar导航栏 模板插样与WXML 循环渲染 条件渲染 模板 微信小程序脚本WXS ...

  5. 微信小程序:公告字幕滚动播放(文字跑马灯效果)

    一.需求 公告文字仅限200字 公告内容仅限一行文字显示 公告内容持续滚动 二.解决思路 使用动画API(Animation.translate),完成移动动画 使用定时器API(setInterva ...

  6. 微信小程序学习Course 8 本地缓存API

    微信小程序学习Course 8 本地缓存API 本篇随笔主要介绍微信小程序本地缓存API函数,微信小程序可以在本地缓存一些关键词数据,每一条关键词对应一段字符串.微信小程序提供了以下API函数. 8. ...

  7. uniapp 判断页面是否是横竖屏,解决微信小程序video组件全屏播放视频遮盖自定义播放控件问题

    如果res.deviceOrientation 等于landscape 的话是竖屏,portrait则是横屏.因为用户每旋转一次屏幕就会触发里面的onShow钩子,因此在页面显示或横竖屏变化都会触发这 ...

  8. 微信小程序js数组初始化_微信小程序学习Course 3-2 JS数组对象学习

    微信小程序学习Course 3-2 JS数组对象学习 本节主要介绍JS中的数组. 3-2.1 数组的声明 数组声明的方式多种,如下例.一般我们可以先创建一个空数组,然后再填充. var names = ...

  9. 小程序 pagescrollto_微信小程序学习笔记(三)-- 首页及详情页开发

    一.常用组件 在上一个章节中讲解了封装请求数据的模块,在此处请求轮播图的数据 1.首页轮播图数据的请求以及渲染 1.1 轮播图数据的请求 pages/home/home.js import 2 使用组 ...

最新文章

  1. syslog打印不带等级_printk的日志级别和控制台级别
  2. 使用OpenCV进行直播(附代码)
  3. 11月12日云栖精选夜读 | 2135亿!新技术的力量刚刚开始
  4. Navicat远程连接不上mysql解决方案
  5. c语言系统主函数流程图,C语言程序设计——成语学习系统
  6. linux apache 负载均衡,使用Apache作为前端负载均衡器
  7. 列赋值为列表_Pandas入门-3-新增数据列操作
  8. HTML中id和name的区别(js中的注意事项)
  9. Blocks in Objective-C
  10. cuda 镜像_AMDamp;Intel双平台黑苹果镜像安装包Catalina 10.15.0(19A583)加强版
  11. Windows 生成ffmpeg安卓全平台so
  12. java nlpir_1---------java调用NLPIR(ICTCLAS2016)实现分词功能
  13. SpringBoot大学毕业生就业信息管理系统
  14. python暑假培训班
  15. 最后一篇美国回忆-终结篇
  16. 感受野的含义及计算方法
  17. 求绝对值(调用函数)
  18. java仙侠回合制单机游戏_2019回合仙侠手游排行榜 好玩的回合制单机仙侠手游推荐...
  19. 8255a初始化c语言程序,单片机8255型号大全(工作字的选择,单片机连接,初始化程序分析)...
  20. 1核1g1m服务器相当于什么性能,1核1g1m的云服务器能干嘛

热门文章

  1. IDL开发(一)——水体营养指数
  2. 三星宣布调查Galaxy S9向随机联系人发送照片事件
  3. XML和JSON 已经常用的解析工具
  4. 来自灵魂深处的拷问:人为什么要活着?
  5. 中间人攻击工具(Xerosploit)
  6. Unity中替换模型的方法
  7. 【火炉炼AI】机器学习012-用随机森林构建汽车评估模型及模型的优化提升方法
  8. 概率密度函数的参数估计
  9. Oracle特殊字符转义
  10. 鼠标光标变成了一个点