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 ...
随机推荐
- 移动端效果之Swiper
写在前面 最近在做移动端方面运用到了饿了么的vue前端组件库,因为不想单纯用组件而使用它,故想深入了解一下实现原理.后续将会继续研究一下其他的组件实现原理,有兴趣的可以关注下. 代码在这里:戳我 1. ...
- WordPress-基础设置之常规设置
对于第一次使用Wordpress系统的朋友,请先别着急发布文章及进行其他操作,为了更加科学的使用及管理wordpress,应该需要对其进行相关设置,主要涉及3个部分,一.常规设置,二.阅读设置,三.固 ...
- @htmlhepler dropdownlistfor 报错
说系统的字段不匹配. 是因为ViewData,没有赋值.
- Asp.net MVC4高级编程学习笔记-视图学习第三课Razor页面布局20171010
Razor页面布局 1) 在布局模板页中使用@RenderBody标记来渲染主要内容.比如很多web页面说头部和尾部相同,中间内容部分使用@RenderBody来显示不同的页面内容. 2) 在布局 ...
- 【Learning】多项式乘法与快速傅里叶变换(FFT)
简介: FFT主要运用于快速卷积,其中一个例子就是如何将两个多项式相乘,或者高精度乘高精度的操作. 显然暴搞是$O(n^2)$的复杂度,然而FFT可以将其将为$O(n lg n)$. 这看起来十分玄学 ...
- Redis缓存项目应用架构设计二
一.概述 由于架构设计一里面如果多平台公用相同Key的缓存更改配置后需要多平台上传最新的缓存配置文件来更新,比较麻烦,更新了架构设计二实现了缓存配置的集中管理,不过这样有有了过于中心化的问题,后续在看 ...
- 正确使用Exception异常对象
一.异常的构成 new Exception() 创建异常对象 throw 抛出异常对象(主要性能损耗位置) try{}catch{} 捕捉异常对象 C#里面异常对象分为两个子类ApplicationE ...
- windows Tomcat+Nginx 集群 迷你版
一. 准备 两个Tomcat 加上Nginx 2. 创建一个公共的文件夹用于部署项目 3. Tomcat配置 配置内存 在catalina.bat 第一行增加 set JAVA_OPTS=-Xms51 ...
- 最近做的floyd的题目
基础: HDU1596 HDU2112 HDU1874 HDU1869 HDU2066 HDU2094 HDU2544 稍加复杂: HDU1217 ...
- HDU1205 吃糖果
吃糖果 Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others) Total Submis ...