亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

基于JS實(shí)現(xiàn)移動端左滑刪除功能

 更新時間:2017年07月28日 11:30:23   作者:小倔驢  
最近做個項(xiàng)目,需要實(shí)現(xiàn)移動端左滑刪除功能,當(dāng)時js代碼將網(wǎng)上找的進(jìn)行刪減優(yōu)化,下面通過本文給大家分享基于JS實(shí)現(xiàn)移動端左滑刪除功能,感興趣的朋友一起看看

廢話不多說了,直接給大家貼代碼了,具體代碼如下所示:

<div class="wrap pay-wrap" id="lists">
    @foreach (var item in Model)
    {
      <div class="pay-list" style="height:90px;margin: 10px 15px 10px 15px;" id="@item.UID">
        <div class="pay-each" style="height:90px;margin-bottom:0; border-radius: 5px;">
          <div class="pay-order-teacher" style="background-image:url(@item.DiseaseInformation.ListPicPath);height:70px;border-radius:0" onclick="Turn('@item.DiseaseInfoID')"></div><div class="detaildiv" style="padding:0;padding-top:10px" onclick="Turn('@item.DiseaseInfoID')">
            @(item.DiseaseInformation.Title.GetSubstr(60))
          </div>
          <div style="height:20px;margin-right:10px;line-height:20px;vertical-align:middle" onclick="Turn('@item.DiseaseInfoID')">
            <span style="float:left;color: #808080;line-height:2;vertical-align:bottom;width:70%">來源:@(item.DiseaseInformation.Source)</span>
            <span style="float:left;color: #808080;line-height:2;vertical-align:bottom;width:30%"><img src="~/Content/img/yueduliang.png" style="height:20px" /> @(item.DiseaseInformation.BrowseNum)</span>
          </div>
          <div class="pay-order-swiper" style="height:90px;margin-left:15px;width:80px"><a href="javascript:;" rel="external nofollow" onclick="del('@item.UID')" class="btn btn-red pay-order-btn pay-order-del" style="height:90px;line-height:90px;width:105px;font-size:18px">刪除</a>
          </div>
        </div>
      </div>
    }
  </div>

jquery.productswipe.js代碼

/********************
 * 基于jquery模擬移動端列表左右滑動刪除
 * author:yaohuitao@100tal.com
 * ******************/
function prevent_default(e) {
  e.preventDefault();
}
function disable_scroll() {
  $(document).on('touchmove', prevent_default);
}
function enable_scroll() {
  $(document).off('touchmove', prevent_default);
}
var mytouch = function (obj) {
  //滑動刪除
  var Drags = {};
  Drags.dragtag = false;//拖動狀態(tài)
  Drags.dragstart = true;//拖動開始標(biāo)志
  Drags.datatransx = 0;
  $(obj)
    .on('touchstart mousedown', function (e) {
      if (!($(e.target).hasClass("pay-order-swiper") || $(e.target).parents().hasClass("pay-order-swiper"))) {
        closeallswipe();   //點(diǎn)擊還原
        if (e.originalEvent.targetTouches) {
          Drags.dragx = e.originalEvent.targetTouches[0].pageX;
          Drags.dragy = e.originalEvent.targetTouches[0].pageY;
        } else {
          Drags.dragx = e.pageX;
          Drags.dragy = e.pageY;
        }
        if ($(e.currentTarget).attr("data-transX")) {
          Drags.datatransx = parseInt($(e.currentTarget).attr("data-transX"));
        }
        Drags.dragtag = true;
        Drags.dragstart = true;
      }
    })
    .on('touchmove mousemove', function (e) {
      if (Drags.dragtag) {
        $(e.currentTarget).removeClass('animatedh');
        $(e.currentTarget).addClass('dragstart');  //添加禁止選擇
        var change = 0;
        if (e.originalEvent.targetTouches) {
          change = e.originalEvent.targetTouches[0].pageX - Drags.dragx;
          changey = e.originalEvent.targetTouches[0].pageY - Drags.dragy;
        } else {
          change = e.pageX - Drags.dragx;
          changey = e.pageY - Drags.dragy;
        }
        if (Drags.dragstart) {
          if (Math.abs(changey) < 20) {
            showswiperfbn();
          }
        } else {
          showswiperfbn();
        }
        function showswiperfbn() {
          if (Math.abs(change) > 20) {
            Drags.dragstart = false;
            if (change < -20) {
              change = change + Drags.datatransx + 20;
            } else {
              change = change + Drags.datatransx - 20;
            }
            change = Math.min(Math.max(-300, change), 0);
            $(e.currentTarget).css('transform', 'translate3D(' + change + 'px,0px,0px)');
            $(e.currentTarget).attr("data-transX", change);
            disable_scroll();
          }
        }
      }
    })
    .on('touchend mouseup', function (e) {
      var left = parseInt($(e.currentTarget).attr("data-transX"));
      var new_left;
      if ($(e.currentTarget).hasClass("open")) {
        if (left > -110) {
          new_left = 0;
          $(e.currentTarget).removeClass('open');
        } else {
          new_left = -120;
        }
      } else {
        if (left < -20) {
          new_left = -120;
          $(e.currentTarget).addClass('open');
        } else {
          new_left = 0;
        }
      }
      $(e.currentTarget).removeClass('dragstart');
      $(e.currentTarget).css('transform', 'translate3D(' + new_left + 'px,0px,0px)');
      $(e.currentTarget).attr("data-transX", new_left);
      $(e.currentTarget).addClass('animatedh');
      Drags.dragtag = false;
      enable_scroll()
    });
}
function closeallswipe() {
  $('.pay-list .pay-each').css('transform', 'translate3D(0px,0px,0px)');
  $('.pay-list .pay-each').removeClass('open');
  $('.pay-list .pay-each').addClass('animatedh');
  $('.pay-list .pay-each').attr("data-transX", 0);
}

頁面使用 執(zhí)行mytouch($('.pay-list .pay-each'));

總結(jié)

以上所述是小編給大家介紹的基于JS實(shí)現(xiàn)移動端左滑刪除功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • 使用echarts餅狀圖label既在內(nèi)部顯示數(shù)值(百分比),又顯示外部指示線

    使用echarts餅狀圖label既在內(nèi)部顯示數(shù)值(百分比),又顯示外部指示線

    這篇文章主要介紹了使用echarts餅狀圖label既在內(nèi)部顯示數(shù)值(百分比),又顯示外部指示線問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • javascript textarea光標(biāo)定位方法(兼容IE和FF)

    javascript textarea光標(biāo)定位方法(兼容IE和FF)

    主要是實(shí)現(xiàn)textarea中光標(biāo)的定位方法,考慮到多瀏覽器的兼容性,需要的朋友可以參考下。
    2011-03-03
  • js 使FORM表單的所有元素不可編輯的示例代碼

    js 使FORM表單的所有元素不可編輯的示例代碼

    使FORM表單的的所有元素不可編輯的方法有很多,在本文將為大家詳細(xì)介紹下,js是如何做到的,感興趣的朋友不要錯過
    2013-10-10
  • 詳解Bootstrap按鈕

    詳解Bootstrap按鈕

    本文給大家介紹bootstrap按鈕相關(guān)知識,包括按鈕大小、按鈕狀態(tài)、按鈕標(biāo)簽相關(guān)樣式定義,對bootstrap按鈕相關(guān)知識感興趣的朋友一起學(xué)習(xí)吧
    2016-01-01
  • JSP防止網(wǎng)頁刷新重復(fù)提交數(shù)據(jù)的幾種方法

    JSP防止網(wǎng)頁刷新重復(fù)提交數(shù)據(jù)的幾種方法

    這篇文章主要介紹了JSP防止網(wǎng)頁刷新重復(fù)提交數(shù)據(jù)的幾種方法,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-11-11
  • ESLint和Jest中使用esm示例詳解

    ESLint和Jest中使用esm示例詳解

    這篇文章主要為大家介紹了ESLint和Jest中使用esm示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • 工廠模式在JS中的實(shí)踐

    工廠模式在JS中的實(shí)踐

    本文主要介紹了JS中的工廠模式實(shí)踐。具有一定的參考價值,下面跟著小編一起來看下吧
    2017-01-01
  • JS TextArea字符串長度限制代碼集合

    JS TextArea字符串長度限制代碼集合

    因?yàn)闃I(yè)務(wù)需求 今天做了一個textarea文本域字符串長度限制的方法,其實(shí)網(wǎng)上已經(jīng)有了很多相關(guān)的解決方案,但在輸入日語時,在IE存在BUG,我的這個版本就是針對這種情況的
    2012-10-10
  • JavaScript中的class類詳解

    JavaScript中的class類詳解

    JavaScript?中的類(Class)是一種新的語言特性,它讓我們可以使用面向?qū)ο缶幊痰乃枷雭砀臃奖愕亟M織和管理代碼。在本文中,我們將詳細(xì)介紹?JavaScript?中的類特性,感興趣的同學(xué)可以借鑒閱讀
    2023-05-05
  • JavaScript網(wǎng)頁表單form中禁止自動提交的兩種方式

    JavaScript網(wǎng)頁表單form中禁止自動提交的兩種方式

    本文是我本人在開發(fā)網(wǎng)頁時,在表單中加入了button按鈕,本來是用于jQuery點(diǎn)擊相應(yīng)事件的按鈕,然后,但我點(diǎn)擊button時,發(fā)現(xiàn)不是達(dá)到j(luò)Query指定效果,所以在本文中,我們將討論網(wǎng)頁表單(form)中提交的兩種方式,需要的朋友可以參考下
    2024-06-06

最新評論