這篇文章給大家分享的是有關(guān)javascript怎么才可以實(shí)現(xiàn)微信小程序左右滑動功能的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

項(xiàng)目整體效果

項(xiàng)目部分功能點(diǎn)解析
主頁圖片左滑右滑對應(yīng)按鈕變化

首先我們來聊一下最讓我頭痛的地方,就是主頁面的左右滑動事件并且對應(yīng)按鈕會相應(yīng)變化,即我左滑一下圖片下面的灰色按鈕會有相應(yīng)的動畫效果,右滑則對應(yīng)著圖片下面的紅色按鈕。對于一個剛?cè)胄〕绦蚩拥拿米觼碚f,沒有大神指點(diǎn)不知道要在這里面的邏輯坑還要繞多久才能繞出來。得一高人指點(diǎn),我才完美滴實(shí)現(xiàn)了這個功能。
這里寫了三個大的盒子放著圖片和文字信息,再將他們放到swiper-item里面,用swiper組件實(shí)現(xiàn)整個盒子的左右滑動
<swiper class='swiper-item__content' current="" bindchange="changeswiper"> <swiper-item class="swip"> <view class='page__bd_content'> <image class="slide-image" src="http://pic.qqtn.com/up/2017-12/15126388387704237.jpg" mode="scaleToFill"/> <view class="name">K</view> <view class="age">♂21</view> <view class="conste">金牛座</view> <view class="status">文化/教育</view> </view> </swiper-item> </swiper>
盒子下面不是按鈕,我是放了兩張圖片。
<view class="page__ft">
<image class="notlike {{left?'active':''}}" src="../../images/notlike.png" />
<image class="like {{right?'active':''}}" src="../../images/like.png" />
</view>先給他們寫個滑動的時候觸發(fā)的動畫效果
.active {
animation: active 1s ease;//定義一個叫做active的動畫
}
@keyframes active {//補(bǔ)充active動作腳本
0% {
transform: scale(0.8);
}
50% {
transform: scale(1.2);
}
100% {
transform: scale(1.0);
}
}在page的data里面定義三個變量,將left,right變量綁定到對應(yīng)圖片中
data: {
left: false ,
right: false,
activeIndex: 0
},在swiper綁定事件中具體判斷左右滑動事件
changeswiper: function(e) {
var index = e.detail.current;//當(dāng)前所在頁面的 index
if(index > this.data.activeIndex) {//左滑事件判斷
this.setData({
left: true//若為左滑,left值為true,觸發(fā)圖片動畫效果
})
} else if(index < this.data.activeIndex) {//右滑事件判斷
this.setData({
right: true//若為右滑,right值為true,觸發(fā)圖片動畫效果
})
}
setTimeout(() => {//每滑動一次,數(shù)據(jù)發(fā)生變化
this.setData({
activeIndex: index,
left:false,
right:false
})
}, 1000);
},從本地上傳圖片

這個呀查一查小程序開發(fā)文檔就好了,先在要上傳圖片的地方的src綁定個數(shù)據(jù)變量
<image class="addImg" src="{{imgUrl}}" bindtap="uploadImg" />放入圖片默認(rèn)地址,就是上傳圖片之前的添加圖片
data: {
imgUrl: '../../images/addImg.png'
},通過綁定tap事件將上傳的圖片地址替換進(jìn)去
uploadImg: function(e) {
var that = this;
wx.chooseImage({
count: 1, //上傳圖片數(shù)量
sizeType: ['original', 'compressed'], // 可以指定是原圖還是壓縮圖,默認(rèn)二者都有
sourceType: ['album', 'camera'], // 可以指定來源是相冊還是相機(jī),默認(rèn)二者都有
success: function (res) {// 返回選定照片的本地文件路徑列表,tempFilePath可以作為img標(biāo)簽的src屬性顯示圖片
var tempFilePaths = res.tempFilePaths;
that.setData({
imgUrl: tempFilePaths
})
wx.showToast({//顯示上傳成功
title: '上傳成功',
icon: 'success',
duration: 2000
})
}
}),配對成功列表據(jù)通過easy-mock獲取后臺數(shù)據(jù)

block wx:for渲染一個包含多節(jié)點(diǎn)的結(jié)構(gòu)塊
<swiper-item>
<view class="swiper-item__content">
<block wx:for="{{friendsList}}" wx:key="index">
<view class="weui-tab__content">
<view class="weui-media-box__hd">
<image src="{{item.avatar}}" mode="aspectFit"></image>
</view>
<view class="weui-media-box__bd">
<view class="weui-media-box__nickname">{{item.nickname}}</view>
<view class="weui-media-box__message">{{item.message}}</view>
</view>
</view>
</block>
</view>
</swiper-item>獲取后臺數(shù)據(jù)
wx.request({
url: 'https://www.easy-mock.com/mock/5a23dbf382614c0dc1bebf04/getFriendsList/getFriendsList',
success: (res) => {
// console.log(response);
this.setData({
friendsList: res.data.data.friendsList
})
}
})其它差不多就是切頁面了,個人原因用不太習(xí)慣weui的官方樣式,每個頁面都是我自己嘔心瀝血碼出來的,所以大家不喜輕點(diǎn)噴哈,還在努力學(xué)習(xí)當(dāng)中。
感謝各位的閱讀!關(guān)于“javascript怎么才可以實(shí)現(xiàn)微信小程序左右滑動功能”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
分享題目:javascript怎么才可以實(shí)現(xiàn)微信小程序左右滑動功能-創(chuàng)新互聯(lián)
本文地址:http://chinadenli.net/article20/gcsco.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、用戶體驗(yàn)、響應(yīng)式網(wǎng)站、靜態(tài)網(wǎng)站、微信小程序、虛擬主機(jī)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容