.gd{
transition: all .5s;
-moz-transition: all .5s;
-webkit-transition: all .5s;
-o-transition: all .5s;
}
<div id="top" class="gd" style="display: none;">
<span class="loading"> 上拉加载</span>
<div class="load gd" style="display: none;" >
<div style="display:flex;justify-content: center;align-items: center;height:0.8rem;">
<img style="width:0.3rem;" src="/static/mobile/images/weibo/load.gif" alt=""> 加载中
</div>
</div>
</div>
$(document).ready(function(){
var is_tap = false;
var top = 0;
var end = 0;
var h = 0;
var is_shuaxin = false;
var max_h = window.screen.height*0.1
var touchstartY;
$("#data").on('touchmove', function(e) {
if($(document).scrollTop() == 0 && is_tap == true && data.page == 1){
end = e.changedTouches[0].clientY;
h = (end-top)/2;
if( h > max_h){
h = max_h;
is_shuaxin = true;
}
$('#top').removeClass('gd');
$('#top').attr('style','display: flex;align-items: center;align-items: center; justify-content: center; color:#999;');
$('.loading').show();
$('.load').hide();
$('#top').css('height',h+"px");
}else{
is_tap = false;
$('#top').hide();
}
var events = e.touches[0] || e;
var scrollTop = document.body.scrollTop || document.documentElement.scrollTop;
var clientHeight = document.documentElement.clientHeight;
var scrollHeight = document.scrollHeight;
if (
events.clientY > touchstartY &&
scrollTop === 0 &&
e.cancelable
) {
e.preventDefault();
} else if (
scrollTop + clientHeight > scrollHeight &&
e.cancelable
) {
}
});
$("#data").on('touchstart', function(e) {
if($(document).scrollTop() == 0 && data.page == 1 ){
is_tap = true;
top = e.changedTouches[0].clientY;
}
var events = e.touches[0] || e;
touchstartY = events.clientY;
});
$("#data").on('touchend', function(e) {
if($(document).scrollTop() == 0 && data.page == 1 ){
is_tap = false;
$("#top").attr('class','gd');
if(is_shuaxin == true && data.page == 1){
$('#top').css('height',"0.8rem");
}else{
$('#top').css('height',"0px");
}
}
});
$('#top').on('webkitTransitionEnd', function(e) {
$(".loading").hide();
$('.load').show();
if(is_shuaxin == true){
}
}else{
$('#top').hide();
}
});