<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
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        小程序實現左滑刪除功能

        來源:懂視網 責編:小OO 時間:2020-11-27 22:05:46
        文檔

        小程序實現左滑刪除功能

        本文實例為大家分享了小程序實現左滑刪除功能的具體代碼,供大家參考,具體內容如下:<。-- 外層包裹視圖 -->;<;view class="cont">;<。-- 列表 -->;<;view wx:for="{{list}}" wx:key="index" class="list">;<。-- 滑動刪除 -->;<;view bindtouchstart="touchS" bindtouchmove="touchM" bindtouchend="touchE" data-index="{{index}}" style="{{item.shows}}" class="list_del txt">;<CSS。
        推薦度:
        導讀本文實例為大家分享了小程序實現左滑刪除功能的具體代碼,供大家參考,具體內容如下:<。-- 外層包裹視圖 -->;<;view class="cont">;<。-- 列表 -->;<;view wx:for="{{list}}" wx:key="index" class="list">;<。-- 滑動刪除 -->;<;view bindtouchstart="touchS" bindtouchmove="touchM" bindtouchend="touchE" data-index="{{index}}" style="{{item.shows}}" class="list_del txt">;<CSS。

        本文實例為大家分享了小程序實現左滑刪除功能的具體代碼,供大家參考,具體內容如下

        <!-- 外層包裹視圖 -->
        <view class="cont">
         <!-- 列表 -->
         <view wx:for="{{list}}" wx:key="index" class="list">
         <!-- 滑動刪除 -->
         <view bindtouchstart="touchS" bindtouchmove="touchM" bindtouchend="touchE" data-index="{{index}}" style="{{item.shows}}" class="list_del txt">
         <!-- 列表圖片 -->
         <image class="list_img" mode="widthFix" src="{{item.image}}"></image>
         <!-- 列表名稱 -->
         <text class='list_name'>{{item.name}}</text>
         <!-- 列表標題 -->
         <label class='list_title'>{{item.title}}</label>
         <!-- 活動時間 -->
         <text class='list_datas'>活動時間:{{item.datas}}</text>
         </view>
         <!-- 刪除 -->
         <view data-index="{{index}}" bindtap="delItem" class="list_del del">刪除</view>
         </view>
        </view>


        CSS:

        /* 父級 */
        page{
         background-color: #f5f5f5;
        }
         
        /* 外層視圖 */
        .cont{ 
         width: 100%; 
         margin: 0 auto; 
        } 
         
        .list{ 
         position: relative; 
         height: 170rpx; 
        margin: 20rpx; 
        border-radius: 10rpx;
         line-height: 170rpx; 
         overflow: hidden; 
        } 
        /* 刪除外層包裹視圖 */
        .list_del{ 
         position: absolute; 
         top:0; 
        } 
        .list_del.txt{ 
         position: relative;
         background-color: #fff; 
         width: 100%; 
         z-index: 5; 
         padding:0 10rpx; 
         transition: left 0.2s ease-in-out; 
         white-space:nowrap; 
         overflow:hidden; 
         text-overflow:ellipsis; 
        } 
        /* 刪除 */
        .list_del.del{ 
         background-color: #e64340; 
         width: 180rpx;text-align: center; 
         z-index: 4; 
         right: 0; 
         color: #fff 
        } 
        /* 列表圖片 */
        .list_img{ 
         
        width: 105rpx;
        height: 105rpx;
        border-radius: 10rpx;
        vertical-align: middle; 
        margin-left: 15rpx;
        margin-top: -8rpx;
        } 
         
         /* 列表名稱 */
        .list_name{
         position: absolute;
         left:168rpx;
         bottom:18rpx;
        }
        /* 列表標題 */
        .list_title{
         position: absolute;
         right:155rpx;
         bottom:18rpx; 
         font-size: 13px;
         color: #818181;
        }
        /* 活動時間 */
        .list_datas{
         position: absolute;
         left:168rpx;
         top:35rpx; 
         font-size: 13px;
         color: #818181;
        }

        js:

        // 默認聲明一個函數記錄list顯示的數據---刪除狀態
        var initdata = function(that) {
         var list = that.data.list
         for (var i = 0; i < list.length; i++) {
         list[i].shows = ""
         }
         that.setData({
         list: list
         })
        }
        var app = new getApp();
        Page({
         data: {
         delBtnWidth: 185, //刪除按鈕寬度單位(rpx) 
         // 列表數據
         list: [{
         // 刪除狀態
         shows: "",
         // 列表中圖片
         image: "../../image/list_img.png",
         // 昵稱
         name: "菜鳥老五",
         // 簡介title
         title: "主辦方:小米科技",
         // 日期
         datas: "2017.02.21"
         },
         {
         shows: "",
         image: "../../image/list_img.png",
         name: "菜鳥老五",
         title: "主辦方:小米科技",
         datas: "2017.02.21"
         },
         {
         shows: "",
         image: "../../image/list_img.png",
         name: "菜鳥老五",
         title: "主辦方:小科技",
         datas: "2017.02.21"
         },
         {
         shows: "",
         image: "../../image/list_img.png",
         name: "菜鳥老五",
         title: "主辦方:小米科技",
         datas: "2017.02.21"
         },
         {
         shows: "",
         image: "../../image/list_img.png",
         name: "菜鳥老五",
         title: "主辦方:小米科技",
         datas: "2017.02.21"
         },
         
         ],
         
         },
         
         onLoad: function(options) {
         this.initEleWidth();
         },
         
         // 開始滑動事件
         touchS: function(e) {
         if (e.touches.length == 1) {
         this.setData({
         //設置觸摸起始點水平方向位置 
         startX: e.touches[0].clientX
         });
         }
         },
         touchM: function(e) {
         var that = this;
         initdata(that)
         if (e.touches.length == 1) {
         //手指移動時水平方向位置 
         var moveX = e.touches[0].clientX;
         //手指起始點位置與移動期間的差值 
         var disX = this.data.startX - moveX;
         var delBtnWidth = this.data.delBtnWidth;
         // var txtStyle = "";
         if (disX == 0 || disX < 0) { //如果移動距離小于等于0,文本層位置不變 
         // txtStyle = "left:0px";
         } else if (disX > 0) { //移動距離大于0,文本層left值等于手指移動距離 
         // txtStyle = "left:-" + disX + "px";
         if (disX >= delBtnWidth) {
         //控制手指移動距離最大值為刪除按鈕的寬度 
         // txtStyle = "left:-" + delBtnWidth + "px";
         }
         }
         
         }
         },
         // 滑動中事件
         touchE: function(e) {
         if (e.changedTouches.length == 1) {
         //手指移動結束后水平位置 
         var endX = e.changedTouches[0].clientX;
         //觸摸開始與結束,手指移動的距離 
         var disX = this.data.startX - endX;
         var delBtnWidth = this.data.delBtnWidth;
         //如果距離小于刪除按鈕的1/2,不顯示刪除按鈕 
         var txtStyle = "";
         txtStyle = disX > delBtnWidth / 2 ? "left:-" + delBtnWidth + "px" : "left:0px";
         
         //獲取手指觸摸的是哪一項 
         var index = e.target.dataset.index;
         var list = this.data.list;
         list[index].shows = txtStyle;
         console.log("1", list[index].shows);
         //更新列表的狀態 
         this.setData({
         list: list
         });
         } else {
         console.log("2");
         }
         },
         //獲取元素自適應后的實際寬度 
         getEleWidth: function(w) {
         var real = 0;
         try {
         var res = wx.getSystemInfoSync().windowWidth;
         var scale = (750 / 2) / (w / 2); //以寬度750px設計稿做寬度的自適應 
         // console.log(scale); 
         real = Math.floor(res / scale);
         return real;
         } catch (e) {
         return false;
         // Do something when catch error 
         }
         },
         initEleWidth: function() {
         var delBtnWidth = this.getEleWidth(this.data.delBtnWidth);
         this.setData({
         delBtnWidth: delBtnWidth
         });
         },
         //點擊刪除按鈕事件 
         delItem: function(e) {
         var that = this;
         // 打印出當前選中的index
         console.log(e.currentTarget.dataset.index);
         // 獲取到列表數據
         var list = that.data.list;
         // 刪除
         list.splice(e.currentTarget.dataset.index, 1);
         // 重新渲染
         that.setData({
         list: list
         })
         initdata(that)
         }
        })

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

        文檔

        小程序實現左滑刪除功能

        本文實例為大家分享了小程序實現左滑刪除功能的具體代碼,供大家參考,具體內容如下:<。-- 外層包裹視圖 -->;<;view class="cont">;<。-- 列表 -->;<;view wx:for="{{list}}" wx:key="index" class="list">;<。-- 滑動刪除 -->;<;view bindtouchstart="touchS" bindtouchmove="touchM" bindtouchend="touchE" data-index="{{index}}" style="{{item.shows}}" class="list_del txt">;<CSS。
        推薦度:
        標簽: 小程序 實現 效果
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 亚洲国产第一页www| 国产gv天堂亚洲国产gv刚刚碰 | 1000部啪啪毛片免费看| 亚洲精品国产成人片| 花蝴蝶免费视频在线观看高清版| 亚洲中文字幕无码一区| 国产免费网站看v片在线| 亚洲免费视频在线观看| 国产a视频精品免费观看| 亚洲H在线播放在线观看H| 手机在线免费视频| 无码一区二区三区亚洲人妻 | 国产AV无码专区亚洲AV男同| 国产在线观看xxxx免费| 亚洲伊人久久成综合人影院| 国产又黄又爽又大的免费视频 | av片在线观看永久免费| 亚洲色中文字幕无码AV| 国产免费拔擦拔擦8X高清在线人| 亚洲国产精品国自产电影| 色老头永久免费网站| 亚洲欧美日韩中文高清www777| 日本中文一区二区三区亚洲| 99视频免费在线观看| 亚洲网站免费观看| 国产成人精品免费视频软件| 一进一出60分钟免费视频| 久久亚洲国产精品| 免费无码AV电影在线观看| 真正全免费视频a毛片| 国产亚洲精品无码成人| 18禁超污无遮挡无码免费网站国产| 精品无码专区亚洲| 久久亚洲精品成人777大小说| 黄页网站免费观看| 特黄特色的大片观看免费视频| 亚洲高清国产AV拍精品青青草原| 成人网站免费观看| 黄网站免费在线观看| 亚洲乱亚洲乱妇无码| 亚洲AV午夜福利精品一区二区 |