jQuery ScrollPagination修改之后

jQuery ScrollPagination修改之后代码

/*
**    Anderson Ferminiano
**    [email protected] -- feel free to contact me for bugs or new implementations.
**    jQuery ScrollPagination
**    28th/March/2011
**    http://andersonferminiano.com/jqueryscrollpagination/
**    You may use this script for free, but keep my credits.
**    Thank you.
*/

(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,
                beforeSend:function(){
                    if( opts.beforeSend != null ){
                        opts.beforeSend();
                    }
                },
                success: function(data) {
                    //call your own function to load the content

                    opts.loader(data);

                    /*
                    var objectsRendered = $(obj).children(‘[rel!=loaded]‘);

                    if (opts.afterLoad != null) {
                        opts.afterLoad(objectsRendered);
                    }
                    */
                },
                dataType: opts.dataType
            });
        }

    };

    $.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,
        //Add
        ‘dataType‘: null,
        ‘beforeSend‘:null,
        ‘loader‘: function(data) {}
    };     

})( jQuery );

调用代码

// 定义页数
var page = 1;

$(function() {

    // 底部加载进度条
    var loadinghtml = ‘<div class="loading"><img src="__PUBLIC__/Mobile/Images/loadingxxx.gif" align="absmiddle" /></div>‘;

    $(‘.BookLibrarySearchList‘).scrollPagination({
        // 你要搜索结果的页面
        ‘contentPage‘: "{:U(‘Ranking/AjaxRandList‘,array(‘tag‘=>$tag,‘type‘=>$type))}",
        // 你可以通过 children().size() 知道哪里是分页[JSON格式]
        ‘contentData‘: {
            cPage: function() {
                return page;
            }
        },
        // 谁该怎么滚动?在这个例子中,完整的窗口
        ‘scrollTarget‘: $(window),
        // 在页面到达结束之前,从多少像素开始加载?
        ‘heightOffset‘: 50,
        // 前负荷,一些功能,可能显示一个加载DIV
        ‘beforeLoad‘: function() {
            // 翻页页数累加
            page = page + 1;
        },
        ‘beforeSend‘: function() {
            // 加载区域显示
            $(‘.loading‘).remove();
            $(‘.BookLibrarySearchList‘).append(loadinghtml);
        },
        ‘afterLoad‘: function(elementsLoaded) {
            /*
                var i = 0;
                if ($(‘#content‘).children().size() > 100) {
                    $(‘#nomoreresults‘).fadeIn();
                    $(‘#content‘).stopScrollPagination();
                }
                */
        },
        ‘dataType‘: ‘JSON‘,
        ‘loader‘: function(data) {

            // 隐藏加载区域
            $(‘.loading‘).remove();
            if (data.length <= 0) {
                $(‘.BookLibrarySearchList‘).stopScrollPagination();

                $(‘.BookLibrarySearchList .loadingNo‘).remove();
                $(‘.BookLibrarySearchList‘).append("<div class=‘loadingNo‘>没有了!</div>");
            } else {
                for (var i = 0; i < data.length; i++) {
                    var ChapterObj = data[i].ChapterObj;
                    var html = "";
                    html += "<div class=\"list\">";
                    html += "    <div class=\"table\">";
                    html += "        <table cellspacing=\"0\" cellpadding=\"0\" border=\"0\" width=\"100%\">";
                    html += "            <tr>";
                    html += "                <td rowspan=\"4\" width=\"30%\"><a href=\"" + data[i].url + "\" title=\"" + data[i].title + "\">";
                    html += "                    <img src=\"__PUBLIC__/" + data[i].picture + "\" />";
                    html += "                </a></td>";
                    html += "                <td width=\"70%\" class=\"b c\">";
                    html += "                    <a href=\"" + data[i].url + "\" title=\"" + data[i].title + "\">" + data[i].title + "</a>";
                    html += "                    <span>" + data[i].hits + "万点击</span>";
                    html += "                </td>";
                    html += "            </tr>";
                    html += "            <tr>";
                    html += "                <td class=\"b\">作者:" + data[i].penName + "</td>";
                    html += "            </tr>";
                    html += "            <tr>";
                    if (ChapterObj.length == 0) {
                        html += "                <td class=\"b\">更新:暂无</td>";
                    } else {
                        html += "                <td class=\"b\">更新:" + ChapterObj.addTime + "&nbsp;/&nbsp;" + ChapterObj.title + "</td>";
                    }
                    html += "            </tr>";
                    html += "            <tr>";
                    html += "                <td class=\"a b\">" + data[i].jianjie + "</td>";
                    html += "            </tr>";
                    html += "        </table>";
                    html += "    </div>";
                    html += "</div>";

                    $(‘.BookLibrarySearchList‘).append(html);
                }
            }
        }
    });

});
时间: 2024-10-13 22:56:11

jQuery ScrollPagination修改之后的相关文章

jQuery批量修改Name值,批量增加name后缀,非each(不需要循环)

背景 表单字段,配置where属性自动刷新到可查询区域,查询字段需增加_where后缀,响应后台规则 问题 批量设置的查询字段,必须批量增加_where后缀方可正常查询.each循环有点麻烦,有没有更方便的批量修改方法. 调查 方向就是jquery批量修改name,整个互联网充斥的都是.attr("name","new_value").只有单值修改,最终,发现这篇系统性文章 Jquery attr()方法 属性赋值和属性获取 jquery中用attr()方法来获取和

jquery如何修改连接a的href属性值

jquery如何修改连接a的href属性值:有时候可能需要动态的修改超链接的指向地址,下面通过代代码实例简单的介绍一下.代码实例如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>蚂蚁部

jQuery Mobile修改button的内容

jQuery Mobile修改button的内容. 使用jQuery Mobile也有一段时间了,最近同事提出,他需要更改button的内容,但是修改不了.我也试着修改了几次,button的内容其实是更改了,但是页面并未刷新.在调试中使用了console.log()方法打印各种日志,再结合api文档,发现button方法可以进行刷新. 打印信息: 更新内容: $('#btn').val("如有疑问,请加QQ群:135430763共同学习!").button("refresh&

jquery入门 修改网页背景颜色

我们在浏览一些网站,尤其是一些小说网站的时候,都会有修改页面背景颜色的地方,这个功能使用jquery很容易实现. 效果图: show you code: <!doctype html> <html> <head> <meta charset="utf-8"> <title>jquery test</title> <script src="jquery-1.11.1.min.js">&

jQuery.获取修改value

获取修改value val() 方法,获取和修改有value属性的元素,有value属性的元素有input.botton.select等.相当于JavaScript中的value. <!DOCTYPE html><html> <head> <title>TODO supply a title</title> <meta charset="UTF-8"> <script scr="https://aj

使用JQuery双击修改Table中Td

<html> <head> <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/> <style> table{ border-collapse:collapse; border-spacing:0; margin-right:auto; margin-left:auto; width:100%; } th,td{ border:1px s

Jquery ValidationEngine 修改验证提示框的位置

<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="Generator" content="EditPlus®"> <meta name="Author" content=""> <meta name="

用Jquery实现修改页面selecte标签的默认选择

今天有幸被召回母校给即将毕业的学弟学妹们讲我这两年的工作史,看了下母校没啥特别的变化,就是寝室都安了空调,学妹们都非常漂亮而已..好了不扯蛋了,说下今天的主题吧.这些天我在深度定制语法高亮功能的同时发现了博客园提供的一些有意思的函数,甚至有几个博客园都没用到,我也不知道怎么才能触发那些功能..打开这个js就可以看到很多好用的东西了,虽然写的不怎么样,但是至少有这些功能. ps: 推荐安装一个代码格式化的插件,否则一坨看着蛋疼.比如第一个就是 log,方便调试. http://www.qidian

IE8 通过Jquery动态修改html不显示的问题

for (var i = 0; i < _priority_transf.length && i < xmlList.length; i++) { if (textContent.indexOf(_priority_transf[i].NAME) < 0) { $("#ulTrafMode").append('<li><div class="payment-item online-payment"><b