WEB网页 ,下拉刷新

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width,target-densitydpi=high-dpi,initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
    <meta name="apple-mobile-web-app-capable" content="yes" />
    <title>下拉刷新</title>
<style>
*{
    padding:0;
    margin:0;
}
#header{
    height:40px;
    background:pink;
    text-align: center;
    line-height: 40px;
    position: relative;
    z-index:2;
}
#down_load{
    background:#E67E21;
    -webkit-transition:.3s;
    -webkit-transform:translate3d(0px,0px,0px);
    position: relative;
}
.loading{
    width:100%;
    height:80px;
    position: absolute;
    z-index:-1;
    background:#ddd;
    top:-80px;
    text-align: center;
    line-height:80px;
}
</style>
</head>
<body>

<header id="header">头部</header>

<section id="down_load">
    <div class="loading">
        <span>↓ 下拉刷新...</span>
    </div>
    <p>内容</p>
    <p>内容</p>
    <p>内容</p>
    <p>内容</p>
    <p>内容</p>
    <p>内容</p>
    <p>内容</p>
    <p>内容</p>
    <p>内容</p>
    <p>内容</p>
    <p>内容</p>
    <p>内容</p>
    <p>内容</p>
    <p>内容</p>
    <p>内容</p>
    <p>内容</p>
    <p>内容</p>
    <p>内容</p>
    <p>内容</p>
    <p>内容</p>
    <p>内容</p><p>内容</p>
    <p>内容</p>
    <p>内容</p>
    <p>内容</p>
    <p>内容</p>
    <p>内容</p>
    <p>内容</p>
    <p>内容</p>
    <p>内容</p>
    <p>内容</p>
    <p>内容</p>
    <p>内容</p>
    <p>内容</p>
    <p>内容</p>
    <p>内容</p>
    <p>内容</p>
    <p>内容</p>
    <p>内容</p>
    <p>内容</p>
    <p>内容</p>
    <p>内容</p>
</section>

<script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script>
<script>
    //首先必须的新建一个 data.js 为数据接口,这样获取数据成功之后才能执行动作,简单例子:[{‘title‘:‘aa‘},{‘title‘:‘bb‘},{‘title‘:‘cc‘}]

    function downLoad( id ){
        oDownLoad = document.getElementById(id);
        var startY , offsetY , addNum , timer;

        //开始
        var downLoadStart = function( event ){
            this.startY = event.touches[0].pageY;
        }
        //下拉
        var downLoadMove = function( event ){
            //单只手指操作时才执行
            if ( event.targetTouches.length == 1 ) {
                event.preventDefault();
                this.offsetY = event.targetTouches[0].pageY - this.startY;
                //不让它超出80的范围
                if ( this.offsetY > 80 ) {
                    this.offsetY = 80;
                }else if ( this.offsetY < 0) {
                    this.offsetY = 0;
                }
                oDownLoad.style[‘-webkit-transform‘] = ‘translate3d(0px,‘+this.offsetY+‘px,0px)‘;
                console.log( this.offsetY );
            }
        }
        //结束
        var downLoadEnd = function(){
            //如果大于 80 的数值那么就调用ajax,否则返回
            addNum = 0;
            if ( this.offsetY > 79 ) {
                addNum = 79;
                $.ajax({
                    url:‘data.js‘,
                    type:‘get‘,
                    beforeSend:function(){
                        $(‘.loading span‘).html(‘正在刷新...‘);
                    },
                    success:function(data){
                        addNum = 0;
                        $(‘.loading span‘).html(‘↑刷新成功...‘);
                        oDownLoad.style[‘-webkit-transform‘] = ‘translate3d(0px,‘+addNum+‘px,0px)‘;
                        var data = eval(‘(‘+data+‘)‘);
                        console.log(data);
                        timer = setTimeout(function(){
                            $(‘.loading span‘).html(‘↓ 下拉刷新...‘);
                            clearTimeout(timer);
                        },300);
                    }
                });
            }

            oDownLoad.style[‘-webkit-transform‘] = ‘translate3d(0px,‘+addNum+‘px,0px)‘;
        }

        //监控事件
        oDownLoad.addEventListener(‘touchstart‘ , downLoadStart );
        oDownLoad.addEventListener(‘touchmove‘ , downLoadMove );
        oDownLoad.addEventListener(‘touchend‘ , downLoadEnd);
    }
    downLoad(‘down_load‘);
</script>
</body>
</html>

  

时间: 2024-10-12 03:35:23

WEB网页 ,下拉刷新的相关文章

移动端网页下拉刷新

一.采用触摸事件touchmove. 1.定义公共变量 var timer = null; var startY, moveY, initTop, oldTop, newTop; 2.添加事件 $('#container ul').on('touchstart', function(e){ startY = e.originalEvent.touches[0].pageY; initTop = 0; }); $('#container ul').on('touchmove', function(

iOS.访问 Web Service.使用下拉刷新控件

#import <UIKit/UIKit.h> #import "T20140628025702NSNumber+Message.h" #import "T20140628025702NSString+URLEncoding.h" @interface T20140628025702ViewController : UITableViewController @property (nonatomic,strong) NSMutableArray *lis

jsp手机端网页实现下拉刷新,上拉加载

实现代码如下:(js控制代码) 1 var loading = false; 2 $(document.body).infinite().on("infinite", function() { 3 $("#loadingID").css("display",""); 4 if(loading)return; 5 loading = true; 6 setTimeout(function() { 7 var pageNo=par

Javascript下拉刷新

今天想说的是如何自己操刀做一个js的下拉刷新(js + h5 + css3).既然是下拉,那么应用场景当然就是在手持设备上.在JavaScript的世界里,总是跟很多实用又华丽丽的效果接轨,这是一门很有色彩的编程语言.目前网络上也有很多非常优秀的js滑动插件,比如iscroll(最开始我们就是用这款插件,真心很好用,而且解决了很多html的问题).当然,我要讲的完全没办法和iscroll媲美,仅仅是简简单单的一角而已,主要目的在于对这点小知识的总结和分享. 之前也有讲过,移动设备上对CSS3和H

IOS UIWebView 下拉刷新功能的简单实现

1.运行效果图 2.swift 代码的实现 import UIKit class RefreshWebViewController: UIViewController,UIScrollViewDelegate,UIWebViewDelegate{ @IBOutlet weak var webView: UIWebView! //刷新控件view private var header:UIView! //下拉到50时松开刷新 private let pullHeight:CGFloat=50 //

Android Demo 下拉刷新+加载更多+滑动删除

小伙伴们在逛淘宝或者是各种app上,都可以看到这样的功能,下拉刷新和加载更多以及滑动删除,刷新,指刷洗之后使之变新,比喻突破旧的而创造出新的,比如在手机上浏览新闻的时候,使用下拉刷新的功能,我们可以第一时间掌握最新消息,加载更多是什么nie,简单来说就是在网页上逛淘宝的时候,我们可以点击下一页来满足我们更多的需求,但是在手机端就不一样了,没有上下页,怎么办nie,方法总比困难多,细心的小伙伴可能会发现,在手机端中,有加载更多来满足我们的要求,其实加载更多也是分页的一种体现.小伙伴在使用手机版QQ

Android PullToRefresh下拉刷新控件的简单使用

PullToRefresh这个开源库早就听说了,不过一直没用过.作为一个经典的的开源库,我觉得还是有必要认识一下. 打开github上的网址:https://github.com/chrisbanes/Android-PullToRefresh 网页一打开就看到一个大大的提醒(说是该项目已经不再维护了): 不管怎样先下载下来再说: 下载解压后,打开文件夹如下图所示: 然后导入到工程,如下图所示:(其中的PullToRefreshListFragment和PullToRefreshViewPage

基于vue的下拉刷新&amp;滚动刷新指令

小编最近在实现移动端列表页面显示的时候一直在思考如何实现列表的自动更新数据,对于大多数Native App或者Web App,在列表的底部增加"加载更多"的按钮也是解决这样的问题一种交互的方式,当然,这样的交互其实还好,不过根据用户的操作习惯来看,似乎滚动刷新更多数据和下拉刷新当前数据的操作方式,更符合用户对列表分页数据的读取习惯,因此,在这里小编想简单的说说,这次在小编系统中所使用的下拉刷新和滚动刷新的实现方式! 其实,这种实现数据加载的原理很简单 在滚动刷新的时候,需要在列表滚动到

apicloud如何实现优雅的下拉刷新与加载更多(Appcan也可类似实现)

apicloud中提供下拉刷新监听事件api,也提供滚动到底部事件的监听,能够实现下拉刷新和滚动到底部加载更多功能,但是我们真的就满足实现功能了吗?将两个代码拼凑起来运行看看发现了什么?是的,在滚动到底部加载更多的时候底部会弹动,有人可能会说触发加载更多的时候直接放一个遮罩view,也就是progress,用来禁止用户继续对当前view产生触摸事件就行,但是如果你很快滑动到底部呢,弹动现象仍然不能禁止.我曾向技术多次提过在下拉刷新api中提供一个参数用来控制是否禁用底部弹动的,但是前几次技术都是