做爰高潮a片〈毛片〉,尤物av天堂一区二区在线观看,一本久久A久久精品VR综合,添女人荫蒂全部过程av

最新文章專題視頻專題問答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
當前位置: 首頁 - 科技 - 知識百科 - 正文

Vue.js移動端左滑刪除組件的實現代碼

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

Vue.js移動端左滑刪除組件的實現代碼

Vue.js移動端左滑刪除組件的實現代碼:左滑刪除在移動端很常見。下面我們一起來封裝一下這個簡單的小組件。我們想要是: 當滑塊沒有超過刪除按鈕的一半時自動回到起點位置。 滑動距離超過一半滑動到最大值(刪除按鈕寬度) 盡量精簡代碼 效果如下: 在開始之前,我們先得將 [touchEventA
推薦度:
導讀Vue.js移動端左滑刪除組件的實現代碼:左滑刪除在移動端很常見。下面我們一起來封裝一下這個簡單的小組件。我們想要是: 當滑塊沒有超過刪除按鈕的一半時自動回到起點位置。 滑動距離超過一半滑動到最大值(刪除按鈕寬度) 盡量精簡代碼 效果如下: 在開始之前,我們先得將 [touchEventA

左滑刪除在移動端很常見。下面我們一起來封裝一下這個簡單的小組件。我們想要是:

  • 當滑塊沒有超過刪除按鈕的一半時自動回到起點位置。
  • 滑動距離超過一半滑動到最大值(刪除按鈕寬度)
  • 盡量精簡代碼
  • 效果如下:

    在開始之前,我們先得將 [touchEventApi][1]弄清楚了。這個小組件中,用到了:

    1.  TouchEvent.touches (表示一 個 TouchList 對象,包含了所有當前接觸觸摸平面的觸點的Touch對象)

    2.  TouchEvent.changedTouches (一個 TouchList 對象,包含了代表所有從上一次觸摸事件到此次事件過程中,
        狀態發生了改變的觸點的 Touch 對象。)

    話不多說,直接上代碼: 

    <template>
     <div class="delete">
     <div class="slider">
     <div class="content" 
     @touchstart='touchStart'
     @touchmove='touchMove'
     @touchend='touchEnd'
     :style="deleteSlider"
     >
     <!-- 插槽中放具體項目中需要內容 --> 
     <slot></slot>
     </div>
     <div class="remove" ref='remove'>
     刪除
     </div>
     </div>
     
     </div>
    </template>
    

    然后是css,這里我使用的是less

    <style scoped lang="less" scoped>
     .slider{
     width: 100%;
     height:200px;
     position: relative;
     user-select: none;
     .content{
     position: absolute;
     left: 0;
     right: 0;
     top: 0;
     bottom: 0;
     background:green;
     z-index: 100;
     // 設置過渡動畫
     transition: 0.3s;
     
     }
     .remove{
     position: absolute;
     width:200px;
     height:200px;
     background:red;
     right: 0;
     top: 0;
     color:#fff;
     text-align: center;
     font-size: 40px;
     line-height: 200px;
     }
     }
     
    </style>
    
    <script type="text/ecmascript-6">
     export default {
     data() {
     return {
     startX:0, //觸摸位置
     endX:0, //結束位置
     moveX: 0, //滑動時的位置
     disX: 0, //移動距離
     deleteSlider: '',//滑動時的效果,使用v-bind:style="deleteSlider"
     }
     
     },
     methods:{
     touchStart(ev){
     ev= ev || event
     //tounches類數組,等于1時表示此時有只有一只手指在觸摸屏幕
     
     if(ev.touches.length == 1){
     // 記錄開始位置
     this.startX = ev.touches[0].clientX;
     }
     },
     touchMove(ev){
     ev = ev || event;
     //獲取刪除按鈕的寬度,此寬度為滑塊左滑的最大距離
     let wd=this.$refs.remove.offsetWidth;
     if(ev.touches.length == 1) {
     // 滑動時距離瀏覽器左側實時距離
     this.moveX = ev.touches[0].clientX
     
     //起始位置減去 實時的滑動的距離,得到手指實時偏移距離
     this.disX = this.startX - this.moveX;
     console.log(this.disX)
     // 如果是向右滑動或者不滑動,不改變滑塊的位置
     if(this.disX < 0 || this.disX == 0) {
     this.deleteSlider = "transform:translateX(0px)";
     // 大于0,表示左滑了,此時滑塊開始滑動 
     }else if (this.disX > 0) {
     //具體滑動距離我取的是 手指偏移距離*5。
     this.deleteSlider = "transform:translateX(-" + this.disX*5 + "px)";
     
     // 最大也只能等于刪除按鈕寬度 
     if (this.disX*5 >=wd) {
     this.deleteSlider = "transform:translateX(-" +wd+ "px)";
     
     }
     }
     }
     },
     touchEnd(ev){
     ev = ev || event;
     let wd=this.$refs.remove.offsetWidth;
     if (ev.changedTouches.length == 1) {
     let endX = ev.changedTouches[0].clientX;
     
     this.disX = this.startX - endX;
     console.log(this.disX)
     //如果距離小于刪除按鈕一半,強行回到起點
     
     if ((this.disX*5) < (wd/2)) {
     
     this.deleteSlider = "transform:translateX(0px)";
     }else{
     //大于一半 滑動到最大值
     this.deleteSlider = "transform:translateX(-"+wd+ "px)";
     }
     }
     } 
     }
     }
    </script>
    

    到這里就全部完成了,希望對大家有幫助!也希望大家多多支持腳本之家。

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

    文檔

    Vue.js移動端左滑刪除組件的實現代碼

    Vue.js移動端左滑刪除組件的實現代碼:左滑刪除在移動端很常見。下面我們一起來封裝一下這個簡單的小組件。我們想要是: 當滑塊沒有超過刪除按鈕的一半時自動回到起點位置。 滑動距離超過一半滑動到最大值(刪除按鈕寬度) 盡量精簡代碼 效果如下: 在開始之前,我們先得將 [touchEventA
    推薦度:
    標簽: VUE 實現 左滑刪除
    • 熱門焦點

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 南京市| 新邵县| 姜堰市| 东光县| 米泉市| 永济市| 宣恩县| 盘锦市| 鄱阳县| 岗巴县| 探索| 三台县| 宕昌县| 巴林左旗| 汝阳县| 宝兴县| 沽源县| 扎鲁特旗| 图木舒克市| 洞口县| 黄梅县| 浠水县| 依兰县| 通化市| 句容市| 扎赉特旗| 黔西县| 卓资县| 日土县| 西充县| 安康市| 剑河县| 五寨县| 罗平县| 农安县| 枣阳市| 顺平县| 大同县| 左贡县| 九江县| 安乡县|