jQuery實(shí)現(xiàn)的自動(dòng)加載頁面功能示例
本文實(shí)例講述了jQuery實(shí)現(xiàn)的自動(dòng)加載頁面功能。分享給大家供大家參考,具體如下:
demo.html:
<li style="opacity:0;-moz-opacity: 0;filter: alpha(opacity=0);"><p>---------------</p></li> <li style="opacity:0;-moz-opacity: 0;filter: alpha(opacity=0);"><p>閱誰問君誦,水落清香浮</p></li> <li style="opacity:0;-moz-opacity: 0;filter: alpha(opacity=0);"><p>閱誰問君誦,水落清香浮</p></li> <li style="opacity:0;-moz-opacity: 0;filter: alpha(opacity=0);"><p>閱誰問君誦,水落清香浮</p></li> <li style="opacity:0;-moz-opacity: 0;filter: alpha(opacity=0);"><p>閱誰問君誦,水落清香浮</p></li> <li style="opacity:0;-moz-opacity: 0;filter: alpha(opacity=0);"><p>閱誰問君誦,水落清香浮</p></li> <li style="opacity:0;-moz-opacity: 0;filter: alpha(opacity=0);"><p>閱誰問君誦,水落清香浮</p></li> <li style="opacity:0;-moz-opacity: 0;filter: alpha(opacity=0);"><p>閱誰問君誦,水落清香浮</p></li> <li style="opacity:0;-moz-opacity: 0;filter: alpha(opacity=0);"><p>閱誰問君誦,水落清香浮</p></li> <li style="opacity:0;-moz-opacity: 0;filter: alpha(opacity=0);"><p>+++++++++++++++</p></li>
scrollpagination.js:
(function( $ ){ $.fn.scrollPagination = function(options) { var opts = $.extend($.fn.scrollPagination.defaults, options); var target = opts.scrollTarget; if (target == null){ target = obj; } opts.scrollTarget = target; return this.each(function() { $.fn.scrollPagination.init($(this), opts); }); }; $.fn.stopScrollPagination = function(){ return this.each(function() { $(this).attr('scrollPagination', 'disabled'); }); }; $.fn.scrollPagination.loadContent = function(obj, opts){ var target = opts.scrollTarget; var mayLoadContent = $(target).scrollTop()+opts.heightOffset >= $(document).height() - $(target).height(); if (mayLoadContent){ if (opts.beforeLoad != null){ opts.beforeLoad(); } $(obj).children().attr('rel', 'loaded'); $.ajax({ type: 'POST', url: opts.contentPage, data: opts.contentData, success: function(data){ $(obj).append(data); var objectsRendered = $(obj).children('[rel!=loaded]'); if (opts.afterLoad != null){ opts.afterLoad(objectsRendered); } }, dataType: 'html' }); } }; $.fn.scrollPagination.init = function(obj, opts){ var target = opts.scrollTarget; $(obj).attr('scrollPagination', 'enabled'); $(target).scroll(function(event){ if ($(obj).attr('scrollPagination') == 'enabled'){ $.fn.scrollPagination.loadContent(obj, opts); } else { event.stopPropagation(); } }); $.fn.scrollPagination.loadContent(obj, opts); }; $.fn.scrollPagination.defaults = { 'contentPage' : null, 'contentData' : {}, 'beforeLoad': null, 'afterLoad': null , 'scrollTarget': null, 'heightOffset': 0 }; })( jQuery );
index.html:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> <script type="text/javascript" src="js/jquery-1.10.1.min.js"></script> <script type="text/javascript" src="js/scrollpagination.js"></script> <script type="text/javascript"> $(function(){ $('#content').scrollPagination({ 'contentPage': 'demo.html', //你要搜索結(jié)果的頁面 'contentData': {},//你可以通過 children().size() 知道哪里是分頁 //誰該怎么滾動(dòng)?在這個(gè)例子中,完整的窗口 'scrollTarget': $(window), //在頁面到達(dá)結(jié)束之前,從多少像素開始加載? 'heightOffset': 10, //前負(fù)荷,一些功能,可能顯示一個(gè)加載DIV 'beforeLoad': function(){ $('#loading').fadeIn(); }, 'afterLoad': function(elementsLoaded){ //加載后,一些功能的動(dòng)畫結(jié)果和隱藏預(yù)載的div $('#loading').fadeOut(); var i = 0; $(elementsLoaded).fadeInWithDelay(); //如果超過100結(jié)果加載停止分頁(僅用于測試) if ($('#content').children().size() > 100){ $('#nomoreresults').fadeIn(); $('#content').stopScrollPagination(); } } }); //元件中的延遲元件的褪色代碼 $.fn.fadeInWithDelay = function(){ var delay = 0; return this.each(function(){ $(this).delay(delay).animate({opacity:1}, 200); delay += 100; }); }; }); </script> </head> <body> <div id="demo"> <div style="height:2000px;"></div> <ul id="content" style=" margin:0 auto; width:800px; color:#f60; background-color:eee;"> <li><p>內(nèi)容開始</p></li> </ul> <div class="loading" id="loading">加載中</div> <div class="loading" id="nomoreresults">結(jié)束了</div> </div> </body> </html>
效果圖如下:
更多關(guān)于jQuery相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《jQuery擴(kuò)展技巧總結(jié)》、《jQuery常用插件及用法總結(jié)》、《jQuery拖拽特效與技巧總結(jié)》、《jQuery表格(table)操作技巧匯總》、《jquery中Ajax用法總結(jié)》、《jQuery常見經(jīng)典特效匯總》、《jQuery動(dòng)畫與特效用法總結(jié)》及《jquery選擇器用法總結(jié)》
希望本文所述對大家jQuery程序設(shè)計(jì)有所幫助。
- 基于JQuery實(shí)現(xiàn)滾動(dòng)到頁面底端時(shí)自動(dòng)加載更多信息
- jquery 頁面滾動(dòng)到底部自動(dòng)加載插件集合
- 基于jquery實(shí)現(xiàn)頁面滾動(dòng)到底自動(dòng)加載數(shù)據(jù)的功能
- jQuery+ajax實(shí)現(xiàn)滾動(dòng)到頁面底部自動(dòng)加載圖文列表效果(類似圖片懶加載)
- js/jquery控制頁面動(dòng)態(tài)加載數(shù)據(jù) 滑動(dòng)滾動(dòng)條自動(dòng)加載事件的方法
- javaScript和jQuery自動(dòng)加載簡單代碼實(shí)現(xiàn)方法
- jquery在啟動(dòng)頁面時(shí),自動(dòng)加載數(shù)據(jù)的實(shí)例
- jQuery實(shí)現(xiàn)滾動(dòng)到底部時(shí)自動(dòng)加載更多的方法示例
相關(guān)文章
jquery——九宮格大轉(zhuǎn)盤抽獎(jiǎng)實(shí)例
本篇文章主要介紹了jquery——九宮格大轉(zhuǎn)盤抽獎(jiǎng)實(shí)例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-01-01jQuery EasyUI編輯DataGrid用combobox實(shí)現(xiàn)多級聯(lián)動(dòng)
本文給大家分享jQuery EasyUI編輯DataGrid用combobox實(shí)現(xiàn)多級聯(lián)動(dòng)效果的實(shí)例代碼,代碼簡單易懂,非常不錯(cuò),具有參考借鑒價(jià)值,感興趣的朋友一起看看吧2016-08-08jQuery讓控件左右移動(dòng)的三種實(shí)現(xiàn)方法
常用的方法就是把控件的CSS position屬性設(shè)置為relative或 absolute,大家也可以學(xué)習(xí)下本文提供的其他方法2013-09-09jQuery前端框架easyui使用Dialog時(shí)bug處理
本文介紹了在jQuery前端框架easyui開發(fā)UI時(shí),使用Dialog時(shí)發(fā)現(xiàn)遮罩無法覆蓋頁面內(nèi)容,而且對話框也顯示不出來,經(jīng)過一番研究,才發(fā)現(xiàn)問題所在,這里分享給大家,有相同情況的小伙伴可以參考下2014-12-12Jquery和angularjs獲取check框選中的值的方法匯總
本文分別通過具體的實(shí)例向大家展示了jquery和angularjs獲取獲取check框選中的值的方法,非常的簡單實(shí)用,有需要的小伙伴可以參考下2016-01-01