JS或者jquery的上拉加载和下拉刷新是怎么实现的
发布网友
发布时间:2022-04-26 16:58
我来回答
共3个回答
热心网友
时间:2022-04-20 06:01
1、首先新建一个html文件,命名为test.html,在test.html文件内,引入jquery.min.js库文件,成功加载该文件,才能使用jquery中的方法。
2、在test.html文件内,使用button标签创建一个按钮,按钮名称分别为“刷新页面”。
3、在test.html文件内,设置button标签的id为btn,主要用于下面通过该id获得button对象。
4、在js标签内,使用$(function(){ })方法在页面加载完成时,通过window.location.href获得当前页面的链接,并把链接保存在变量url中。
5、在js标签内,通过id(btn)获得button对象,给它绑定click点击事件,实现当按钮被点击时,使用window.location.href方法跳转至url,从而实现刷新页面的效果。
6、在浏览器打开test.html文件,点击按钮,查看实现的效果。
热心网友
时间:2022-04-20 07:19
首先理解三个dom元素,分别是:clientHeight、offsetHeight、scrollTop。
clientHeight:这个元素的高度,占用整个空间的高度,所以,如果一个div有滚动条,那个这个高度则是不包括滚动条没显示出来的下面部分的内容。而只是单纯的DIV的高度。
offsetHeight:是指元素内容的高度。依照上面的,那这个高度呢就是DIV内部的高度,包括可见部分及以滚动条下面的不可见部分。
scrollTop:这个是什么呢?他可以理解为滚动条可以滚动的长度。
举例,如果一个DIV高度是400px(即clientHeight为400),而里面的内容是一个很长的列表,内容的高度是1000px(即offsetHeight为1000)。那么,可见部分我们看到400px,1000px的内容中还有600px不可见。而这不可见的部分呢,正是我们通过拉动滚动条才能把这一部分显示出来。你如果滚动条不拉动,此时scrollTop为0,如果你把滚动条拉到底,显示出列表最下面的部分,此时,scrollTop为600。 所以scrollTop的取值区间为[0, 600]。 所以这个600可以理解为滚动条可以滚动的长度。
理解完上面的这个概念之后。要判断是否滚动到底部就很好做了。
首先,我们拉动滚动条,从最上面拉到最下面,变化的是scrollTop的值,而这个值是有一个区间的。
这个区间是:[0, (offsetHeight - clientHeight)]
即,滚动条拉动的整个过程的变化在 0 到 (offsetHeight – clientHeight) 范围之内。
1、判断滚动条滚动到最底端:scrollTop == (offsetHeight – clientHeight)
2、在滚动条距离底端50px以内:(offsetHeight – clientHeight) – scrollTop <= 50
3、在滚动条距离底端5%以内:scrollTop / (offsetHeight – clientHeight) >= 0.95
如上。
如果要实现拉到底部自动加载内容。只要注册个滚动条事件:
[javascript] view plain copy
scrollBottomTest =function(){
$("#contain").scroll(function(){
var $this =$(this),
viewH =$(this).height(),//可见高度
contentH =$(this).get(0).scrollHeight,//内容高度
scrollTop =$(this).scrollTop();//滚动高度
//if(contentH - viewH - scrollTop <= 100) { //到达底部100px时,加载新内容
if(scrollTop/(contentH -viewH)>=0.95){ //到达底部100px时,加载新内容
// 这里加载数据..
}
});
}
热心网友
时间:2022-04-20 08:54
offsetHeight的描述不准
mescroll上拉刷新下拉加载实战使用
安装npminstall--savemescroll.js封装下拉刷新配置defaultMescrollDown 上拉加载配置defaultMescrollUp 是否允许ios的bounce回弹isBounce <template><!--mescroll滚动区域的基本结构--><mescroll-vueref="mescroll":down="mescrollDown":up="mescrollUp"@init="mescrollInit"><!--内容区域--><slot></slot>...
React组建实现新闻下拉刷新加载
解析: 1、首先对于组建进行初始化状态设置,当组建被加载后,默认加载第一页数据; 2、当进行下拉刷新时,设置状态为第一页并获取第一页数据; 3、当上拉加载更多时,状态为下一页,并获取下一页的数据。 通过Ajax获取新闻数据,对Data进行相应的处理,并进行对应的dom渲染。 ** 渲...
前端常用插件汇总
HTML下拉刷新上拉加载:提供下拉刷新与上拉加载功能。回到顶部与回到底部特效:实现页面顶部与底部特效。jQuery右下角浮动层火箭动画返回顶部:提供右下角返回顶部动画。横向滚动鼠标插件:实现横向滚动鼠标效果。jQuery表格插件:提供表格数据展示与交互功能。固定行列,可AJAX添加数据:实现固定行列表格,支持动态...
怎么让jQuery支持swipe事件
1.下载js插件jquery.touchSwipe.min.js 2.代码写法:(function() { ("#ID").swipe({ swipeLeft:function(event) {},threshold:0,swipeRight:function(event) {} });});
web前端开发需要掌握的几个必备技术
Ionic简介和同类对比、模板项目解析、常见组件及使用、结合Angular构建APP、常见效果(下拉刷新,上拉加载,侧滑导航,选项卡)。ReactNative:ReactNative简介、ReactNative环境配置、创建项目,配置,编译,调试,部署发布、原生模块和UI组件、原生常用API。HTML5+:HTML5+中国产业联盟、HTML5PlusRuntime环境、H...
电脑上怎么配置vue怎样在电脑上安装vue
React.js、Vue.js、Zepto.js。第八阶段:HTML5原生移动应用开发Cordova:WebApp/NativeApp/HybirdApp简介、Cordova简介、与PhoneGap之间的关系、开发环境搭建、Cordova实战(创建项目,配置,编译,调试,部署发布)。Ionic:Ionic简介和同类对比、模板项目解析、常见组件及使用、结合Angular构建APP、常见效果(下拉刷新,上拉加载,...
求推荐一个web前端的学习路线
web前端学习顺序:①计算机基础以及PS基础 ②前端开发基础(HTML5开发、JavaScript基础到高级、jQuery网页特效、Bootstrap框架)③移动开发 ④前端高级开发(ECMAScript6、Veu.js框架开发、webpack、前端页面优化、React框架开发、AngularJS 2.0框架开发等)⑤小程序开发 ⑥全栈开发(MySQL数据库、Python编程语言...
uniapp清空长列表卡顿
1、scroll-view 的优化,这个组件如果超出预定区域后就会出现滚动条来进行滚动,滚动查看数据又或者在配合监听到底加载更多的时候,会出现滑动卡顿,不流畅等问题。2、可以用下mescroll 这个组件,mescroll.js 是在 H5端 运行的下拉刷新和上拉加载插件。原生js, 不依赖jquery,zepto支持vue超详细注释, 快速...
HTML5开发需要学习哪些内容
Ionic简介和同类对比、模板项目解析、常见组件及使用、结合Angular构建APP、常见效果(下拉刷新,上拉加载,侧滑导航,选项卡)。● React Native:React Native简介、React Native环境配置、创建项目,配置,编译,调试,部署发布、原生模块和UI组件、原生常用API。● HTML5+:HTML5+中国产业联盟、HTML5 Plus ...
js怎么点击导航菜单js怎么点击导航菜单没反应
实现下拉刷新,滑屏,缩放等功能~ 最新版本已经更新到5.0 underscore.js 笔者没用过,不过听说好用,推荐给大家~ 该库提供了一整套函数式编程的实用功能,但是没有扩展任何JavaScript内置对象。 最新版本已经更新到1.8.2 滑屏框架 适合上下滑屏、左右滑屏等滑屏切换页面的效果 slip.js iSlider.js fullpage.js swiper....