/**

 *  笔者:DL

 *  时间:2014-3-19 

 * PagingTool模块提供最基本的、网页工具栏。和页面数据 回电话 可扩展性 分页工具栏介绍,和页面呈现的数据  

*   主意事项:必须引用json.js

 * @module PagingTool

 */

var PagingTool = {}

PagingTool.Init = {} //初始化參数 

PagingTool.funPageCallBack = function (data) {

    var pParams = data.pParams;//查询參数

    var pageCount = data.pageCount;//每页显示条目

    var totalPages = data.totalPages;//总页数

    var pageIndex = data.pParams.intNowPage; // 当前页

    var pageTargetId = data.pageTargetId;

    var totalCount = data.totalCount;

    var pageHtml = "";

    if (totalPages > 1) {

        var beginPage = 1, endPage = 1;

        beginPage = parseInt((pageIndex - 1) / pageCount) * pageCount + 1;

        endPage = parseInt((pageIndex - 1) / pageCount) * pageCount + pageCount;

        endPage = endPage > totalPages ?

totalPages : endPage;

        if (pageIndex > 1) //上一页

        {

            pParams["intNowPage"] = 1;

            pageHtml += '<a href=\"javascript:;\" onclick=\'PagingTool.Paging(' + JSON.stringify(pParams) + ')\'><<</a>';

            pParams["intNowPage"] = pageIndex - 1;

            pageHtml += '<a href=\"javascript:;\" onclick=\'PagingTool.Paging(' + JSON.stringify(pParams) + ')\'><</a>'

        }

        else {

            pageHtml += '<a href=\"javascript:;\" ><<</a>'

            pageHtml += '<a href=\"javascript:;\" ><</a>'

        }





        if (beginPage - 1 > 1) {

            pParams["intNowPage"] = beginPage - 1;

            pageHtml += '<a href=\"javascript:;\" onclick=\'PagingTool.Paging(' + JSON.stringify(pParams) + ')\'>...</a>'

        }

        //中间页码

        for (var i = beginPage; i <= endPage; i++) {

            if (pageIndex == i) {





                pageHtml += '<a href=\"javascript:;\" class=\"current\"> ' + i + '</a>';





            }

            else {

                pParams["intNowPage"] = i;

                pageHtml += '<a href=\"javascript:;\" onclick=\'PagingTool.Paging(' + JSON.stringify(pParams) + ')\'>' + i + '</a>'





            }

        }

        if (totalPages - endPage > 1) {

            pParams["intNowPage"] = endPage + 1;

            pageHtml += '<a href=\"javascript:;\" onclick=\'PagingTool.Paging(' + JSON.stringify(pParams) + ')\'>...</a>'

        }

        if (pageIndex < totalPages) {

            pParams["intNowPage"] = pageIndex + 1;

            pageHtml += '<a href=\"javascript:;\" onclick=\'PagingTool.Paging(' + JSON.stringify(pParams) + ')\'>></a>'

            pParams["intNowPage"] = totalPages;

            pageHtml += '<a href=\"javascript:;\" onclick=\'PagingTool.Paging(' + JSON.stringify(pParams) + ')\'>>></a>';

        }

        else {

            pageHtml += '<a href=\"javascript:;\" >></a>'

            pageHtml += '<a href=\"javascript:;\">>></a>'

        }

        $("#" + pageTargetId).html(pageHtml);

    } else {

        $("#" + pageTargetId).html("");

    }





}

/**

 * 返回当前集合中指定位置的元素

 * @method PagingTool.Paging 分页操作方法

 * @param {pParams}  查询条件  { "intUstate": 0, "intNowPage": 1, "intType": 1, "intPageSize": 3 }

 * @return {HTML} 返回html loadingIcon.gif

 */

PagingTool.Paging = function (pParams) {

    var funDCallBack = PagingTool.Init.DataCallBack;

    var funPCallBack = PagingTool.Init.PageCallBack

    var appendId = PagingTool.Init.AppendId;

    var targetId = PagingTool.Init.PageTargetId;

    var pageSize = PagingTool.Init.PageSize;

    var pageCount = PagingTool.Init.PageCount;





    $.ajax({

        url: PagingTool.Init.Url,

        data: pParams,

        type: PagingTool.Init.Type,

        dataType: "json",

        beforeSend: function () {

            var isElement = document.getElementById(appendId).nodeName;

            var html = "";

            if (isElement == "DIV") {

                html = '<div id="sload" style="text-align:center; margin-top:30px;"><image src="/Content/image/base/loadingIcon.gif" /></div>';

            }

            else {

                html = '<tr id="sload"><td  colspan="50" style="text-align:center;"><image src="/Content/image/base/loadingIcon.gif" /></td></tr>';

            }

            $("#" + appendId).html(html);

        },

        complete: function () {

            $("#sload").remove();

        },

        error: function () {

            $("#sload").remove();

        },

        success: function (data) {

            var totalCount = data.TotalCount;

            var jieanCount = data.jieanCount;

            if (totalCount > 0) {

                var totalPages = parseInt((totalCount - 1) / pageSize + 1);

                var callDBackParams = { "appendId": appendId, "jsonData": data, "totalCount": totalCount, "jieanCount": jieanCount };

                var callPBackParams = { "pageTargetId": targetId, "pageSize": pageSize, "totalPages": totalPages, "pageCount": pageCount, "totalCount": totalCount, "pParams": pParams };

                funDCallBack(callDBackParams);//回到函数

                funPCallBack(callPBackParams);//分页控件回调函数

            }

            else {

                var desc = returnNull(appendId, 20, "", "");//提示没有数据

                $("#" + appendId + "").html(desc);

                $("#" + targetId + "").html("");

                //没有数据 

            }





        }

    });

}

/* 方法说明 使用说明 方法 PageTargetId【分页条呈现位置ID】 AppendId【数据呈现ID】DataCallBack【数据回调函数】PageCallBack【页面呈现回调函数】

    PagingTool.Init = { "Url": "/LshSystem/User/AjaxIndex", "Type": "POST", "PageCount": 3, "PageSize": 3, "PageTargetId": "pageId", "AppendId": "appendId", "DataCallBack": funDataCallBack, "PageCallBack": PagingTool.funPageCallBack };

    PagingTool.Paging({ "intUstate": 0, "intNowPage": 1, "intType": 1, "intPageSize": 3 });

     //数据回调函数 页面操作逻辑

    funDataCallBack= function(data) {

        var appendId = data.appendId;

        var jsonData = data.jsonData.PageData;

        var htmlData = "";

        for (var i = 0; i < jsonData.length; i++) { //便利数据

            htmlData += "<tr id=\"Temp" + i + "\">" +

                    "<td class=\"thcenter\">" +

                      "<input type=\"checkbox\" value=\"" + jsonData[i].UAccount + "\" name=\"ckUAccount\" /></td>" +

                        "<td id=\"UAccount\">" + jsonData[i].UAccount + "</td>" +

                         "<td id=\"SFName\">" + jsonData[i].SFName + "</td> </tr>"

        }

        $("#" + appendId + "").html(htmlData);

    }

*/

版权声明:本文博客原创文章,博客,未经同意,不得转载。

Javascrpt 页面工具的更多相关文章

  1. 如何编辑PDF文件,怎么使用PDF裁剪页面工具

    在编辑PDF文件的时候,往往会有很多的小技巧可以使用,在编辑PDF文件的时候,怎么对文件的页面进行裁剪呢,不会的话,看看下面的文章吧,小编已经为大家整理好了哦. 1.打开运行PDF编辑器,在编辑器中打 ...

  2. html页面工具-htmlUnit

    HtmlUnit测试工具的推出,创意非常好.是一款给java开发用的browser.说它是browser,其实它是对html建模并且提供API来访问页面,点击链接等等的java类库.     这样的测 ...

  3. jekyll介绍安装.github静态页面工具

    jekyll build # => 当前文件夹中的内容将会生成到 ./site 文件夹中. $ jekyll build --destination <destination> # ...

  4. 微软Connect教程系列--自动生成增删改查页面工具介绍(二)

    本章课程描述了vs2015的三个特点,其中主要将描述在vs2015下面,使用命令自动生成增删改查界面,具体如下: 1.web.config文件不在存在,用config.json替代,以适应支撑vs的插 ...

  5. javascrpt 页面格式化页面

    下面这个页面,格式化javaScript <html> <head> <title>JS格式化工具 </title> <meta http-equ ...

  6. ASP.NET 数据库页面访问简单工具

    在工作中,有很多项目已上线后,很多项目的数据库服务器都不会对外开放的,外网想直接访问客户数据库服务器时,可能会出现困难. 这时就需要一个可以查询,更新数据库操作的页面了: 本来用sql语句直接操作数据 ...

  7. [转]以Facebook为案例剖析科技公司应有的工具文化

    原文:http://36kr.com/p/146507.html 这是一篇几年前的文章,但对于没有涉及到工具文化这个概念的人来说,还是很新的. 前言 前段时间和大众点评的 CEO 张涛聊天的时候碰到内 ...

  8. ArcGIS空间分析工具

    1. 3D分析 1.1. 3D Features toolset 工具 工具 描述 3D Features toolset (3D 要素工具集) Add Z Information 添加 Z 信息 添 ...

  9. 自定义tld标签,页面使用

    背景需求: 系统本身的session不能在页面使用 如下: controller: @RequestMapping(method=RequestMethod.GET) public String ge ...

随机推荐

  1. Servlet过滤器——日志记录过滤器

    1.概述 在实际的项目开发过程中,经常需要在项目运行时,记录并在控制台中输出运行时的日志信息,便于查看项目的运行状况.本实例将介绍如何应用过滤器实现日志记录.运行本实例,将在控制台中输出项目运行时的日 ...

  2. EFI/GPT探索(为何win7分区时创建100M隐藏分区)

    EFI/GPT探索(为何win7分区时创建100M隐藏分区) 转自 http://blog.tomatoit.net/article.asp?id=348 EFI/GPT是新一代的固件/启动管理技术, ...

  3. 用MFC实现WebGUI--(CDHtmlDialog)

    自从去年年底一次棘手的界面,开始研究用web做界面到现在大约1年,这一年间不是局限在实现层面,也并非一直研究这一个问题,有很多问题其实不是问题,只是自己没有想清楚或者思想没放开.对于一个界面开发人员, ...

  4. hdu 4708 Rotation Lock Puzzle 2013年ICPC热身赛A题 旋转矩阵

    题意:给出一个n*n的矩阵,旋转每一圈数字,求出对角线可能的最大值,以及转到最大时的最小距离. 只要分析每一层就可以了,本来想用地址传递二维数组,发现行不通,改了一下就行了. 这里有个坑,比如: 1 ...

  5. 模板的Traits

    Traits含义就是特性,应用Trait模板参数,使得我们的程序既保持灵活性,同时减少类型参数的数量.能够使得我们对函数进行更加细粒度的控制. #ifndef TRAIT_H_ #define TRA ...

  6. JS跑马灯

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML>  <HEA ...

  7. html5实现拖拽文件上传

    以下是自学it网--中级班上课笔记 网址:www.zixue.it html文件 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict ...

  8. ZOJ 3529 A Game Between Alice and Bob(博弈论-sg函数)

    ZOJ 3529 - A Game Between Alice and Bob Time Limit:5000MS     Memory Limit:262144KB     64bit IO For ...

  9. table明明设置了固定值

    IE真的快把我搞死了 0.0 可爱的迷人的让人醉了的IE你真棒 今天用表格写一个4列的表格 要实现的效果大概是这种 确有用普通浏览器都没有问题 非常easy明了的一个表格嘛!用IE8下面的看就成这样子 ...

  10. 例3.1 猜猜数据结构 UVa11995

    1.标题叙述性说明:点击打开链接 2.解题思路:据来推測一种可能的数据结构,备选答案有"栈,队列.优先队列".结果也可能都不是或者不确定. STL中已经有这三种数据结构了,因此直接 ...