微信小程序学习:动画实现幻灯片播放照片效果
前言部分
目前市面上小程序越来越多,微信,支付宝,头条都推出了自己的小程序,但是由于微信小程序是最开始的,小程序刚出的时候我也了解过,当时写了个demo也写了一个小的新闻客户端,当时觉得小程序还是有点弱,所以后来就没在关注过小程序的发展,现在随着小程序的崛起(微信说线上小程序超过100万个了),这次下决心好好熟悉一下小程序的开发流程,可能不能全部都熟悉到,所以看到哪里就写到哪里吧。
常规操作,来图镇楼
内容部分
我主要实现一个类似Mac的屏幕保护效果,就是图片淡入淡出的效果吧。
这里主要用到的知识点:
- 动画的使用(Animation wx.createAnimation(Object object))
- view使用本地图片最为背景布局
- 一些零碎的知识点如:图片如何填充小程序的页面
这里主要介绍的部分说动画部分
如果只是切换图片很简单,但是因为我们需要加上一个渐入的动画效果,所以就稍微麻烦了一些。
我的方案:
首先我其实是使用了两个布局图片,一个是前景一个是后景,原因主要是为了让动画看起来更连贯自然。
下面是代码:
<!--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)},
上面的内容需要注意的地方是,为了使动画连续的动起来我使用了setInterval函数来定期调用动画设置的方法。
需要注意的是我其实播放了两次动画,因为我需要想染上一个图隐藏,设置完下一个图片后在让他显示出来,然后上面说到的view标签的background就是为了过度整个渐入效果使用的。
view的background设置的下一个将要显示的图片,当前图片消失后正好下一个正好显示出来,完美过渡。
第二个动画是为了把image在恢复成不透明的样式。
如上循环即可完成。
下面部分是我定义的变量,可以对照看比较好理解啦,虽然代码本来就没几行。哈哈
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格式进行设置
后续会更新一些小程序的坑,就当学个新技能了,顺便留下点东西(笔记)。
有问题欢迎纠正,谢谢啦
如果对你有帮助就点个赞把。
微信小程序学习:动画实现幻灯片播放照片效果相关推荐
- 2020微信小程序学习报告.2.17-3.1.(三)
微信小程序学习报告应学校课程要求,特此记录首先,小程序知识点: wx.request的使用:发https请求,一个小程序同时只能有5个网络请求,https的参数里,url是接口地址,method是请求 ...
- 微信小程序音频相关问题:播放,录音等相关
其实我也知道音频问题,十分尴尬,可以参考的资料极少,研究者也不多,所处的教程也基本是基础的内容,稍微深入几乎一篇都没有:所以前段时间我就准备弄的东西,一直没弄,因为没资料去弄,但是今天,看到一个同学遇 ...
- 微信小程序练手项目-音乐播放器
微信小程序练手项目-音乐播放器 该项目只适合练手,大佬请绕道 项目展示图: 项目介绍 微信小程序音乐播放器 页面: 音乐推荐.播放器.播放列表 功能: 播放.暂停.上一首.下一首.跳转播放列表.实时进 ...
- 微信小程序学习(1)-基础开发
学习微信小程序 微信小程序学习(1) 微信小程序学习(2) 文章目录 学习微信小程序 注册和初始化 小程序配置 tabbar导航栏 模板插样与WXML 循环渲染 条件渲染 模板 微信小程序脚本WXS ...
- 微信小程序:公告字幕滚动播放(文字跑马灯效果)
一.需求 公告文字仅限200字 公告内容仅限一行文字显示 公告内容持续滚动 二.解决思路 使用动画API(Animation.translate),完成移动动画 使用定时器API(setInterva ...
- 微信小程序学习Course 8 本地缓存API
微信小程序学习Course 8 本地缓存API 本篇随笔主要介绍微信小程序本地缓存API函数,微信小程序可以在本地缓存一些关键词数据,每一条关键词对应一段字符串.微信小程序提供了以下API函数. 8. ...
- uniapp 判断页面是否是横竖屏,解决微信小程序video组件全屏播放视频遮盖自定义播放控件问题
如果res.deviceOrientation 等于landscape 的话是竖屏,portrait则是横屏.因为用户每旋转一次屏幕就会触发里面的onShow钩子,因此在页面显示或横竖屏变化都会触发这 ...
- 微信小程序js数组初始化_微信小程序学习Course 3-2 JS数组对象学习
微信小程序学习Course 3-2 JS数组对象学习 本节主要介绍JS中的数组. 3-2.1 数组的声明 数组声明的方式多种,如下例.一般我们可以先创建一个空数组,然后再填充. var names = ...
- 小程序 pagescrollto_微信小程序学习笔记(三)-- 首页及详情页开发
一.常用组件 在上一个章节中讲解了封装请求数据的模块,在此处请求轮播图的数据 1.首页轮播图数据的请求以及渲染 1.1 轮播图数据的请求 pages/home/home.js import 2 使用组 ...
最新文章
- syslog打印不带等级_printk的日志级别和控制台级别
- 使用OpenCV进行直播(附代码)
- 11月12日云栖精选夜读 | 2135亿!新技术的力量刚刚开始
- Navicat远程连接不上mysql解决方案
- c语言系统主函数流程图,C语言程序设计——成语学习系统
- linux apache 负载均衡,使用Apache作为前端负载均衡器
- 列赋值为列表_Pandas入门-3-新增数据列操作
- HTML中id和name的区别(js中的注意事项)
- Blocks in Objective-C
- cuda 镜像_AMDamp;Intel双平台黑苹果镜像安装包Catalina 10.15.0(19A583)加强版
- Windows 生成ffmpeg安卓全平台so
- java nlpir_1---------java调用NLPIR(ICTCLAS2016)实现分词功能
- SpringBoot大学毕业生就业信息管理系统
- python暑假培训班
- 最后一篇美国回忆-终结篇
- 感受野的含义及计算方法
- 求绝对值(调用函数)
- java仙侠回合制单机游戏_2019回合仙侠手游排行榜 好玩的回合制单机仙侠手游推荐...
- 8255a初始化c语言程序,单片机8255型号大全(工作字的选择,单片机连接,初始化程序分析)...
- 1核1g1m服务器相当于什么性能,1核1g1m的云服务器能干嘛