全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

原生JS下拉加载插件分享

使用方式:

new downUpData({url:"http://192.168.1.103:8080/test/
data.json",distance:20,callback:function(resp,config){
 var oUl = document.getElementById('ul');
 for(var i=0;i<resp.data.length;i+=1){
 oUl.innerHTML+= '<li>'+ resp.data[i].title +'</li>';
 }
}}).isBottom();

默认滚动到底部会去请求ajax

参数说明:

url:请求的数据地址,不支持跨域(必须)

distance:距离底部多远加载(可选参数)

callback:当滚动到指定距离后请求完ajax将会触发这个回调函数,里面有两个参数,第一个为数据(以及转成JSON对象了,用的是JSON.parse,可能低版本浏览器不支持这个方法),第二个参数为传进去的参数,当你需要重新改变请求信息的时候可以用这个,比如说你想做分页效果,就需要改变url地址。

callback(name1,name2)

name1:data

name2:配置

源代码:

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Document</title>
 <meta name="viewport" content="width=device-width, initial-scale=1">
 <style>
 body,ul{
  margin:0;
  padding:0;
 }
 </style>
</head>
<body>
 <ul id="ul">
 </ul>
 <script>
 function downUpData(obj){
  this.config = obj;
 };
 downUpData.prototype = {
  // 判断是否到达底部
  isBottom:function(){
  var _this = this;
  var scrollH = null,
   clientHeight = null;
   scrollTop = null;
   distance = this.config.distance||0;
   h = 0;
  function scroll(){
   scrollH = document.body.scrollHeight||document.documentElement.scrollHeight;
   clientHeight = window.innerHeight;
   scrollTop = document.body.scrollTop||document.documentElement.scrollTop;
   h = clientHeight + scrollTop;
   if(h>=scrollH-distance){
   _this.ajax();
   }
  }
  scroll();

  window.onscroll = function(){
   scroll();
  };
  },
  // 发送AJAX请求
  ajax:function(){
  var _this = this;
  var xhr = null;
  if(window.XMLHttpRequest){
   xhr = new XMLHttpRequest();
  }else{
   xhr = new ActiveXObject("Microsoft.XMLHTTP");
  }

  xhr.open("GET",this.config.url,true);
  xhr.onreadystatechange = function(){
   if(xhr.readyState==4&&xhr.status==200){
   _this.config.callback(JSON.parse(xhr.responseText),_this.config);
   }
  }
  xhr.send();
  }
 };

 new downUpData({url:"http://192.168.1.103:8080/test/data.json",distance:20,callback:function(resp,config){
  console.log(config)
  var oUl = document.getElementById('ul');
  for(var i=0;i<resp.data.length;i+=1){
  oUl.innerHTML+= '<li>'+ resp.data[i].title +'</li>';
  }
 }}).isBottom();
 </script>
</body>
</html>

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!


# 原生JS  # 下拉  # 加载  # 原生JS封装Ajax插件(同域、jsonp跨域)  # 原生JS实现旋转木马式图片轮播插件  # 原生js实现autocomplete插件  # 原生js编写autoComplete插件  # 轻量级的原生js日历插件calendar.js使用指南  # 原生Javascript插件开发实践  # 不支持  # 的是  # 第一个  # 将会  # 多远  # 可以用  # 当你  # 第二个  # 分页  # 说你  # 可选  # 会去  # 想做  # 回调  # 转成  # 源代码  # 版本浏览器  # 判断是否  # 有两个 


相关文章: 建站之星收费标准详解:套餐费用及年费价格表一览  怀化网站制作公司,怀化新生儿上户网上办理流程?  建站org新手必看:2024最新搭建流程与模板选择技巧  如何快速生成可下载的建站源码工具?  如何在Windows环境下新建FTP站点并设置权限?  如何通过网站建站时间优化SEO与用户体验?  广东专业制作网站有哪些,广东省能源集团有限公司官网?  微信推文制作网站有哪些,怎么做微信推文,急?  如何用y主机助手快速搭建网站?  上海制作企业网站有哪些,上海有哪些网站可以让企业免费发布招聘信息?  一键制作网站软件下载安装,一键自动采集网页文档制作步骤?  如何在七牛云存储上搭建网站并设置自定义域名?  建站主机系统SEO优化与智能配置核心关键词操作指南  如何通过商城免费建站系统源码自定义网站主题?  魔方云NAT建站如何实现端口转发?  如何处理“XML格式不正确”错误 常见XML well-formed问题解决方法  怎么用手机制作网站链接,dw怎么把手机适应页面变成网页?  百度网页制作网站有哪些,谁能告诉我百度网站是怎么联系?  齐河建站公司:营销型网站建设与SEO优化双核驱动策略  香港服务器建站指南:外贸独立站搭建与跨境电商配置流程  深圳网站制作费用多少钱,读秀,深圳文献港这样的网站很多只提供网上试读,但有些人只要提供试读的文章就能全篇下载,这个是怎么弄的?  公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?  岳西云建站教程与模板下载_一站式快速建站系统操作指南  宝塔建站后网页无法访问如何解决?  建站之星2.7模板快速切换与批量管理功能操作指南  黑客如何利用漏洞与弱口令入侵网站服务器?  如何在Golang中处理模块冲突_解决依赖版本不兼容问题  如何在服务器上三步完成建站并提升流量?  常州企业网站制作公司,全国继续教育网怎么登录?  如何构建满足综合性能需求的优质建站方案?  小型网站制作HTML,*游戏网站怎么搭建?  建设网站制作价格,怎样建立自己的公司网站?  子杰智能建站系统|零代码开发与AI生成SEO优化指南  如何配置FTP站点权限与安全设置?  建站之星与建站宝盒如何选择最佳方案?  已有域名建站全流程解析:网站搭建步骤与建站工具选择  我的世界制作壁纸网站下载,手机怎么换我的世界壁纸?  建站之星安装失败:服务器环境不兼容?  Android使用GridView实现日历的简单功能  如何通过建站之星自助学习解决操作问题?  高防网站服务器:DDoS防御与BGP线路的AI智能防护方案  武汉外贸网站制作公司,现在武汉外贸前景怎么样啊?  创业网站制作流程,创业网站可靠吗?  建站之星IIS配置教程:代码生成技巧与站点搭建指南  专业网站制作企业网站,如何制作一个企业网站,建设网站的基本步骤有哪些?  早安海报制作网站推荐大全,企业早安海报怎么每天更换?  如何用PHP快速搭建CMS系统?  如何自定义建站之星模板颜色并下载新样式?  如何快速查询网址的建站时间与历史轨迹?  湖南网站制作公司,湖南上善若水科技有限公司做什么的? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。