js客戶端資料庫的物件與函式 (轉)

worldblog發表於2007-12-03
js客戶端資料庫的物件與函式 (轉)[@more@]

作者:?member_id=3642">小餛飩_奮鬥 發表日期:2000年12月29日

有時候想在網頁上使用客戶端,但為了相容第版本的不支援技術,所以在此編了一些js的dml希望有興趣的朋友一起討論
function TRform()
{
this.TRRC=new Array();
this.QRC=new Array();//結果

this.currentRC=1;//當前紀錄指標
this.lastRC=0;//最後紀錄
this.RClength=arguments.length;//欄位數

this.TRRC[0]=new Array();//欄位名

for(i=0;i
this.addRC=addRC; //加一條紀錄
this.showRC=showRC;//列印當前紀錄
this.showPrevious=showPrevious;
this.showNext=showNext;

this.preLoad=preLoad; //預裝載影像
this.item2index=item2index;//使欄位名到陣列的
this.showThis=showThis;
this.Isright=Isright;
this.seek=seek;


}

function addRC()
{
this.TRRC[++this.lastRC]=new Array();
for(i=0;i
return true;

}



function showRC(){
 for(rc=0;rc {
  theEL=eval(this.QRC[0][rc]);
 
  if(this.QRC[0][rc].indexOf("image")==-1){
 theEL.innerText=this.QRC[this.currentRC][rc]
  }
  else{
 theEL.src=this.QRC[this.currentRC][rc];
  }
 }
return true;

}

function showNext(){
this.seek("all","all")
if(++this.currentRC>this.lastRC) this.currentRC=this.lastRC;
this.showRC();


}

function showThis(){
 this.seek("all","all")
this.showRC();

}



function showPrevious(){
this.seek("all","all");
if(--this.currentRC==0) this.currentRC=1;
this.showRC();

}


function preLoad(){
if(confirm('您需要先將圖片載入嗎,這樣可以提高瀏覽時的平滑度.如果您的速度較慢的話,建議不要載入','明暗界限')){
status='圖片裝入中';
var imageIndex=new Array();
var n=0;
for(i=0;i  if(this.TRRC[0][i].indexOf("image")!=-1) imageIndex[n++]=i;

 
for (i=1;i<=this.lastRC;i++){
  for(var II in imageIndex){
  var preImage=new Image();
  preImage.src=this.TRRC[i][II];
  status+='.'
  }
 }
}
status='';
return true;

}

function item2index(item)
{
val=-1
for(i=0;i if(this.TRRC[0][i]==item) val=i;

return val;

}



function Isright(rc,item,oper,exp)
{


id=this.item2index(item);


ends=false;
if(eval("this.TRRC[rc][id]"+oper+"exp")) ends=true;


return ends;

}

function seek(exp1,item1)
{


var getexp=exp1.split("@");

this.QRC=new Array();

var n=0;
var showitems=new Array();

if(item1=='all') for(i=0;ielse{
  for(i=1;i showitems[n++]=arguments[i];
}



this.QRC[0]=new Array();
for(m=0;m {
 
  this.QRC[0][m]=showitems[m];
 }


for(m=0;m {
 showitems[m]=this.item2index(showitems[m]);
 }


temp=1;

if(getexp[0]=='all'){
 
 for(k=1;k<=this.lastRC;k++)
 {
 
  this.QRC[temp++]=new Array();
  for(i=0;i  {
 this.QRC[temp-1][i]=this.TRRC[k][showitems[i]];
  }
 }

 }
else
 {
 for(k=1;k<=this.lastRC;k++)
 {
  if(this.Isright(k,getexp[0],getexp[1],getexp[2]))
  {
 this.QRC[temp++]=new Array();
 for(i=0;i {
 this.QRC[temp-1][i]=this.TRRC[k][showitems[i]];
 }
  }
 }
 

}





return this.QRC;

}





【本文版權歸作者與奧索網共同擁有,如需轉載,請註明作者及出處】 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-987690/,如需轉載,請註明出處,否則將追究法律責任。

相關文章