当前位置:网站首页>Achieve animation effect through event binding
Achieve animation effect through event binding
2022-07-04 17:48:00 【richest_ qi】
List of articles
Antecedents feed
The types of events involved in this example are :
touchstart, Finger touch action Start Trigger when .touchmove, After touching the fingers Move Trigger when .touchend, Finger touch action end Trigger when .
Event triggered , The event handler function will receive an event object , The attributes contained in the event object vary slightly depending on the type of event , among , The attributes of rain and dew are :
type, Event type .timeStamp, Time stamp when the event was generated .target, It's an object , Contains the following properties :id, Of the event source component id.dataset, On the event source component by data- A collection of custom properties at the beginning .
currentTarget, It's an object , Contains the following properties :id, Of the current component id.dataset, The current component consists of data- A collection of custom properties at the beginning .
mark, Event marker data .
In addition to the above basic attributes ,TouchEvent The event object of also contains the following properties :
touches, A collection of touch point information currently on the screen .touchesIs an array , Each array element is a Touch object , Indicates the touch point currently on the screen .Touch Object contains the following properties :identifier, value type , Is the identifier of the touch point .pageX, Horizontal distance from the upper left corner of the document .pageY, The vertical distance from the upper left corner of the document .clientX, The horizontal distance from the upper left corner of the visible area of the page .clientY, The vertical distance from the upper left corner of the visible area of the page .
changedTouches, Array of currently changing touchpoint information .
Applet project
The main files involved in the code are :
- app.json
- pages/index/index.wxml
- pages/index/index.wxss
- pages/index/index.js

app.json
{
"pages": [
"pages/index/index"
],
"window": {
"navigationBarBackgroundColor": "#971a22",
"navigationBarTitleText": " home page ",
"navigationBarTextStyle": "white"
},
"style": "v2",
"sitemapLocation": "sitemap.json"
}
pages/index/index.wxml
<view class="indexContainer">
<view class="header"></view>
<view class="content" bindtouchstart="handleTouchStart" bindtouchmove="handleTouchMove" bindtouchend="handleTouchEnd" style="transform: translateY({
{
moveDistance}}rpx);transition: {
{
transitionSettings}};" >
<image src="/static/images/arc.png"></image>
</view>
</view>
pages/index/index.wxss
.indexContainer{
padding: 0 20rpx;
}
.header{
margin-top: 10rpx;
background: lightskyblue;
height: 300rpx;
border-radius: 10rpx;
}
.content{
margin-top: -100rpx;
height: 600rpx;
background: #f7f7f7;
border-bottom-right-radius: 10rpx;
border-bottom-left-radius: 10rpx;
position: relative;
}
.content image{
position: absolute;
top: -40rpx;
width: 100%;
height: 40rpx;
}
pages/index/index.js
let startY = 0;
let endY = 0;
let distance = 0;
let MIN_DIS = 0;
let MAX_DIS = 80
Page({
data:{
moveDistance:0,
transitionSettings:"none"
},
handleTouchStart(e){
// console.log("touch start");
startY = e.touches[0].clientY;
this.setData({
transitionSettings:"none"
})
},
handleTouchMove(e){
// console.log("touch move");
endY = e.touches[0].clientY;
distance = endY - startY;
if(distance < MIN_DIS) return;
if(distance > MAX_DIS) distance = MAX_DIS;
this.setData({
moveDistance:distance
})
},
handleTouchEnd(){
// console.log("touch end");
this.setData({
moveDistance:0,
transitionSettings:"transform .5s linear"
})
}
})
Related links
边栏推荐
- Performance test of Gatling
- Device interface analysis of the adapter of I2C subsystem (I2C dev.c file analysis)
- Superscalar processor design yaoyongbin Chapter 5 instruction set excerpt
- 创业两年,一家小VC的自我反思
- Blood spitting finishing nanny level series tutorial - play Fiddler bag grabbing tutorial (2) - first meet fiddler, let you have a rational understanding
- 如何进行MDM的产品测试
- Electronic pet dog - what is the internal structure?
- Superscalar processor design yaoyongbin Chapter 7 register rename excerpt
- 《吐血整理》保姆级系列教程-玩转Fiddler抓包教程(2)-初识Fiddler让你理性认识一下
- Recast of recastnavigation
猜你喜欢
《吐血整理》保姆级系列教程-玩转Fiddler抓包教程(2)-初识Fiddler让你理性认识一下
![[Huawei HCIA continuous update] SDN and FVC](/img/02/f86b509fdc515f14a4497090f0d070.png)
[Huawei HCIA continuous update] SDN and FVC

【华为HCIA持续更新】SDN与FVC

Load test practice of pingcode performance test

VSCode修改缩进不成功,一保存就缩进四个空格
![[unity ugui] scrollrect dynamically scales the grid size and automatically locates the middle grid](/img/0d/a8f4424add7785375741bac4f0b802.png)
[unity ugui] scrollrect dynamically scales the grid size and automatically locates the middle grid

Superscalar processor design yaoyongbin Chapter 5 instruction set excerpt

Firewall basic transparent mode deployment and dual machine hot standby

Ble HCI flow control mechanism

With an annual income of more than 8 million, he has five full-time jobs. He still has time to play games
随机推荐
Wuzhicms code audit
What if Kaili can't input Chinese???
就在今天丨汇丰4位专家齐聚,共讨银行核心系统改造、迁移、重构难题
NFT流动性市场安全问题频发—NFT交易平台Quixotic被黑事件分析
【Proteus仿真】基于VSM 串口printf调试输出示例
Pytorch深度学习之环境搭建
Superscalar processor design yaoyongbin Chapter 6 instruction decoding excerpt
整理混乱的头文件,我用include what you use
通过事件绑定实现动画效果
Detectron2 installation method
Chow Tai Fook fulfills the "centenary commitment" and sincerely serves to promote green environmental protection
第十八届IET交直流輸電國際會議(ACDC2022)於線上成功舉辦
Heartless sword Chinese translation of Elizabeth Bishop's a skill
Interpretation of data security governance capability evaluation framework 2.0, the fourth batch of DSG evaluation collection
R语言plotly可视化:plotly可视化互相重叠的直方图(historgram)、并在直方图的顶部边缘使用geom_rug函数添加边缘轴须图Marginal rug plots
What are cache penetration, cache breakdown, and cache avalanche
整理混乱的头文件,我用include what you use
Load test practice of pingcode performance test
Implementation of super large-scale warehouse clusters in large commercial banks
使用3DMAX制作一枚手雷