时间:2020-11-07来源:www.pcxitongcheng.com作者:电脑系统城
本文示例都是用小程序写的,但是不影响要实现的功能。
wxml
装图片的盒子多复制一份,让循环图片的首尾相接
?1 2 3 4 5 6 7 8 |
< view class = "scrollbox dis-flex" > < view class = "imgItem dis-flex" style = "animation: {{computedAni}};" > < image src = "../img/{{index + 1}}.jpg" wx:for = "{{images}}" mode = "aspectFill" wx:key = "index" ></ image > </ view > < view class = "imgItem dis-flex" style = "animation: {{computedAni}};" > < image src = "../img/{{index + 1}}.jpg" wx:for = "{{images}}" mode = "aspectFill" wx:key = "index" ></ image > </ view > </ view > |
wxss
?1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
.dis-flex { display : flex; display : -webkit-flex; } .scrollbox { margin : 30px ; text-align : center ; border : 1px solid blue ; height : 220 rpx; align-items: center ; overflow : hidden ; } .imgItem { animation: 24 s rowup linear infinite normal ; } .imgItem image { width : 200 rpx; height : 200 rpx; margin : 0 20 rpx; } @keyframes rowup { 0% { -webkit-transform: translate 3 d( 0 , 0 , 0 ); transform: translate 3 d( 0 , 0 , 0 ); } 100% { -webkit-transform: translate 3 d( -100% , 0 , 0 ); transform: translate 3 d( -100% , 0 , 0 ); } } @-webkit-keyframes rowup { 0% { -webkit-transform: translate 3 d( 0 , 0 , 0 ); transform: translate 3 d( 0 , 0 , 0 ); } 100% { -webkit-transform: translate 3 d( -1000px , 0 , 0 ); transform: translate 3 d( -1000px , 0 , 0 ); } } |
js
调整速度的关键就在,动画的时间是由循环的项目个数动态控制的
?1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
Page({ data: { images: new Array(4), computedAni: '' }, onLoad: function () { this .setAniSpeed( this .data.images.length) }, setAniSpeed (num) { let time = Math.ceil(num / 5 * 15) // 这里是以5张图片的时候,动画时间15s为基准,可以自己调节 this .setData({ computedAni: `${time}s rowup linear infinite normal` }) } }) |
点击这里可以查看代码片段
2023-03-06
css3鼠标滑过实现动画线条边框2023-03-06
css scroll-snap控制滚动元素的实现2023-03-06
CSS实现多层嵌套列表自动编号的示例代码传统的灰色纯色边框你是不是觉得太难看了?你是否想设计一些精美的边框,例如渐变、圆角、彩色的边框?那你来对地方了,本文将介绍如何用纯CSS就能实现具有渐变和圆角的彩色边框...
2023-03-06
今天给大家带来一个如何实现圆角三角形的方案,这个方案虽然可以实现,但是也是借助拼凑等方式来实现的,假如想一个div来实现圆角三角形,还是比较困难的。之前文章讲了如何实现对话框,里面介绍了三角形的实现方式。今天讲讲...
2023-03-06