1. <ul id="0c1fb"></ul>

      <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
      <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区

      RELATEED CONSULTING
      相關咨詢
      選擇下列產品馬上在線溝通
      服務時間:8:30-17:00
      你可能遇到了下面的問題
      關閉右側工具欄

      新聞中心

      這里有您想知道的互聯(lián)網營銷解決方案
      微信小程序如何實現(xiàn)按鈕滑動功能

      這篇文章主要介紹微信小程序如何實現(xiàn)按鈕滑動功能,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

      我們提供的服務有:網站制作、成都做網站、微信公眾號開發(fā)、網站優(yōu)化、網站認證、橋西ssl等。為1000+企事業(yè)單位解決了網站和推廣的問題。提供周到的售前咨詢和貼心的售后服務,是有科學管理、有技術的橋西網站制作公司

      微信小程序 按鈕滑動的實現(xiàn)方法

      一.先看東西

      微信小程序如何實現(xiàn)按鈕滑動功能

      滑動前

      微信小程序如何實現(xiàn)按鈕滑動功能

      滑動后

      二.再上代碼

      index.wxml

      
        
          
          發(fā)送
        
      

      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, //發(fā)送按鈕的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
          })
        },
        //移動發(fā)送按鈕
        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作為單位的滑動距離。

      以上是“微信小程序如何實現(xiàn)按鈕滑動功能”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


      新聞名稱:微信小程序如何實現(xiàn)按鈕滑動功能
      本文URL:http://ef60e0e.cn/article/pogiso.html
      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区
      1. <ul id="0c1fb"></ul>

        <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
        <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

        衡水市| 元江| 平湖市| 江永县| 阿巴嘎旗| 聂荣县| 确山县| 永仁县| 九江县| 九龙坡区| 南川市| 泾川县| 古田县| 碌曲县| 阿鲁科尔沁旗| 札达县| 玛沁县| 苗栗市| 双桥区| 固始县| 嘉峪关市| 延庆县| 建平县| 乐都县| 南和县| 榆社县| 松溪县| 库伦旗| 阿尔山市| 礼泉县| 揭东县| 德惠市| 巩义市| 大竹县| 鲁甸县| 陆良县| 仲巴县| 西乌| 莆田市| 航空| 邹城市|