参考链接:
(1)详解微信小程序实现跑马灯效果(附完整代码)
https://www.jb51.net/article/160412.htm
(2)初学者微信小程序—实现图片轮播效果
https://blog.csdn.net/qq_42594368/article/details/88659743
(3)微信小程序-使用swiper和css实现卡牌左右滑动切换、翻牌效果
https://blog.csdn.net/vinos_toby/article/details/90669406
(4)微信小程序实现卡片左右滑动效果的示例代码
https://www.jb51.net/article/160569.htm

一、文字跑马灯

在微信小程序里实现跑马灯效果,类似滚动字幕或者滚动广告之类的,使用简单的CSS样式控制,没用到JS,效果如下图:

wxml文件

<!--跑马灯 Linyufan.com-->
<view class="marquee_container" style="--marqueeWidth--:-12em"><view class="marquee_text">一个人活着就是为了让更多的人更好的活着!</view>
</view>
<!--跑马灯-->

wxss文件

/*首页跑马灯效果*/
@keyframes around {from {margin-left: 100%;}to {/* var接受传入的变量 */margin-left: var(--marqueeWidth--);}}
.marquee_container{background-color: #fe4655;height: 50rpx;line-height: 44rpx;position: relative;width: 100%;margin-top:0rpx;
}
.marquee_container:hover{/* 不起作用 */animation-play-state: paused;
}
.marquee_text{color:#fff;font-size: 28rpx;display: inline-block;white-space: nowrap;animation-name: around;animation-duration: 10s; /*过渡时间*/animation-iteration-count: infinite;animation-timing-function:linear;
}
/*首页跑马灯效果*/

二、图片轮播图/图片跑马灯

效果图

wxml文件

<!--轮播图-->
<view><swiper class='lunbo' indicator-dots='true' autoplay='true' interval='4000'><swiper-item> <image src='../images/a.jpg'></image> </swiper-item><swiper-item> <image src='../images/b.jpg'></image></swiper-item><swiper-item> <image src='../images/c.jpg'></image> </swiper-item></swiper>
</view>

注:参数详解

wxss文件

.lunbo{width:100%
}
.lunbo image{width:100%
}

三、卡片左右滑动切换、翻牌效果

效果图(演示视频效果见 https://www.duoguyu.com/smart/27.html)

滑块功能:使用了微信小程序组件-滑块视图容器 Swiper (查看官方文档)。

翻牌旋转效果:使用了Css3的一些属性:perspective、backface-visibility、transform等(参考链接:《Css3实现翻牌效果》DEMO源码 https://www.jq22.com/webqd4252?v=duoguyu.com)

perspective:3000rpx;  /*perspective 属性定义 3D 元素距视图的距离,以像素计。该属性允许您改变 3D 元素查看 3D 元素的视图。
当为元素定义 perspective 属性时,其子元素会获得透视效果,而不是元素本身。*/
backface-visibility:hidden;  /*背对屏幕时隐藏*/
transform-style: preserve-3d;  /*子元素将保留其3D位置。*/
transform:rotateY(180deg);  /*定义沿着Y轴的3D旋转。*/

源码Demo下载地址:https://www.duoguyu.com/smart/27.html

四、卡片左右滑动

效果图

  • 思路
    从上面的效果图来看,基本的需求包括:
    左右滑动到一定的距离,就向相应的方向移动一个卡片的位置。
    卡片滑动的时候有一定的加速度。
    如果滑动距离太小,则依旧停留在当前卡片,而且有一个回弹的效果。
    看到这样的需求,不熟悉小程序的同学,可能感觉有点麻烦。首先需要计算卡片的位置,然后再设置滚动条的位置,使其滚动到指定的位置,而且在滚动的过程中,加上一点加速度…

然而,当你查看了小程序的开发文档之后,就会发现小程序已经帮我们提前写好了,我们只要做相关的设置就行。

  • 实现
    滚动视图:左右滑动,其实就是水平方向上的滚动。小程序给我们提供了scroll-view组件,我们可以通过设置scroll-x属性使其横向滚动。
  • 关键属性
    在scroll-view组件属性列表中,我们发现了两个关键的属性:
属性 类型 说明
scroll-into-view string 值应为某子元素id(id不能以数字开头)。设置哪个方向可滚动,则在哪个方向滚动到该元素
scroll-with-animation boolean 在设置滚动条位置时使用动画过渡

有了以上这两个属性,我们就很好办事了。只要让每个卡片独占一页,同时设置元素的ID,就可以很简单的实现翻页效果了。

  • 左滑右滑判断
    这里,我们通过触摸的开始位置和结束位置来决定滑动方向。
    微信小程序给我们提供了touchstart以及touchend事件,我们可以通过判断开始和结束的时候的横坐标来判断方向。

wxml文件

<scroll-view class="scroll-box" scroll-x scroll-with-animationscroll-into-view="{{toView}}"bindtouchstart="touchStart"bindtouchend="touchEnd"><view wx:for="{{list}}" wx:key="{{item}}" class="card-box" id="card_{{index}}"><view class="card"><text>{{item}}</text></view></view>
</scroll-view>

wxss文件

page{overflow: hidden;background: #0D1740;
}
.scroll-box{white-space: nowrap;height: 105vh;
}.card-box{display: inline-block;
}.card{display: flex;justify-content: center;align-items: center;box-sizing: border-box;height: 80vh;width: 80vw;margin: 5vh 10vw;font-size: 40px;background: #F8F2DC;border-radius: 4px;
}

js文件

const DEFAULT_PAGE = 0;Page({startPageX: 0,currentView: DEFAULT_PAGE,data: {toView: `card_${DEFAULT_PAGE}`,list: ['Javascript', 'Typescript', 'Java', 'PHP', 'Go']},touchStart(e) {this.startPageX = e.changedTouches[0].pageX;},touchEnd(e) {const moveX = e.changedTouches[0].pageX - this.startPageX;const maxPage = this.data.list.length - 1;if (Math.abs(moveX) >= 150){if (moveX > 0) {this.currentView = this.currentView !== 0 ? this.currentView - 1 : 0;} else {this.currentView = this.currentView !== maxPage ? this.currentView + 1 : maxPage;}}this.setData({toView: `card_${this.currentView}`});}
})

json文件

{"navigationBarTitleText": "卡片滑动","backgroundColor": "#0D1740","navigationBarBackgroundColor": "#0D1740","navigationBarTextStyle": "white"
}

微信小程序 实现跑马灯(文字+图片)相关推荐

  1. c语言小程序跑马灯,微信小程序实现跑马灯效果(完整代码)

    在微信小程序 里实现跑马灯效果,类似滚动字幕或者滚动广告之类的,使用简单的CSS样式控制,没用到JS,效果如下图: Wxml代码:一个人活着就是为了让更多的人更好的活着! Wxss代码:/*首页跑马灯 ...

  2. java 走马灯程序,详解微信小程序实现跑马灯效果(附完整代码)

    在微信小程序 里实现跑马灯效果,类似滚动字幕或者滚动广告之类的,使用简单的CSS样式控制,没用到JS,效果如下图: Wxml代码: 一个人活着就是为了让更多的人更好的活着! Wxss代码: /*首页跑 ...

  3. 微信小程序实现跑马灯效果(完整代码)

    在微信小程序 里实现跑马灯效果,类似滚动字幕或者滚动广告之类的,使用简单的CSS样式控制,没用到JS,效果如下图: Wxml代码: <!--跑马灯 Linyufan.com--> < ...

  4. 微信小程序实现跑马灯效果(自定义组件详解)

    首先看一下效果吧 首先我们在项目根目录建一个公共文件夹,这里我命名为components 在components里面创建一个组件, dt-horse-race-lamp > index   最后 ...

  5. 微信小程序使用wxParse,解决图片显示路径问题

    微信小程序使用wxParse,解决图片显示路径问题 参考文章: (1)微信小程序使用wxParse,解决图片显示路径问题 (2)https://www.cnblogs.com/zxf100/p/100 ...

  6. imagepreview使用案例_微信小程序wx.previewImage预览图片实例详解

    一.小知识 二.例子 1.wxml 2.wxss .container { box-sizing:border-box; padding:20px; } .previewimg{ float:left ...

  7. 微信小程序 长按图片不出现菜单_微信小程序实现长按删除图片的示例

    说明 最近在学小程序,遇到长按图片删除的问题,特此记录,记录自己的成长轨迹 需求: 长按删除指定图片 需要解决的问题 长按事件如何表示出来? 如何获取当前长按元素的下标? 如何删除元素? 解决办法 长 ...

  8. 微信小程序使用image组件显示图片的方法

    本文实例讲述了微信小程序使用image组件显示图片的方法.分享给大家供大家参考,具体如下: 1.效果展示 2.关键代码 ① index.wxml 代码如下: <image style=" ...

  9. 微信小程序,动态改变背景图片

    前言,作为开发新人,最近在学习微信小程序,期间遇到不少问题,对问题的解决的方法进行记录,以供学习之用. 关于微信小程序的背景图片问题, 1.微信小程序不能使用本地的图片设置背景图片,即 <vie ...

  10. 微信小程序:想要点击图片时进行一个放大的功能,写完之后可以正常显示,但点击时图片加载不出来,在此想问一下各路大神有没有解决办法

    微信小程序:想要点击图片时进行一个放大的功能,写完之后可以正常显示,但点击时图片加载不出来,在此想问一下各路大神有没有解决办法 wxml: 在这里插入代码片 <view class='zhanp ...

最新文章

  1. eclipse中中文字体过小
  2. wordpress ajax 调用wpdb_莫名其妙的调用Roboto字体又莫名其妙的恢复的过程
  3. js:封装获取当前元素的所有的哥哥元素节点
  4. Apache 2.2 虚拟主机配置(本人推荐的)
  5. Java中创建对象的5种方式 -[转] http://www.codeceo.com/article/5-ways-java-create-object.html...
  6. 杭电信工2018期末c语言试卷,2018C程序设计期末试卷(2018杭电A卷).doc
  7. mysql错误修改数据_使用正则表达式快速修改mysql中错误的varchar类型数据
  8. html在表单左上角显示文字,js+css实现增加表单可用性之提示文字
  9. Oracle 11g Dataguard搭建及知识梳理
  10. (转)Vue 爬坑之路(四)—— 与 Vuex 的第一次接触
  11. Struts2.1.6 + Spring2.5+Hibernate3.2整合
  12. 离职因多写3个字被索赔2.9万,这家公司的操作让网友直呼拳头摁了......
  13. python 正则表达式学习-group
  14. Spring的注入方式中,官方推荐哪种方式
  15. Java权限管理系统
  16. 斐讯k2路由器刷PandoraBox一宽带多人用
  17. zynq pl 发数据给 ps
  18. php定做单城市公交路线查询系统
  19. It seems that scikit-learn has not been built correctly
  20. android rom打包解包工具,Android ROM包定制(解包,增删模块,打包)

热门文章

  1. 计算机基础高一知识点,计算机基础全部知识点_.doc
  2. JavaScript案例分享+复盘——小米闪购界面
  3. gg修改器怎么能让服务器检测不到,gg修改器怎么绕过检测 | 手游网游页游攻略大全...
  4. Firewalld 允许指定IP访问端口
  5. iphone6出信号 无服务器,苹果6手机无服务(非常见故障点)维修
  6. 视易精通收银服务器自动关机,视易精通量贩式收银系统操作手册3.0
  7. 数据分析必备的5个工具,你用过几个?
  8. 小米 redmibook 14 锐龙版 安装linux ubuntu 20 19 18 deepin 无线网卡驱动问题解决方案
  9. 坚果云升级后桌面出现一个文件夹
  10. python中wordcloud函数不同形状云图_Python实现Wordcloud生成词云图的示例