---------------


  • jQuery实现的自动加载页面功能示例

    网络编程 jQuery实现的自动加载页面功能示例 06-22

    本文实例讲述了jQuery实现的自动加载页面功能。分享给大家供大家参考,具体如下:

    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', //你要搜索结果的页面
        'contentData': {},//你可以通过 children().size() 知道哪里是分页
        //谁该怎么滚动?在这个例子中,完整的窗口
        'scrollTarget': $(window),
        //在页面到达结束之前,从多少像素开始加载?
        'heightOffset': 10,
        //前负荷,一些功能,可能显示一个加载DIV
        'beforeLoad': function(){
          $('#loading').fadeIn();
        },
        'afterLoad': function(elementsLoaded){
          //加载后,一些功能的动画结果和隐藏预载的div
          $('#loading').fadeOut();
          var i = 0;
          $(elementsLoaded).fadeInWithDelay();
          //如果超过100结果加载停止分页(仅用于测试)
          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>内容开始</p></li>
      </ul>
      <div class="loading" id="loading">加载中</div>
      <div class="loading" id="nomoreresults">结束了</div>
    </div>
    </body>
    </html>
    
    

    效果图如下:

    查看图片

    更多关于jQuery相关内容感兴趣的读者可查看本站专题:《jQuery扩展技巧总结》、《jQuery常用插件及用法总结》、《jQuery拖拽特效与技巧总结》、《jQuery表格(table)操作技巧汇总》、《jquery中Ajax用法总结》、《jQuery常见经典特效汇总》、《jQuery动画与特效用法总结》及《jquery选择器用法总结》

    希望本文所述对大家jQuery程序设计有所帮助。

    jQuery实现为LI列表前3行设置样式的方法【2种方法】
    本文实例讲述了jQuery实现为LI列表前3行设置样式的方法。分享给大家供大家参考,具体如下:在设计网页模板的时候,为了突出信息的重要性以及美观

    jQuery实现智能判断固定导航条或侧边栏的方法
    本文实例讲述了jQuery实现智能判断固定导航条或侧边栏的方法。分享给大家供大家参考,具体如下:这是一个jQuery智能判断固定DIV层的特效代码,通过

    jQuery实现的tab标签切换效果示例
    本文实例讲述了jQuery实现的tab标签切换效果。分享给大家供大家参考,具体如下:!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtm


    编辑:广州明生医药有限公司

    标签:清香,给大家,本文,实例,加载