jQuery插件--分页插件

  之前有在javaeye上看到使用jQuery插件来解决分页的方案,此处记录一下。

  具体知识点,请看代码注释。

  先上图先:

 

   首先来看一下页面调用:

 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
		<title>分页插件</title>
		<link rel="stylesheet" href="page.css"/>
		<script type="text/javascript" src="jquery-1.2.6.js"></script>
		<script type="text/javascript" src="jquery.page.js"></script>
		<script type="text/javascript">			
			$(document).ready(function(){
				 //选择渲染地点,然后调用,传入中页数,可以与服务器端很好结合
			$('#mypaget').mypage(10112,{
				callback:function(page){
					$('#result').html("<font>回调函数-----您选择了第"+page+"页</font>");
				}
			});
		});
		</script>
	</head>
	<body>
	<div id="mypaget" class="mypage"></div>
	<div id="result" class="mypage"></div>
	</body>
</html>

 

   插件具体实现代码:

 

$.fn.mypage = function(totalProperty, opts){
	//这里是插件实现的另一种方式 
    //$.extend 用于扩展自身方法
    opts = $.extend({
        perPage: 10,
        callback: function(){
        }
    }, opts ||
    {});
    
    return this.each(function(){
        /*计算总共页数*/
        function pagenum(){
            return Math.ceil(totalProperty / opts.perPage);
        }
        
        
        /*选定第几页*/
        function selectPage(page){
            return function(){
                currPage = page;
                if (page < 0) 
                    currPage = 0;
                if (page >= pagenum()) 
                    currPage = pagenum() - 1;
                
                render();
                
                $('img.page-wait', panel).attr('src', 'image/wait.gif');
                opts.callback(currPage + 1);
                $('img.page-wait', panel).attr('src', 'image/nowait.gif');
                
            }
        }
        
		
        /*渲染操作*/
        function render(){
            var html = '<table><tbody><tr>' +
            '<td><a href="#"><img class="page-first"></a></td>' +
            '<td><a href="#"><img class="page-prev"></a></td>' +
            '<td><span>第<input type="text" class="page-num">页/共' +
            pagenum() +
            '页</span></td>' +
            '<td><a href="#"><img class="page-next"></a></td>' +
            '<td><a href="#"><img class="page-last"></a></td>' +
            '<td><img src="images/nowait.gif" class="page-wait"></td>' +
            '<td><span style="padding-left:50px;">检索到' +
            totalProperty +
            '记录</span></td>' +
            '</tr></tbody></table>';
            
            
            var imgfirst = 'image/page-first-disabled.gif';
            var imgnext = 'image/page-next-disabled.gif';
            var imgprev = 'image/page-prev-disabled.gif';
            var imglast = 'image/page-last-disabled.gif';
            
            if (currPage > 0) {
                imgfirst = 'image/page-first.gif';
                imgprev = 'image/page-prev.gif';
            }
            
            if (currPage < pagenum() - 1) {
                imgnext = 'image/page-next.gif';
                imglast = 'image/page-last.gif';
            }
            
            panel.empty();
            panel.append(html);
            
            /*添加相应的属性,绑定分页事件*/
            $('img.page-first', panel).bind('click', selectPage(0)).attr('src', imgfirst);
            
            $('img.page-next', panel).bind('click', selectPage(currPage + 1)).attr('src', imgnext);
            
            $('img.page-prev', panel).bind('click', selectPage(currPage - 1)).attr('src', imgprev);
            
            $('img.page-last', panel).bind('click', selectPage(pagenum() - 1)).attr('src', imglast);
            
            $('input.page-num', panel).val(currPage + 1).change(function(){
                /*调用选择页面方法,将当前的参数传入进去*/
                selectPage($(this).val() - 1)();
            });
            
        }
        var currPage = 0;
        var panel = $(this);
        render();
    });
    
}

 

【事件触发一致性】研究多智能体网络如何通过分布式事件驱动控制实现有限时间内的共识(Matlab代码实现)内容概要:本文围绕多智能体网络中的事件触发一致性问题,研究如何通过分布式事件驱动控制实现有限时间内的共识,并提供了相应的Matlab代码实现方案。文中探讨了事件触发机制在降低通信负担、提升系统效率方面的优势,重点分析了多智能体系统在有限时间收敛的一致性控制策略,涉及系统模型构建、触发条件设计、稳定性与收敛性分析等核心技术环节。此外,文档还展示了该技术在航空航天、电力系统、机器人协同、无人机编队等多个前沿领域的潜在应用,体现了其跨学科的研究价值和工程实用性。; 适合人群:具备一定控制理论基础和Matlab编程能力的研究生、科研人员及从事自动化、智能系统、多智能体协同控制等相关领域的工程技术人员。; 使用场景及目标:①用于理解和实现多智能体系统在有限时间内达成一致的分布式控制方法;②为事件触发控制、分布式优化、协同控制等课题提供算法设计与仿真验证的技术参考;③支撑科研项目开发、学术论文复现及工程原型系统搭建; 阅读建议:建议结合文中提供的Matlab代码进行实践操作,重点关注事件触发条件的设计逻辑与系统收敛性证明之间的关系,同时可延伸至其他应用场景进行二次开发与性能优化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值