JavaScript實現(xiàn)移動端滑動選擇日期功能
來源:易賢網(wǎng) 閱讀:2706 次 日期:2016-07-18 16:44:36
溫馨提示:易賢網(wǎng)小編為您整理了“JavaScript實現(xiàn)移動端滑動選擇日期功能”,方便廣大網(wǎng)友查閱!

本文實例為大家分享了JavaScript實現(xiàn)滑動選擇日期的具體代碼,供大家參考,具體內(nèi)容如下

$(page).on('touchmove','#touchMoveTime',function (event) {

   touchMove(event);

  });

  scrollBarInit(); //初始化

  function scrollBarInit() {

   var defaultValue = 3,maxValue = 30;

   var myDate = new Date();

   var year = myDate.getFullYear();

   var month = myDate.getMonth() + 1;  //獲取當前月份(0-11,0代表1月)

   var date = myDate.getDate();

   var day = new Date(year,month,0);

   var daycount = day.getDate(); //獲取本月天數(shù):

   if((date + defaultValue) > daycount){

    if(month == 12){

     month = 1;

     year = year + 1;

    }else{

     month = month + 1;

    }

    date = (date + defaultValue) - daycount;

   }else{

    date = date + defaultValue;

   }

   if(month < 10){

    month = "0"+month;

   }

   if(date < 10){

    date = "0"+date;

   }

   $("#endTime").attr('value',year+'-'+month+'-'+date);

   var currentX = $("#touchMoveTime").width() * (0 / maxValue);

   $('#scroll_Track').css({width:currentX+"px"});

   $('#scroll_Thumb').css({transform:'translate(' + currentX + 'px, 0)'});

  };

  function touchMove(event) {

   event.preventDefault();

   if (!$('#scroll_Thumb') || !event.touches.length) return;

   var defaultValue = 3,maxValue = 30;

   var myDate = new Date();

   var year = myDate.getFullYear();

   var month = myDate.getMonth() + 1;  //獲取當前月份(0-11,0代表1月)

   var date = myDate.getDate();

   var tran_currentX = '';

   var startOffset = parseInt($('#touchMoveTime').offset().left);

   var endOffset = parseInt($('#touchRight').offset().left);

   var _limit = endOffset - startOffset;

   var touchMoveTimeOffsetLeft = $('#scroll_Track').offset().left;

   var touch = event.touches[0];

   var endX = touch.pageX;

   var currentX = endX - touchMoveTimeOffsetLeft;

   var Timevalue = Math.round(maxValue * (currentX / $("#touchMoveTime").width())); //當前刻度值

   if(Timevalue < defaultValue){

    Timevalue = defaultValue

   }else if(Timevalue > maxValue){

    Timevalue = maxValue;

   }

   if(currentX < _limit && currentX > 15){

    $('#days').text(Timevalue);

    $('#scroll_Track').css({width:currentX+"px"});

    if(currentX < 20){

     tran_currentX = 0

    }else{

     tran_currentX = currentX - 20;

    }

    $('#scroll_Thumb').css({transform:'translate(' + tran_currentX + 'px, 0)'});

    var day = new Date(year,month,0);

    var daycount = day.getDate(); //獲取本月天數(shù)

    if((date + Timevalue) > daycount){

     if(month == 12){

      month = 1;

      year = year + 1;

     }else{

      month = month + 1;

     }

     date = (date + Timevalue) - daycount;

    }else{

     date = date + Timevalue;

    }

    if(month < 10){

     month = "0"+month;

    }

    if(date < 10){

     date = "0"+date;

    }

    $('#endTime').attr('value',year+'-'+month+'-'+date);

   }

  }

-------------------------------------------------------------------------

<div class="clList">

  <span class="cl-15 pull-left">3天</span>

 <div id="touchMoveTime" class="jzrqDiv cl-70 pull-left">

  <div id="scroll_Track"></div>

     <div class="spirit icon" id="scroll_Thumb"></div>

 </div>

 <span class="cl-15 pull-left text-right" id="touchRight">30天</span>

</div>

------------------------------------------------------------------------------

.jzrqDiv{position:relative; top:15px; height: 10px; border-radius: 20px; background: #efefef; box-shadow:inset 0 1px 2px rgba(0,0,0,.15); }

2 #scroll_Track{ position: absolute; top:0; height: 10px; border-radius: 20px; background: #2399dc; z-index: 10;}

3 .spirit {position: absolute; top:-9px; width: 30px;height: 30px;line-height: 30px;font-size: 30px;border-radius: 50%;color: #ddd; background: #fff; z-index: 11;transform: translate(0,0);}

名單

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助。

更多信息請查看網(wǎng)絡編程
易賢網(wǎng)手機網(wǎng)站地址:JavaScript實現(xiàn)移動端滑動選擇日期功能

2025國考·省考課程試聽報名

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網(wǎng)