科讯商业版中用到的ajax空间与分页函数


Posted in Javascript onSeptember 02, 2007

科讯sql商业版中用到的ajax空间与分页函数,他们的js代码学习是非常不错的
//ajax 控件
function PageAjax(){
    var xhrObj=null;
    if(window.XMLHttpRequest)
    {
    xhrObj=new XMLHttpRequest();
    }
    else if(window.ActiveXObject)
    {
    try{
    xhrObj=new ActiveXObject("Microsoft.XMLHTTP");
    }
    catch(e1)
    {
    try{
    xhrObj=new ActiveXObject("MSXML2.XMLHTTP");
    }
    catch(e2){
    try{
    xhrObj=new ActiveXObject("MSXML3.XMLHTTP");
    }
    catch(e3){
    alert("创建Ajax失败:"+e3)
    }
    }
    }
    }
    else
    {
    alert("未能识别的浏览器");
    }
    return xhrObj;
}

function Page(curPage,labelid,classid,installdir,url,refreshtype,specialid)
   {
   this.labelid=labelid;
   this.classid=classid;
   this.url=url;
   if (labelid.substring(0,5)=="{SQL_")
   {
    var slabelid=labelid.split('(')[0];
    slabelid=slabelid.replace("{","");
    this.c_obj="c_"+slabelid;
    this.p_obj="p_"+slabelid;
   }
   else
   {
   this.c_obj="c_"+labelid;
   this.p_obj="p_"+labelid;
   }
   this.installdir=installdir;
   this.refreshtype=refreshtype;
   this.specialid=specialid;
   this.page=curPage;
   loadData(1);
   }
function loadData(p)
{  this.page=p;
   var xhr=new PageAjax();
   xhr.open("get",installdir+url+"?labelid="+escape(labelid)+"&classid="+classid+"&refreshtype="+refreshtype+"&specialid=" +specialid+"&curpage="+p,true);
   xhr.onreadystatechange=function (){
             if(xhr.readyState==1)
              {
                 if (p==1)
                eval('document.all.'+c_obj).innerHTML="<div align='center'><img src='"+installdir+"images/loading.gif'>正在连接服务器...</div>";
              }
              else if(xhr.readyState==2 || xhr.readyState==3)
              {
                if (p==1)
                eval('document.all.'+c_obj).innerHTML="<div align='center'><img src='"+installdir+"images/loading.gif'>正在读取数据...</div>";
              }
              else if(xhr.readyState==4)
              {
             if (xhr.status==200)
             {
                  var pagearr=xhr.responseText.split("{ks:page}")
                  var pageparamarr=pagearr[1].split("|");
                  count=pageparamarr[0];    
                  perpagenum=pageparamarr[1];
                  pagecount=pageparamarr[2];
                  itemunit=pageparamarr[3];   
                  itemname=pageparamarr[4];
                  pagestyle=pageparamarr[5];
                  getObject(c_obj).innerHTML=pagearr[0];
                  pagelist();
             }
            }
       }
    xhr.send(null); 
}
function getObject(id) 
{
    if(document.getElementById) 
    {
        return document.getElementById(id);
    }
    else if(document.all)
    {
        return document.all[id];
    }
    else if(document.layers)
    {
        return document.layers[id];
    }
}

function pagelist()
{
 var n=1;    
 var statushtml=null;
 switch(parseInt(this.pagestyle))
 {
  case 1:    
     statushtml="共"+this.count+this.itemunit+" <a href=\"javascript:homePage(1);\" title=\"首页\">首页</a> <a href=\"javascript:previousPage()\" title=\"上一页\">上一页</a> <a href=\"javascript:nextPage()\" title=\"下一页\">下一页</a> <a href=\"javascript:lastPage();\" title=\"最后一页\">尾页</a> 页次:<font color=red>"+this.page+"</font>/"+this.pagecount+"页 "+this.perpagenum+this.itemunit+this.itemname+"/页";
        break;
  case 2:
     statushtml="<a href='#'>"+this.pagecount+"页/"+this.count+this.itemunit+"</a> <a href=\"javascript:homePage(1);\" title=\"首页\"><font face=webdings>9</font></a> <a href=\"javascript:previousPage()\" title=\"上一页\"><font face=webdings>7</font></a> ";
     var startpage=1;
     if (this.page==10)
       startpage=2;
     else if(this.page>10)
       startpage=eval((parseInt(this.page/10)-1)*10+parseInt((this.page)%10)+2);
      for(var i=startpage;i<=this.pagecount;i++){ 
          if (i==this.page)
           statushtml+="<a href=\"#\"><font color=\"#ff0000\">"+i+"</font></a> "
          else
            statushtml+="<a href=\"javascript:turn("+i+")\">"+i+"</a> "
            n=n+1;
          if (n>10) break;
      }
     statushtml+="<a href=\"javascript:nextPage()\" title=\"下一页\"><font face=webdings>8</font></a> <a href=\"javascript:lastPage();\" title=\"最后一页\"><font face=webdings>:</font></a>";
     statushtml="<span class='kspage'>"+statushtml+"</span>";
    break;     
  case 4:
     statushtml="共"+this.pagecount+"页/"+this.count+this.itemunit+this.itemname+" <a href=\"javascript:homePage(1);\" title=\"首页\"><font face=webdings>9</font></a> <a href=\"javascript:previousPage()\" title=\"上一页\"><font face=webdings>7</font></a> ";
      for(var i=this.page;i<=this.pagecount;i++){ 
          if (i==this.page)
           statushtml+="<b><font color=\"#ff0000\">"+i+"</font></b> "
          else
            statushtml+="<a href=\"javascript:turn("+i+")\">["+i+"]</a> "
            n=n+1;
          if (n>10) break;
      }
     statushtml+="<a href=\"javascript:nextPage()\" title=\"下一页\"><font face=webdings>8</font></a> <a href=\"javascript:lastPage();\" title=\"最后一页\"><font face=webdings>:</font></a>";
    break;     
  case 3:
     statushtml="第<font color=#ff000>"+this.page+"</font>页 共"+this.pagecount+"页 <a href=\"javascript:homePage(1);\" title=\"首页\"><<</a> <a href=\"javascript:previousPage()\" title=\"上一页\"><</a> <a href=\"javascript:nextPage()\" title=\"下一页\">></a> <a href=\"javascript:lastPage();\" title=\"最后一页\">>></a> "+this.perpagenum+this.itemunit+this.itemname+"/页";
   break;
 }
     statushtml+=" 第<select name=\"goto\" onchange=\"turn(parseInt(this.value));\">";
      for(var i=1;i<=this.pagecount;i++){
         if (i==this.page)
         statushtml+="<option value='"+i+"' selected>"+i+"</option>";
         else
         statushtml+="<option value='"+i+"'>"+i+"</option>";
      }    
     statushtml+="</select>页";
     getObject(this.p_obj).innerHTML=statushtml;
}
function homePage()
{
   if(this.page==1)
    alert("已经是首页了!")
   else
   loadData(1);

function lastPage()
{
   if(this.page==this.pagecount)
    alert("已经是最后一页了!")
   else
   loadData(this.pagecount);

function previousPage()
{
   if (this.page>1)
      loadData(this.page-1);
   else
      alert("已经是第一页了");      
}

function nextPage()
{
   if(this.page<this.pagecount)
      loadData(this.page+1);
   else
      alert("已经到最后一页了");
}
function turn(i)
{
     loadData(i);
}

Javascript 相关文章推荐
mailto的使用技巧分享
Dec 21 Javascript
js常用自定义公共函数汇总
Jan 15 Javascript
jquery插件bxslider用法实例分析
Apr 16 Javascript
javascript中alert()与console.log()的区别
Aug 26 Javascript
jquery获取img的src值的简单实例
May 17 Javascript
避免jQuery名字冲突 noConflict()方法
Jul 30 Javascript
基于JavaScript实现的插入排序算法分析
Apr 14 Javascript
浅谈webpack对样式的处理
Jan 05 Javascript
javascript的this关键字详解
May 20 Javascript
微信小程序使用Vant Weapp组件库的方法步骤
Aug 01 Javascript
JavaScript使用表单元素验证表单的示例代码
Aug 20 Javascript
JavaScript实现HSL拾色器
May 21 Javascript
PNGHandler-借助JS让PNG图在IE下实现透明(包括背景图)
Aug 31 #Javascript
给Javascript数组插入一条记录的代码
Aug 30 #Javascript
用javascript实现给出的盒子的序列是否可连为一矩型
Aug 30 #Javascript
Expandable &quot;Detail&quot; Table Rows
Aug 29 #Javascript
出现“不能执行已释放的Script代码”错误的原因及解决办法
Aug 29 #Javascript
推荐一些非常不错的javascript学习资源站点
Aug 29 #Javascript
070823更新的一个[消息提示框]组件 兼容ie7
Aug 29 #Javascript
You might like
php进行支付宝开发中return_url和notify_url的区别分析
2014/12/22 PHP
php与Mysql的一些简单的操作
2015/02/26 PHP
ThinkPHP中使用Ueditor富文本编辑器
2015/09/02 PHP
JavaScript Event学习第三章 早期的事件处理程序
2010/02/07 Javascript
js操作select控件的几种方法
2010/06/02 Javascript
jquery弹出层类代码分享
2013/12/27 Javascript
最短的IE判断var ie=!-[1,]分析
2014/05/28 Javascript
jquery实现鼠标拖拽滑动效果来选择数字的方法
2015/05/04 Javascript
Bootstrap前端开发案例二
2016/06/17 Javascript
js实现的xml对象转json功能示例
2016/12/24 Javascript
VUE长按事件需求详解
2017/10/18 Javascript
vue项目实战总结篇
2018/02/11 Javascript
深入了解JavaScript 防抖和节流
2019/09/12 Javascript
JS中==、===你分清楚了吗
2020/03/04 Javascript
JavaScript实现点击切换验证码及校验
2021/01/10 Javascript
[01:01:29]2018DOTA2亚洲邀请赛 4.4 淘汰赛 VP vs Liquid 第一场
2018/04/05 DOTA
详解Python中的各种函数的使用
2015/05/24 Python
使用Python解析JSON数据的基本方法
2015/10/15 Python
请不要重复犯我在学习Python和Linux系统上的错误
2016/12/12 Python
Python获取文件所在目录和文件名的方法
2017/01/12 Python
python获取代理IP的实例分享
2018/05/07 Python
Python生成一个迭代器的实操方法
2019/06/18 Python
Python 2种方法求某个范围内的所有素数(质数)
2020/01/31 Python
python代码如何实现余弦相似性计算
2020/02/09 Python
TensorFlow2.1.0安装过程中setuptools、wrapt等相关错误指南
2020/04/08 Python
css3 条纹化和透明化表格Firefox下测试成功
2014/04/15 HTML / CSS
纯CSS3实现运行时钟的示例代码
2021/01/25 HTML / CSS
HTML5网页录音和上传到服务器支持PC、Android,支持IOS微信功能
2019/04/26 HTML / CSS
台湾旅游网站:雄狮旅游网
2017/08/16 全球购物
美国尼曼百货官网:Neiman Marcus
2019/09/05 全球购物
2014年最新党员对照检查材料汇总
2014/09/15 职场文书
2014年学校法制宣传日活动总结
2014/11/01 职场文书
2014年健康教育工作总结
2014/11/20 职场文书
2015年五一劳动节活动总结
2015/02/09 职场文书
pytorch 如何使用amp进行混合精度训练
2021/05/24 Python
macos系统如何实现微信双开? mac登录两个微信以上微信的技巧
2022/07/23 数码科技