前言部分

目前市面上小程序越来越多,微信,支付宝,头条都推出了自己的小程序,但是由于微信小程序是最开始的,小程序刚出的时候我也了解过,当时写了个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. 腾讯最新开源项目登上GitHub热榜:QQ音乐等18项业务都在用,日均PV过亿
  2. 百练OJ:2808:校门外的树
  3. ICallbackEventHandler使用
  4. filter in Fiori HANA live report
  5. MFC中给单文档程序添加背景图片
  6. leetcode题解48-旋转图像
  7. jq post 表单提交文件_Power Query 中使用POST方法进行网络抓取的尝试
  8. php mysql交互实例_php基于session实现数据库交互的类实例
  9. 股票历史数据-股票历史行情数据下载
  10. SVM多分类原理学习
  11. OSPF 多区域配置实例学习记录
  12. Pr---文字过多时显示不全和背景音乐过度处理(简单记录)
  13. 解决雷神笔记本风扇声音太响太吵问题
  14. python程序员专用壁纸_配置最漂亮的PyCharm界面,Python程序员必备!
  15. 通过Java向数据库存和取图片
  16. 实现类似微信中查找“附近的人”的功能!
  17. 方差分析 可汗学院统计学 笔记
  18. matlab如何求变换矩阵,如何用Matlab实现机器人的变换矩阵
  19. (四) l立创EDA之封装库的创建
  20. 易语言WEB开发教程3 模块化开发-常量

热门文章

  1. JavaWebDay11_BootStrap概述,快速入门,常用样式组件插件
  2. 【Linux】ln: failed to create symbolic link ‘*.so’: Operation not supported
  3. LINK : fatal error LNK1104: 无法打开文件“mfc140u.lib” 错误解决方案
  4. 【压缩感知合集6】压缩感知为什么可以恢复信号;为什么需要满足稀疏性条件、RIP条件、矩阵不相关等限制条件才可以恢复信号的逻辑分析
  5. Configuration 'compile' is obsolete and has been replaced with 'implementati解决方案
  6. ​第3大品牌「鞋王」沦陷,看历史王者的产品史
  7. 微软surface laptop2系统安装
  8. (2.6w字)网络知识点灵魂拷问(下)——前端面试必问
  9. optaplanner学习笔记(九)分数计算表现技巧
  10. python黑洞数——超简单方法O