<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        微信小程序 按鈕滑動的實現方法

        來源:懂視網 責編:小采 時間:2020-11-27 22:28:50
        文檔

        微信小程序 按鈕滑動的實現方法

        微信小程序 按鈕滑動的實現方法:微信小程序 按鈕滑動的實現方法 一.先看東西 滑動前 滑動后 二.再上代碼 index.wxml <view class=content> <view class=sliderContent> <input placeholder=驗證碼 placeholder-class=
        推薦度:
        導讀微信小程序 按鈕滑動的實現方法:微信小程序 按鈕滑動的實現方法 一.先看東西 滑動前 滑動后 二.再上代碼 index.wxml <view class=content> <view class=sliderContent> <input placeholder=驗證碼 placeholder-class=

        微信小程序 按鈕滑動的實現方法

        一.先看東西


        滑動前

        滑動后

        二.再上代碼

        index.wxml

        <view class="content">
         <view class="sliderContent">
         <input placeholder="驗證碼" placeholder-class="input-placeholder" disabled="{{disabled}}" />
         <view class="slider" bindtouchstart="moveSendBtnStart" bindtouchend="moveSendBtnEnd" bindtouchmove="moveSendBtn" style="left:{{moveSendBtnLeft}}rpx;background-color:{{SendBtnColor}}">發送</view>
         </view>
        </view>
        

        index.wxss

        .content {
         margin-top: 100rpx;
         font-size: 24rpx;
        }
        
        .sliderContent{
         position: relative;
         margin: 0 auto;
         margin-bottom: 50rpx;
         padding-left: 60rpx;
         width: 425rpx;
         box-sizing: border-box;
         height: 70rpx;
         line-height: 70rpx;
         border-radius: 60rpx;
         background-color: #fff;
         color: #289adc;
         box-shadow: 0px 4px 6px 0px rgba(37, 114, 219, 0.3);
        }
        
        .sliderContent input {
         line-height: 70rpx;
         height: 70rpx;
         box-sizing: border-box;
         padding-left: 40rpx;
         width: 250rpx;
        }
        
        .input-placeholder {
         text-align: center;
         color: #289adc;
        }
        
        
         .slider {
         position: absolute;
         top: 0;
         left: 0;
         width: 150rpx;
         border-radius: 60rpx;
         text-align: center;
         background-color: #7f7f7f;
         color: #fff;
         box-shadow: 0px 4px 6px 0px rgba(37, 114, 219, 0.3);
        }
        
        

        index.js

        Page({
         data: {
         moveStartX: 0, //起始位置
         moveSendBtnLeft: 0, //發送按鈕的left屬性
         moveEndX: 0, //結束位置
         screenWidth: 0, //屏幕寬度
         moveable: true, //是否可滑動
         disabled: true,//驗證碼輸入框是否可用,
         SendBtnColor: "#7f7f7f" //滑動按鈕顏色
         },
        
         onLoad: function () {
         var that = this;
         // 獲取屏幕寬度
         wx.getSystemInfo({
         success: function (res) {
         that.setData({
         screenWidth: res.screenWidth
         })
         },
         })
         },
         // 開始移動
         moveSendBtnStart: function (e) {
         if (!this.data.moveable) {
         return;
         }
         console.log("start");
         console.log(e);
         this.setData({
         moveStartX: e.changedTouches["0"].clientX
         })
         },
         //移動發送按鈕
         moveSendBtn: function (e) {
         if (!this.data.moveable) {
         return;
         }
         var that = this;
         // console.log(e.touches[0]);
         var left = ((e.touches[0].clientX - that.data.moveStartX) / (that.data.screenWidth / 750))
         console.log(left)
         if (left <= 275.5) {
         this.setData({
         moveSendBtnLeft: left
         })
         } else {
        
         this.setData({
         moveSendBtnLeft: 275.5
         })
         }
         },
         // 結束移動
         moveSendBtnEnd: function (e) {
         console.log("end");
         var that = this;
         var left = ((e.changedTouches[0].clientX - that.data.moveStartX) / (that.data.screenWidth / 750))
         console.log(left);
         if (left < 275.5) {
         for (let i = left; i >= 0; i--) {
        
         that.setData({
         moveSendBtnLeft: i
         })
         }
         } else {
         that.setData({
         moveEndX: e.changedTouches[0].clientX,
         moveable: false,
         disabled: false,
         SendBtnColor: "#289adc"
         })
         }
         }
        
        
        })
        
        

        三.順便說說

        1.按鈕滑動事件

        bindtouchstart //按鈕開始滑動
        bindtouchend //按鈕結束滑動
        bindtouchmove //按鈕正在滑動

        在按鈕開始滑動是記錄開始的位置

        滑動結束時要判斷按鈕是否已經滑動到最右側,如果只滑動到中間,則彈回

        滑動過程中要計算與初始位置的距離,然后計算并改變button的left屬性值

        2.按鈕滑動的距離計算

        因為滑動事件返回的數值都是以px作為單位,而我們在界面設計時使用的是rpx,在這里我們要進行數值計算,在onLoad中,我們獲取到當前設備的寬度,rpx作為單位時,認為當前設備的邏輯寬度為750rpx,假設屏幕實際寬度為400px,那么1px = 400/750 rpx,那么滑動的距離 = 實際互動距離 / (400/750) rpx

        經過換算后,我們就可以得到以rpx作為單位的滑動距離

        如有疑問請留言或者到本站社區交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        微信小程序 按鈕滑動的實現方法

        微信小程序 按鈕滑動的實現方法:微信小程序 按鈕滑動的實現方法 一.先看東西 滑動前 滑動后 二.再上代碼 index.wxml <view class=content> <view class=sliderContent> <input placeholder=驗證碼 placeholder-class=
        推薦度:
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 免费高清资源黄网站在线观看| 黄色永久免费网站| 午夜无遮挡羞羞漫画免费| 亚洲免费观看网站| 亚洲AV成人一区二区三区AV| 亚洲成人免费在线| 男女作爱在线播放免费网站| 西西大胆无码视频免费| 666精品国产精品亚洲| 国产精品亚洲а∨无码播放麻豆| 最新亚洲成av人免费看| 在线天堂免费观看.WWW| 亚洲国产精品久久网午夜| 亚洲精品黄色视频在线观看免费资源 | 精品无码专区亚洲| 日韩免费观看视频| 国产亚洲福利精品一区二区| 亚洲电影日韩精品| 中文字幕免费在线看线人动作大片| 成熟女人牲交片免费观看视频| 77777亚洲午夜久久多喷| 暖暖日本免费中文字幕| 亚洲精品电影在线| 在线v片免费观看视频| 亚洲色欲色欲www在线播放| 久久久久免费看黄a级试看| 亚洲视频在线不卡| 成人免费一区二区无码视频| 亚洲成人在线电影| 在线观看AV片永久免费| 日韩在线观看视频免费| 国产成人精品日本亚洲| www成人免费观看网站| 大陆一级毛片免费视频观看| 国产精品亚洲小说专区| 在线观看亚洲av每日更新| 青青久久精品国产免费看| 中字幕视频在线永久在线观看免费| 亚洲综合一区无码精品| 亚洲精品无码av天堂| 99久久久国产精品免费牛牛四川|