Tips:代码中easyui treegrid的操作(项目中用easyui),代码并不能放之四海而皆准, 但是可以通过代码了解滚动加载的原理(只为学习)。 /** * @author wsf 前台分页(只对已经加载的数据进行分割) */ ; (function (win,$){ /** * 自定义命名空间 */ $.scrollPage = $.extend({},{ /** * page对象 */ config:{ pageData:{},//页面数据 dataLoding:false,//是否正在加载数据 canStartLoadData:false,//是否可以开始加载数据 pageNo:1,//页码 pageItem:10,//没有的数据条数(每页显示的条数) currentPageItem:30,//当前页面显示了多少数据 time:null,//时间及时器 speed:10,//判断是否可加载的间隔 }, /** * 初始化 */ init:function (_config){ var _this = $.scrollPage;// $.extend(_this.config,_config); return _this;//为了链式操作 }, /** * 设置pageData */ setPageData:function (pageData){ this.config.pageData = pageData; }, /** * 加载下一页 */ getNext:function (){ var _this = $.scrollPage; var cfg = _this.config; var sliceStart = cfg.currentPageItem;//数组截取开始下标 cfg.pageNo ++;//页码加一 cfg.currentPageItem = cfg.pageNo*cfg.pageItem; var sliceEnd = cfg.currentPageItem;//数组截取开始下标 return cfg.pageData.slice(sliceStart,sliceEnd); }, /** * 返回前一页 */ getPrev:function (){ var _this = $.scrollPage; var cfg = _this.config; var sliceEnd = cfg.currentPageItem;//数组截取开始下标 cfg.pageNo--;//页码加一 cfg.currentPageItem = cfg.pageNo*cfg.pageItem; var sliceStart = cfg.currentPageItem;//数组截取开始下标 return cfg.pageData.slice(sliceStart,sliceEnd); }, /** * 监听页面滚动事件 */ listener:function (){ var _this = $.scrollPage; var cfg = _this.config; //var _canStart = _this._canStartLoadData();//是否可以开始加载 var _canStart = _this.isPageBottom();//是否滚动到页面底部 if(_canStart){ showMyLoading(); _this._startLoad(_this._endLoad);//开始加载 } return _this; }, /** * 开始加载数据 */ _startLoad:function (callback){ var _this = $.scrollPage; var cfg = _this.config; cfg.dataLoding = true;//正在加载数据 var _loadData = _this.getNext();//要加载的数据 for(var i in _loadData){ _this._addRow(_loadData[i]);//添加行 } if(callback) callback(); }, /** * 添加行 */ _addRow:function (_pageData){ var _this = $.scrollPage; var cfg = _this.config; $('#content').treegrid('append',{ parent: 0, // 这里指定父级标识就可以了 data: [_pageData] }); _this._interlaceRow();//隔行变色 }, /** * 加载结束 */ _endLoad:function (){ var _this = $.scrollPage; var cfg = _this.config; cfg.dataLoding = false; cfg.canStartLoadData = false; setTimeout(function (){ closeLoading(); },2000); return _this; }, /** * 是否可以开始加载数据 */ _canStartLoadData:function (){ var _this = $.scrollPage; var cfg = _this.config; var scrollPos = _this._scrollPosition(); }, /** * 页面滚动到哪个地方了 */ _scrollPosition:function (){ var _this = $.scrollPage; var cfg = _this.config; var scrTop = $("body").scrollTop();//页面的滚动高度 return scrTop; }, /** * 判断页面是否滚动到底部 */ isPageBottom:function () { var scrollTop = 0; var clientHeight = 0; var scrollHeight = 0; /* if (document.documentElement && document.documentElement.scrollTop) { scrollTop = document.documentElement.scrollTop; } else if (document.body) { scrollTop = document.body.scrollTop; } */ scrollTop = $(document).scrollTop(); /* if (document.body.clientHeight && document.documentElement.clientHeight) { clientHeight = (document.body.clientHeight < document.documentElement.clientHeight) ? document.body.clientHeight: document.documentElement.clientHeight; } else { clientHeight = (document.body.clientHeight > document.documentElement.clientHeight) ? document.body.clientHeight: document.documentElement.clientHeight; } */ clientHeight = $(document).height(); // 知识点:Math.max 比较大小,取最大值返回 scrollHeight = Math.max(document.body.scrollHeight, document.documentElement.scrollHeight); if (scrollTop + clientHeight == scrollHeight) { return true; } else { return false; } }, _interlaceRow : function(){ var allRows = $(".datagrid-row:odd"); allRows.css("background-color","rgb(224, 232, 255)");//隔行变色 } }); })(window,jQuery);
相关推荐
在“vue.js单排卡片滚动切换代码”这个项目中,我们看到的是一个基于Vue.js实现的UI组件,它设计了一个简洁的图片和文本卡片布局,适用于展示信息。这个组件特别适合于创建展示产品、新闻或任何其他信息的网站。 在...
综上所述,创建"js 图片滚动 轮播 多种效果"需要结合JavaScript和jQuery的特性,理解DOM操作、事件处理、动画实现以及响应式设计等原理。通过实践和学习,你可以创建出既美观又实用的图片滚动轮播效果。
总结,stackedCards是一款强大的JavaScript插件,借助jQuery的力量,可以轻松实现富有创意的堆叠卡片轮播图效果。无论是滑动模式还是扇形模式,都能为你的网页增添独特的视觉魅力。通过理解和应用这款插件,你可以为...
JavaScript(简称JS)是一种轻量级的脚本语言,常用于网页交互和动态效果的实现。在网页设计中,大图无缝滚动效果是常见的展示手段,它可以为网站增添视觉吸引力,提升用户体验。这个"js无缝大图滚动"的资源正是针对...
在网页设计中,JavaScript(JS)是一种至关重要的脚本语言,它使得网页具有动态交互性。本主题聚焦于“JS实现图片浏览特效”,这通常涉及到图片预览、滑动展示、缩放、旋转等视觉效果,提升用户体验。下面将详细讨论...
"js实现堆叠卡片轮播图插件stackedCards.zip"就是这样一个工具,它旨在帮助开发者轻松地在网页上实现这种效果。 首先,堆叠卡片轮播图的核心原理是利用CSS3的转换(transform)和动画(animation)属性,以及...
为了实现滚动加载,我们可以设置一个阈值,当滚动距离接近页面底部时触发加载更多图片的逻辑。 在处理返回的数据时,需要根据每张图片的宽度和高度计算其在瀑布流中的位置,以保持布局的整齐。这通常涉及到计算每列...
本文将深入探讨jQuery Masonry插件的原理、使用方法以及无限滚动加载的实现。 ### 1. Masonry布局原理 Masonry布局的核心理念是将网页元素(如图片或卡片)以不规则的形状进行堆叠,如同砖墙砌筑一样,使得每个...
JavaScript是一种广泛应用于网页开发的脚本语言,它赋予网页动态性,使得网页不仅仅是一堆静态信息,而是可以与用户交互、展示各种炫酷效果的媒介。在这个“经典的javascript网页特效代码”压缩包中,可能包含了多种...
这个“js滚动产品图片代码.zip”压缩包包含的资源可能就是一个简单的实现这一功能的示例。下面我们将深入探讨相关知识点。 首先,涉及到的主要技术栈有CSS(Cascading Style Sheets)、HTML5、JavaScript以及jQuery...
在Web开发中,创建吸引人的用户体验是至关重要的,而jQuery Stacks插件就是一种工具,它可以帮助开发者实现堆叠式滚动效果,从而提升网站或应用的视觉吸引力。该插件基于流行的JavaScript库jQuery构建,能够使网页中...
标题中的“jQuery Bootstrap响应式新闻列表文字上下滚动特效”指的是使用jQuery库和Bootstrap框架来创建一个适应不同设备屏幕尺寸的新闻列表,同时实现文字的上下滚动效果。这种特效常见于网站的新闻或更新部分,...
总之,jQuery Masonry.js是一个强大的工具,它简化了瀑布流布局的实现,结合无限滚动功能,为用户提供了一种优雅、高效的方式来浏览和加载大量内容。在实际项目中,合理地利用这些文件和资源,可以构建出具有吸引力...
在网页设计中,jQuery是一种广泛使用的JavaScript库,它极大地简化了JavaScript代码的编写,特别是对于实现动态和交互性效果。本篇文章将详细讲解如何利用jQuery实现图片滚动效果,这是一个常见的网页特效,能为网站...
在这个“响应式炫酷页面切换js特效代码”压缩包中,可能包含了一个或多个JavaScript文件,它们是实现这种特效的核心。开发者通常会编写自定义的js代码来处理页面元素的显示和隐藏,以及过渡动画。这些特效可能包括...
这是一种使用JavaScript库(如Three.js、Book.js或Flipbook.js)实现的技术,它允许用户在网页上体验类似真实翻书的动态视觉效果。这种效果通常是通过将每一页看作一个3D对象,然后通过旋转和透明度变化来模拟翻页...
"代码库和一堆乱七八糟的代码"这个描述可能暗示了一个开发过程中常见的现象,即代码库中的代码组织不够有序,可能存在混乱或未整理的状态。这通常会影响代码的可读性、可维护性和团队协作效率。 首先,我们来逐一...
JavaScript是一种广泛应用于网页开发的脚本语言,它赋予网页动态性,使得网页不仅仅是一堆静态信息,而是可以与用户交互、展示动态效果的存在。在这个"javascript 经典网页特效"的资源中,我们将会探讨一些...
在这个“JavaScript开发响应式时间轴”的主题中,我们将深入探讨如何利用JavaScript来创建一个动态、灵活的时间轴布局,以适应各种屏幕尺寸。 时间轴是一种常见的展示事件或历史顺序的方式,它以线性形式呈现信息,...
"支持响应式手机端的JS手风琴折叠导航菜单特效"是一个专为手机网站设计的导航菜单,利用JavaScript(可能结合jQuery库)和CSS技术,实现了一种优雅的交互效果。 首先,手风琴特效是一种常见的UI设计元素,它允许...