js滚动加载小插件
本文实例讲述了jquery滚动加载数据的方法。分享给大家供大家参考。具体分析如下:
少废话直接上代码!!!粗暴,直接,干脆
0//lk-2017-05-04
1(function($, win) {
var defaults = {
'container': '#container', //容器
'sections': '.section', //子容器
'searchname': '全部', //搜索名称
'url': '', //加载更多数据请求的路径
'updata': 'data', //更新的数据
'page': '1', //第几页
'pagenumber': '10', //每页多少条数据
'backFn': function(d) {
}
};
//容器与最后一个子容器,状态
var container, sections, state = 0;
$.fn.isScroll = function(options) {
opts = $.extend({}, defaults, options || {});
container = $(opts.container);
sections = container.find(opts.sections).last();
var i = 0,
state = 1,
_last;
container.scroll(function() {
var lastdom=container.find(opts.sections).last();
if(container.outerHeight() + container.scrollTop() > lastdom.offset().top) {
//防止重复加载
if(_last == lastdom[0]) {
return;
} else {
_last = lastdom[0];
}
if(!state) return; //防止重复加载
state = 0;
//请求数据
$.post( opts.url,{
page: (lastdom.attr("pages") || opts.page),
pagenumber: opts.pagenumber,
name: opts.searchname
}, function(status, data) {
if(status) {
state = 1;
if(typeof(opts.backFn) == "function") {
opts.backFn('backFndata');
}
}
})
}
})
}
})(jQuery, window)
/*-------使用方法--------*/ 1 /*绑定滚动事件*/
$("#table").isScroll({
container: "#table",
sections: ".list",
searchname: "全部",
url: "wwww",
page: 1,
pagenumber: 10,
backFn: function(data) {
console.log(data);
}
})
html代码
<ul id="table" class="table">
<li class="list" v-bind:pages="item.page" v-for="item in data_list">{{item.txt}}</li>
3 </ul>
使用方法
1.此插件基于jquery,必须先加载jquery。
2.可以绑定到指定的div。
3.回掉函数返回滚动加载后的数据,接收并进行处理。
js滚动加载小插件的更多相关文章
- vue2.0无限滚动加载数据插件
做vue项目用到下拉滚动加载数据功能,由于选的UI库(element)没有这个组件,就用Vue-infinite-loading 这个插件代替,使用中遇到的一些问题及使用方法,总结作记录! 安装: ...
- js 滚动加载iframe框中内容
var isIE6 = !!window.ActiveXObject&&!window.XMLHttpRequest; //滚动加载 var scrollLoad =function( ...
- js滚动加载插件
function $xhyload(o){ var that=this; if(!o){ return; }else{ that.win=$(o.config.obj); that.qpanel=$( ...
- Loading加载小插件,用户可以选择html格式或canvas格式,自定义loading图片,canvas色彩搭配可根据个人喜好
;(function($) { $.Loading = function(options) { //暴漏插件默认值 $.Loading.defaults = { speed: 200, //弹出层淡出 ...
- JS滚动加载
var one = true;//设置一个全局变量 $(window).scroll(function () { var hight = document.body.scrollHeight - do ...
- 介绍一款可以滚动加载的插件droploader
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 介绍一款移动端滚动加载的插件---dropload
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 使用 JS 嵌入的方式来加载 Flash 插件,在各浏览器中播放视频
嵌入插件 使用 object 和 embed 标签 这种方法用到的是 Object 和 Embed 标签,可以看到 object 的很多参数和 embed 里面的很多属性是重复的.浏览器兼容性,有的浏 ...
- 滚动加载|页面滑到底部加载数据|jquery.endless-scroll插件|使用demo
<html> <head> <link rel="dns-prefetch" href="http://i.tq121.com.cn&quo ...
随机推荐
- Python面试题之python是一种什么语言及优缺点
1.说说python是一种什么语言? 参考答案:python是一门动态解释性的强类型定义语言 编译型vs解释型 编译型优点:编译器一般会有预编译的过程对代码进行优化.因为编译只做一次,运行时不需要编译 ...
- webpack2使用ch7-loader解析css 自动添加浏览器前缀
1 目录结构 安装的依赖 "autoprefixer": "^6.7.7", "css-loader": "^0.28.0&qu ...
- List之Union(),Intersect(),Except() 即并集,交集,差集运算。
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- 逆波兰表达式(RPN)算法简单实现
算法分析: 一.预处理 给定任意四则运算的字符串表达式(中缀表达式),preDeal预先转化为对应的字符串数组,其目的在于将操作数和运算符分离. 例如给定四则运算内的中缀表达式: String inf ...
- web基础系列(五)---https是如何实现安全通信的
https是如何实现安全通信的 如果有不正确的地方,还望指出! web基础系列目录 总结几种常见web攻击手段极其防御方式 总结几种常见的安全算法 回顾 总结几个概念(具体描述可以看上一篇文章) 数字 ...
- DevOps之软件定义网络SDN
唠叨话 关于德语噢屁事的知识点,仅提供专业性的精华汇总,具体知识点细节,参考教程网址,如需帮助,请留言. <软件定义网络SDN(Software Defined Network)> 关于软 ...
- 浅谈oracle树状结构层级查询之start with ....connect by prior、level及order by
浅谈oracle树状结构层级查询 oracle树状结构查询即层次递归查询,是sql语句经常用到的,在实际开发中组织结构实现及其层次化实现功能也是经常遇到的,虽然我是一个java程序开发者,我一直觉得只 ...
- Thrift总结(三)Thrift框架
1.数据类型 基本类型: bool:布尔值,true 或 false,对应 Java 的 boolean byte:8 位有符号整数,对应 Java 的 byte i16:16 位有符号整数,对应 J ...
- 【机器学习实战】第7章 集成方法 ensemble method
第7章 集成方法 ensemble method 集成方法: ensemble method(元算法: meta algorithm) 概述 概念:是对其他算法进行组合的一种形式. 通俗来说: 当做重 ...
- #tensorflow入门(1)
tensorflow入门(1) 关于 TensorFlow TensorFlow™ 是一个采用数据流图(data flow graphs),用于数值计算的开源软件库.节点(Nodes)在图中表示数学操 ...