时间:2022-05-24 09:36:01 | 栏目: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>