1. 程式人生 > 程式設計 >jQuery實現移動端下拉展現新的內容回彈動畫

jQuery實現移動端下拉展現新的內容回彈動畫

jQuery移動端下拉展現新的內容動畫回彈,供大家參考,具體內容如下

jquery的方法,寫的比較細,可以改成原生的這裡就不做修改了,話不多說上程式碼,也可以改成下拉重新整理

<!DOCTYPE html>
<html>
 <head>
 <meta charset="UTF-8">
 <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
 <title>頂部回彈</title>
 <style type="text/css">
 html,body,div,h2{ margin: 0;padding: 0;}
 html,body { width: 100%;height: 100%;overflow: hidden; }
 .wrap { width: 100%;height: 100%;overflow: hidden;position: relative; }
 .hideBox { width: 100%;height: 100%;background-color: #f5f5f5;position: absolute;top: 0;left: 0;overflow-y: auto;}
 .hideBox h2 { width: 100%;margin-top: 20%;font-size: 16px;text-align: center; }
 
 .top { width: 100%;height: 100%; position: absolute; top: 0;left: 0;z-index: 2;background-color: #fff;overflow-y: auto;text-align: center;}
 .moveBox {background-color: #1a84dd;color: #fff;width: 100px;height: 100px;text-align: center;line-height: 100px;border-radius: 50%;cursor: pointer; -webkit-user-select: none;-moz-user-select: none;margin: 0 auto;}
 .moveIn { transition: all 1s ease-in; }
 </style>
 </head>
 <body>
 <div class="wrap" >
 <div class="hideBox" >
 <h2>這是隱藏層的內容</h2>
 <h2>這是隱藏層的內容</h2>
 <h2>這是隱藏層的內容</h2>
 <h2>這是隱藏層的內容</h2> 
 <h2>這是隱藏層的內容</h2>
 <h2>這是隱藏層的內容</h2>
 <h2>這是隱藏層的內容</h2>
 <h2>這是隱藏層的內容</h2>
 <h2>這是隱藏層的內容</h2>
 <h2>這是隱藏層的內容</h2>
 <h2>這是隱藏層的內容</h2>
 <h2>這是隱藏層的內容</h2>
 </div>
 <div class="top" >
 <div class="moveBox" >移動塊</div>
 <div class="moveBox" >移動塊</div>
 <div class="moveBox" >移動塊</div>
 <div class="moveBox" >移動塊</div>
 <div class="moveBox" >移動塊</div>
 <div class="moveBox" >移動塊</div>
 <div class="moveBox" >移動塊</div>
 <div class="moveBox" >移動塊</div>
 <div class="moveBox" >移動塊</div>
 <div class="moveBox" >移動塊</div>
 <div class="moveBox" >移動塊</div>
 </div>
 </div>
 </body>
 <script src="https://cdn.bootcss.com/jquery/2.1.4/jquery.min.js" type="text/javascript" charset="utf-8"></script>
 <script type="text/javascript">
 $(function(){
 moveBoxFun($(".top"));
 }) 
 // 移動方法
 function moveBoxFun(dome){
 var startY,endY,intY,maxH = $(window).height(),maxY = maxH*0.6; // 手指移動的距離
 if(dome){
 
 dome.on('touchstart',function(e){
  var touchS = e.originalEvent.targetTouches[0];
  var startY = touchS.clientY; // 滑鼠相對瀏覽器視窗高度 
  // 獲取當前元素scrollTop 
  var scrollTop = dome.scrollTop();
  // 不在頂部禁止
  if(scrollTop !== 0){
  dome.css({top:0});
  dome.unbind('touchmove');
  return;
  }
  // 移動變數
  var moveY = 0;
  
  dome.on('touchmove',function(ev){
  var touchM = ev.originalEvent.targetTouches[0];  
  var mY = touchM.clientY;
  moveY+=2;
  if(mY - startY > 0){  
  dome.css({
  top: moveY+'px'
  })
  }
            // 如果重新整理可以改成 window.location.reload()
  })  
  
  dome.on('touchend',function(ev){
  var touchE = ev.originalEvent.changedTouches[0];
  var endY = touchE.clientY;
  dome.unbind('mousemove');
  if(endY - startY >0&& endY - startY > maxY){
  dome.animate({
  top: maxH + 'px'
  },function(){
  dome.hide();
  })
  }else{
  dome.css({
  top:'0px'
  },200)
  }
  });  
 });
 
 }
 }
 
 </script>
</html>

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。