h5手机端怎么实现上拉加载,h5网页下拉刷新js

企业预算:¥面议需求类型:邮件营销企业行业:电子行业企业预算:¥面议需求类型:整体托管企业行业:包装/印刷
电商服务热点
打开微信“扫一扫”打开网页后点击屏幕右上角分享按钮UWP开发入门(七)——下拉刷新 - 楼上那个蜀黍_H5之家 - 中国HTML5教程资源分享第一站
UWP开发入门(七)——下拉刷新 - 楼上那个蜀黍
作者:H5之家
本篇意在给这几天 Win10 Mobile 负面新闻不断的某软洗地,想要证明实现一个简单的下拉刷新并不困难。 UWP 开发更大的困难在于懒惰,缺乏学习的意愿。而不是某软连下拉刷新控件都没有这样的想法。 之前我也没有进行过下拉刷新的研究。于是先去 google 了几篇
  本篇意在给这几天Win10 Mobile负面新闻不断的某软洗地,想要证明实现一个简单的下拉刷新并不困难。UWP开发更大的困难在于懒惰,缺乏学习的意愿。而不是&某软连下拉刷新控件都没有&这样的想法。
  之前我也没有进行过下拉刷新的研究。于是先去google了几篇blog学习了一下,然后再看了某软官方的Sample。(同学们啊官方有下拉刷新的Sample啊!就在Git上啊!不要钱无门槛啊!)学习之后发现实现的方式大体分为两类。
  一类是以某软Sample和博客园MS-UAP封装的PullToRefreshBox为代表,将一片&释放刷新&区域和一个ListView上下排列放置到一个ScrollView中。初始通过向下滚动ScrollView将&释放刷新&区域上移至不可见,在每次向上滚动显示&释放刷新&区域时,触发ScrollView的ViewChanged事件来进行加载新数据。完成新数据加载后,再次将&释放刷新&区域上移隐藏。
  另一类是通过附加属性来获取ListView内部的ScrollView,并检测内部ScrollView的相关Manpulation事件来实现数据刷新。
  考虑到附加属性稍稍超出入门范围,且第一类代码可以写得较为简单。故采用ScrollView嵌套的方法,给出一个极简的下拉刷新实现,虽并不能应对所有的需求,但考虑到30行不到的代码量,绝对你值得拥有!
  首先是XAML的代码,平淡无奇没有任何高深的技巧:
Loaded="scrollViewer_Loaded"
ViewChanged
  再来看cs文件。首先是Items和IsPullRefresh属性的定义,前者是ListView中的数据集,后者Binding到ProgressRing的IsActive属性,这里略过不表。
  值得注意的仅有scrollViewer_Loaded和scrollViewer_ViewChanged两个方法。scrollViewer的Load方法里,我们在初始状态下将ScrollViewer向上滚动了30个px,正好将ProgressRing隐藏了起来。然后是scrollViewer_ViewChanged方法,IsIntermediate属性指出滑动是否还在进行中,如果不是并且到达顶部了,就去加载新的数据,同时控制ProgressRing的菊花转圈圈。最后,再将ScrollViewer向上滚动30px藏起ProgressRing。
MainPage : Page, INotifyPropertyChanged
public ObservableCollection&object& Items { get; set; }
public bool IsPullRefresh
return _isPullR
_isPullRefresh =
OnPropertyChanged(nameof(IsPullRefresh));
bool _isPullRefresh = false;
public MainPage()
this.InitializeComponent();
Items = new ObservableCollection&object&();
for (int i = 0; i & 40; i++)
Items.Add(i);
public event PropertyChangedEventHandler PropertyC
public void OnPropertyChanged(string name)
this.PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(name));
private void scrollViewer_Loaded(object sender, RoutedEventArgs e)
scrollViewer.ChangeView(null, 30, null);
scrollViewer_ViewChanged(object sender, ScrollViewerViewChangedEventArgs e)
var sv = sender as ScrollV
if (!e.IsIntermediate)
if (sv.VerticalOffset == 0.0)
IsPullRefresh = true;
await Task.Delay(2000);
for (int i = 0; i & 5; i++)
Items.Insert(0, i);
sv.ChangeView(null, 30, null);
IsPullRefresh = false;
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。
快速入门系列--WCF--01基础概念 - 熊二哥
myeclipse环境下开发freemarker - 南归的候鸟
《Cocos2d-x游戏开发实战精解》学习笔记1--在Cocos2d中显示图像 - an
作为前端开发兼任产品专员是一种咋样的体验 - 勤劳的码农
关注微信公众号,了解最新精彩内容swiperslider具有硬件加速的移动端触摸滑块插件_觉唯设计
在之前给大家分享过一款移动端的内容滑块插件《》,但该插件存在几个缺点,导致使用起来有点困难。很多同学都来问觉唯,该怎么解决呢?那么觉唯就为大家解决这个问题,解决方案是使用另外一个功能极其强大的插件:Swiper – Mobile touch slider and framework with hardware accelerated transitions。按照觉唯惯例,demo先送上,一共有19个演示效果,大家可以前往体验。
Swiper是由iDangero.us开发的一款免费移动端触摸滑块幻灯片插件,不但能够适用于各种操作系统的手机,还能够利用HTML5的硬件加速功能来完成滑块的切换效果,其效果以及实用性非常强。该插件原主要适用于iOS的设计,但也适用于Android、Windows Phone和最新的桌面浏览器,当然也可以使用在APP上,如微信、QQ等等。
一、Swiper的特点
下面就为大家介绍下该插件的特点:
1、1:1 触控运动
Swiper默认为1:1的触控距离,比率可以自定义。
2、触控模拟
能让鼠标也支持触摸滑动效果,可以在PC端也能滑动起来,也就是支持在电脑端鼠标滑动。
3、水平或垂直
有两种运动模式,horizontal(水平滑动)以及vertical(垂直滑动)。
4、自由模式
能够让slides无需定位,就像通常的滑动条。(可以在演示地址体验)
5、旋转调整
Swiper 在移动设备旋转后可以自适应尺寸,可以自动根据设备旋转和缩放。
6、响应式布局
slides的高度使用百分比来设置,从而解决不同移动端的适配。
7、滑动阻止
会自动限制一种模式,水平或者垂直。
8、滑块反弹
反弹机制,当滑块到达最左或者最右(最上或者最下)的位置时,会触发回弹效果。
9、原生动态
使用原生的转换效果,html5动画属性。
10、内置分页控制
能自动生成分页控制机制,可以指定控制器的标签pagination。
11、自动播放
Swiper可以设置自动播放,以及自动播放的延迟时间。
12、循环模式
可以自由设置开启和关闭,开启后,能够无限的播放幻灯片,到了最后一个位置时,会切换回第一个(无缝切换)。
13、旋转模式
能够让你在slides父容器下设置你所需要展示的slides数量来旋转播放。
14、滚动容器
该功能可以在容器里面滚动内容(不是指幻灯片,而是幻灯片里面的内容滚动),特别适用于APP的开发效果。
15、嵌套幻灯片
能够将swiper嵌套入各种不同的Swiper的slide里面,例如第一个slide里面可以放在一个水平的,而第二个slide里面可以放置垂直的。
16、放置HTML标签
该幻灯片插件,不只是允许放置图片标签,而且可以放置任意的HTML标签,例如文本、视频等等。
17、硬件加速
swiper可以使用设备硬件加速技术,能大幅度的改善动画效果以及优美的流畅性,特别是在IOS系统里面表现的更加完美(硬件加速需要设备支持)。
18、丰富的API接口
swiper拥有着非常丰富的api接口,例如:onTouchStart、onTouchMove、onTouchEnd、onSlideSwitc、autoplay等等。
19、灵活的配置
Swiper在初始化的时候能够接受多个参数,可以非常灵活的配置插件的效果。
20、插件API
Swiper从1.7版本开始就变的更加强大,因为有更多而简单的插件API允许开发者创造属于自己的Swiper 插件或通过Swiper的核心创制hooks(挂钩)(该官网处提供了几款优秀的插件Swiper smooth progress, Swiper hash navigation,swiper scrollbar)。
21、良好的兼容性
Swiper通用性的测试环境:移动端的Safari(iOS5下),Android 2.1+,windows Phone 8,以及最新版本的谷歌浏览器(Chrome),Safari,Firefox,IE10 以及欧朋浏览器(Opera)。
22、对IE的兼容
能够兼容IE7以上的版本,在IE7中使用的DOM动画,而非css transitions切换,所以需要引入jQuery。
23、独立性
Swiper不依赖像jQuery那样的js类库,这样子Swiper会更加的小型以及快速,从而使用不同的手机设备环境。但Swiper也能很安全地应用诸如jQuery、jQuery Mobile,jQTouch等等其他的js类库。
24、超轻量级
压缩后仅仅10KB左右,独立运行,不依靠第三方类库。
看完之后是不是感觉很激动?基本上此插件可以完成大部分的移动滑块的需求了。
二、Swiper的使用
那么接下来就跟大家说下简单的用法,首先引入核心文件js,以及自带的默认css样式表:
&link rel="stylesheet" href="../dist/idangerous.swiper.css" rel="external nofollow" &
&script defer src="../dist/idangerous.swiper.min.js"&&/script&
HTML结构以及插件初始化配置:
&div class="device"&
&a class="arrow-left" href="#" rel="external nofollow"
rel="external nofollow" &&/a&
&a class="arrow-right" href="#" rel="external nofollow"
rel="external nofollow" &&/a&
&div class="swiper-container"&
&div class="swiper-wrapper"&
&div class="swiper-slide"& &img src="/uploads/42321afe81f00b1a4495.png"& &/div&
&div class="swiper-slide"& &img src="/uploads/42321afe81f00b1a4495.png"& &/div&
&div class="swiper-slide"&
&div class="content-slide"&
&p class="title"&Slide with HTML&/p&
&p&在这里放置任意html,例如html文本、视频。&/p&
&p&&a href="/"&觉唯网&/a&,推崇以用户为中心的设计理念,致力于为设计爱好者提供一个良好的学习交流平台。&/p&
&div class="pagination"&&/div&
插件初始化配置:
var mySwiper = new Swiper('.swiper-container',{
pagination: '.pagination',
loop:true,
grabCursor: true,
paginationClickable: true
$('.arrow-left').on('click', function(e){
e.preventDefault()
mySwiper.swipePrev()
$('.arrow-right').on('click', function(e){
e.preventDefault()
mySwiper.swipeNext()
通过上面的代码输出,就可以使用这个插件了。操作使用起来还是挺方便的,代码也不会很复杂。
关于这个插件的更多API使用方法以及参数,大家可以前往官网查询:。
记住我的登录
您也可以使用第三方帐号登录
您也可以使用第三方帐号快捷注册EGOTableViewPullRefresh实现上拉加载更多拉刷新功能
目录(?)[+]
在一个项目开发过程中为了更好的体验经常会用到下拉刷新更新数据,当然也伴随一些上拉加载更多数据的情况;当前比较火的EGOTableViewPullRefresh只实现了下拉功能,而没有上拉的功能。这里介绍一个同时集成下拉刷新和上拉加载更多的类库EGOTableViewPullRefresh
英文原文和类库下载地址:/emreberge/EGOTableViewPullRefresh& &&
附带 Demo效果
Whats different on this fork:
容易集成,使用interface builder 添加tableView进行配置。配置简单, 箭头头像,背景颜色和文本颜色都能通过PullTableView类的属性很容易的更改。&&上拉加载更多数据功能在Table的底部。可以通过代码修改刷新和加载更多动画。
The fast setup:
添加 QuartzCore.framework 到你的工程中。将 EGOTableViewPullRefresh 拖到你的工程目录下。查看 PullTableView.h 文件可用的属性。添加一个PullTableView 到你代码中,实现PullTableViewDelegate委托方法。欣赏吧。
The detailed setup (Walk through for creating the demo project):
创建一个新的xcode工程选择&View Based Application 模板(xcode 4.2以后版本是 Single View Application模板)工程名字 EGOTableViewPullRefreshDemo在工程文件下创建EGOTableViewPullRefreshDemoViewController控制器类(Single View Application模板不需这步)添加&QuartzCore.framework&到工程中
添加 PullTableView 到工程里:
拖拽 EGOTableViewPullRefresh 目录下文件到工程支持的文件组下,确保(EGOTableViewPullRefresh)下文件都拷贝到目标文件组下。&
添加 PullTable 视图到&EGOTableViewPullRefreshDemoViewController.xib上:
拖一个UITableView控件到View视图上.打开&Identity inspector&将Table 的继承类由 &UITableView 改成PullTableView连接 dataSources数据源和 pullDelegate协议到PullTableView的 File's owner上
配置视图控制器的头文件&EGOTableViewPullRefreshDemoViewController.h:
添加&#import &PullTableView.h&声明 PullTableViewDelegate 和 UITableViewDataSource协议创建一个属性名为pullTableView的输出口连接到interface Builder上的tableView上
配置视图控制器和页脚&EGOTableViewPullRefreshDemoViewController.m
在.m文件中添加下面代码
[cpp]&view
#pragma&mark&-&Refresh&and&load&more&methods&&
-&(void)&refreshTable&&
&&&&&&&&&Code&to&actually&refresh&goes&here.&&刷新代码放在这&
&&&&self.pullTableView.pullLastRefreshDate&=&[NSDate&date];&&
&&&&self.pullTableView.pullTableIsRefreshing&=&NO;&&
-&(void)&loadMoreDataToTable&&
&&&&&Code&to&actually&load&more&data&goes&here.&&加载更多实现代码放在在这&
&&&&self.pullTableView.pullTableIsLoadingMore&=&NO;&&
#pragma&mark&-&UITableViewDataSource&&
-&(NSInteger)numberOfSectionsInTableView:(UITableView&*)tableView&&
&&&&return&5;&&
-&(NSInteger)&tableView:(UITableView&*)tableView&numberOfRowsInSection:(NSInteger)section&&
&&&&return&10;&&
-&(UITableViewCell&*)&tableView:(UITableView&*)tableView&cellForRowAtIndexPath:(NSIndexPath&*)indexPath&&
&&&&static&NSString&*cellIdentifier&=&@&Cell&;&&
&&&&UITableViewCell&*cell&=&[tableView&dequeueReusableCellWithIdentifier:cellIdentifier];&&
&&&&if(!cell)&{&&
&&&&&&&&cell&=&[[UITableViewCell&alloc]&initWithStyle:UITableViewCellStyleDefault&reuseIdentifier:cellIdentifier];&&
&&&&cell.textLabel.text&=&[NSString&stringWithFormat:@&Row&%i&,&indexPath.row];&&
&&&&return&&&
-&(NSString&*)&tableView:(UITableView&*)tableView&titleForHeaderInSection:(NSInteger)section&&
&&&&return&[NSString&stringWithFormat:@&Section&%i&begins&here!&,&section];&&
-&(NSString&*)&tableView:(UITableView&*)tableView&titleForFooterInSection:(NSInteger)section&&
&&&&return&[NSString&stringWithFormat:@&Section&%i&ends&here!&,&section];&&
#pragma&mark&-&PullTableViewDelegate&&
-&(void)pullTableViewDidTriggerRefresh:(PullTableView&*)pullTableView&&
&&&&[self&performSelector:@selector(refreshTable)&withObject:nil&afterDelay:3.0f];&&
-&(void)pullTableViewDidTriggerLoadMore:(PullTableView&*)pullTableView&&
&&&&[self&performSelector:@selector(loadMoreDataToTable)&withObject:nil&afterDelay:3.0f];&&
对于UI的配置,在ViewDidLoad()方法里面添加下面代码(比如 修改刷新和上拉的背景色箭头头像等)
[cpp]&view
self.pullTableView.pullArrowImage&=&[UIImage&imageNamed:@&blackArrow&];&&
self.pullTableView.pullBackgroundColor&=&[UIColor&yellowColor];&&
self.pullTableView.pullTextColor&=&[UIColor&blackColor];&&
对于手动设置动画可使用 pullTableIsRefreshing 和pullTableIsLoadingMore 属性. 比如在 viewWillAppear:方法里面添加下面的代码
[cpp]&view
if(!self.pullTableView.pullTableIsRefreshing)&{&&
&&&&self.pullTableView.pullTableIsRefreshing&=&YES;&&
&&&&[self&performSelector:@selector(refreshTable)&withObject:nil&afterDelay:3];&&
原创博客欢迎转载分享,请注明出处http://blog.csdn.net/duxinfeng2010
> 本站内容系网友提交或本网编辑转载,其目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请及时与本网联系,我们将在第一时间删除内容!
之前分享主要是系统自带的SwipeRefreshLayout ,但是只支持下拉刷新,没有加载更多功能 ,但是不知道什么原因官方SwipeRefreshLayout只提供下拉刷新功能,很多时候我们需要上拉刷新功能,但有的时候我们也需要上拉加载更多更能,有需求就会有市场,所以上拉加载应运而生.
添加上拉加载更多功能,实现SwipeRefreshLay ...
在一个项目开发过程中为了更好的体验经常会用到下拉刷新更新数据,当然也伴随一些上拉加载更多数据的情况:当前比较火的EGOTableViewPullRefresh只实现了下拉功能,而没有上拉的功能.这里介绍一个同时集成下拉刷新和上拉加载更多的类库EGOTableViewPullRefresh 英文原文和类库下载地址:/emre ...
在一个项目开发过程中为了更好的体验经常会用到下拉刷新更新数据,当然也伴随一些上拉加载更多数据的情况:当前比较火的EGOTableViewPullRefresh只实现了下拉功能,而没有上拉的功能.这里介绍一个同时集成下拉刷新和上拉加载更多的类库EGOTableViewPullRefresh 英文原文和类库下载地址:/emre ...
IOS里面用到的下拉刷新.上拉加载更多控件,开源的第三方框架很多,我们可以直接拿过来用,别人造好的轮子我们就没有必要再造一遍了,这里推荐几款下拉刷新.上拉加载更多控件 只有下拉刷新的: 一.EGOTableViewPullRefresh 这个使用起来比较麻烦,需要实现其各种协议,github地址为: /enormego/E ...
前言 原来的Android SDK中并没有下拉刷新组件,但是这个组件确实绝大多数APP必备的一个部件.好在google在v4包中出了一个SwipeRefreshLayout,但是这个组件只支持下拉刷新,不支持上拉加载更多的操作.因此,我们就来简单的扩展一下这个组件以实现上拉下载的目的.基本原理 上拉加载或者说滚动到底部时自动加载,都是通过判断是否滚动到了Li ...
背景 最近在公司的项目中要使用到ListView的下拉刷新和上拉加载更多(貌似现在是个项目就有这个功能!),其实这个东西GitHub上很多,但是我感觉那些框架太大,而且我这个项目只用到了ListView没有用到其他的,所以我就想自己写一个吧!(注:本篇文章高手就自动略过吧!!!!) 一.实现步骤 自定义View继承ListView 向ListView添加头部 ...
前一段有个手机端的项目需要用到下拉刷新和上拉加载更多的效果,脑海里第一反映就是微博那种效果,刚开始的理解有些偏差,以为下拉也是追加数据,上拉也是追加数据,后请教同事后发现其实下拉只是刷新最新数据而已,上拉是追加数据.
1.引用iScroll.js, 在初始化时添加两个事件监听:touchMove.DOMConten ...
很多android应用的下拉刷新都是使用的pulltorefresh这个开源项目,但是它的扩展性在下拉刷新同时又上拉加载更多时会有一定的局限性.查了很多地方,发现这个开源项目并不能很好的同时支持下拉刷新和上拉加载更多.这个组件有个mode的属性,可以设置为both,即上下同时都可拉动.但是只设置这个属性的话,上拉与下拉产生的效果是完全一致的.所以要使用这个开 ...主题信息(必填)
主题描述(最多限制在50个字符)
申请人信息(必填)
申请信息已提交审核,请注意查收邮件,我们会尽快给您反馈。
如有疑问,请联系
如今的编程是一场程序员和上帝的竞赛,程序员要开发出更大更好、傻瓜都会用到软件。而上帝在努力创造出更大更傻的傻瓜。目前为止,上帝是赢的。个人网站:。个人QQ群:、
CSDN &《程序员》编辑/记者,我的邮箱
全栈攻城狮不知道是怎么炼成的
一只文艺范的软件攻城狮,Keep Learn,Always.
个人大数据技术博客:

我要回帖

更多关于 h5下拉加载上拉刷新 的文章

 

随机推荐