posts - 13,  comments - 58,  trackbacks - 1
  2010年5月23日

function closeloading()
{
    var loaddiv; 
    var bgdiv;
    showAllSelect();
    bgdiv=document.getElementById("bgdiv");
    loaddiv=document.getElementById("loaddiv");
    if(bgdiv)
    {
        document.body.removeChild(bgdiv);
    }
    if(loaddiv){     
        document.body.removeChild(loaddiv);
    }
    document.body.style.cursor="default";
}
function showloading(){
    hideAllSelect();
    var loaddiv;   
    if(loaddiv=document.getElementById("loaddiv")){   
        loaddiv.style.display = "block";   
    }else{   
        loaddiv = document.createElement("div");   
        loaddiv.id="loaddiv";   
        loaddiv.style.position = "absolute";   
        loaddiv.style.zIndex = 1000;   
        loaddiv.style.display="block";   
        loaddiv.style.left = 0;   
        loaddiv.style.top  = 0;   
        loaddiv.style.border = "1px solid gray"  
        loaddiv.style.background = "#ffffff"  
        loaddiv.style.padding = "5";   
    }   
       
    var scrollTop=0;   
    var clientHig=0;
    if(top.document.documentElement && top.document.documentElement.scrollTop){   
        scrollTop = top.document.documentElement.scrollTop;
    }else if(document.body){   
        scrollTop = top.document.body.scrollTop;  
    }   
   
    clientHig=document.body.clientHeight;
       
    var scrollWid = document.body.scrollWidth/2-150;
    loaddiv.style.left = scrollWid+"px";   
    loaddiv.style.top  = (scrollTop+clientHig/2)+"px";
       
    loaddiv.innerHTML = "<img src='../images/loading02.gif'><h>&nbsp;&nbsp;数据正在获取,请稍等。。。</h>";  
    document.body.style.cursor="wait";     
       
       
  var sWidth,sHeight;   
  sWidth=document.body.scrollWidth;//浏览器工作区域内页面宽度 或使用 screen.width//屏幕的宽度   
  sHeight=document.body.scrollHeight;//屏幕高度(垂直分辨率)   
  
  
  //背景层(大小与窗口有效区域相同,即当弹出对话框时,背景显示为放射状透明灰色)   
  var bgObj=document.createElement("div");//创建一个div对象(背景层) //动态创建元素,这里创建的是 div   
  //定义div属性,即相当于(相当于,但确不是,必须对对象属性进行定义   
  //<div id="bgDiv" style="position:absolute; top:0; background-color:#777; filter:progid:DXImagesTransform.Microsoft.Alpha(style=3,opacity=25,finishOpacity=75); opacity:0.6; left:0; width:918px; height:768px; z-index:10000;"></div>   
  bgObj.setAttribute('id','bgdiv');   
  bgObj.style.position="absolute";   
  bgObj.style.top="0";   
  bgObj.style.background="#ffffff";   
  bgObj.style.filter="progid:DXImageTransform.Microsoft.Alpha(style=3,opacity=25,finishOpacity=75";   
  bgObj.style.opacity="0.6";   
  bgObj.style.left="0";   
  bgObj.style.width=sWidth + "px";   
  bgObj.style.height=sHeight + "px";   
  bgObj.style.zIndex = "10000";   
  //bgObj.innerHTML="<iframe src='javascript:false' style='position:absolute; visibility:inherit; top:0px; left:0px; width:100px; height:200px; z-index:-1;' ></iframe>";
  //bgObj.innerHTML+="filter='progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0)'";
  //bgObj.innerHTML+="></iframe>";
  document.body.appendChild(bgObj);//在body内添加该div对象   
       
  document.body.appendChild(loaddiv);   
 
}

function hideAllSelect()
{
    objs=document.getElementsByTagName("select");
    for(i=0;i<objs.length;i++)
    {
        objs[i].style.display="none";
    }

function showAllSelect()
{
    objs=document.getElementsByTagName("select");
    for(i=0;i<objs.length;i++)
    {
        objs[i].style.display="";
    }
}

posted @ 2010-05-23 16:25 十分之七 阅读(299) 评论(1) 编辑
  2008年10月9日
1、取得对象的坐标

function getElementPos(elementId) {
 var ua = navigator.userAgent.toLowerCase();
 var isOpera = (ua.indexOf('opera') != -1);
 var isIE = (ua.indexOf('msie') != -1 && !isOpera);
 var el = document.getElementById(elementId);
 
 if(el.parentNode === null || el.style.display == 'none')
 {
  return false;
 }
 
 var parent = null;
 var pos = [];
 var box;
 
 if(el.getBoundingClientRect)
 {
  box = el.getBoundingClientRect();
  var scrollTop = Math.max(document.documentElement.scrollTop, document.body.scrollTop);
  var scrollLeft = Math.max(document.documentElement.scrollLeft, document.body.scrollLeft);
  return {x:box.left + scrollLeft, y:box.top + scrollTop};
 }
 else if(document.getBoxObjectFor)
 {
  box = document.getBoxObjectFor(el);
  var borderLeft = (el.style.borderLeftWidth)?parseInt(el.style.borderLeftWidth):0;
  var borderTop = (el.style.borderTopWidth)?parseInt(el.style.borderTopWidth):0;
  pos = [box.x - borderLeft, box.y - borderTop];
 }
 else
 {
  pos = [el.offsetLeft, el.offsetTop];
  parent = el.offsetParent;
  if (parent != el) {
   while (parent) {
    pos[0] += parent.offsetLeft;
    pos[1] += parent.offsetTop;
    parent = parent.offsetParent;
   }
  }
 
  if (ua.indexOf('opera') != -1|| ( ua.indexOf('safari') != -1 && el.style.position == 'absolute' ))
  {
   pos[0] -= document.body.offsetLeft;
   pos[1] -= document.body.offsetTop;
  }
 
 }
 
 if (el.parentNode) {
  parent = el.parentNode;
 }else {
  parent = null;
 }
 
 while (parent && parent.tagName != 'BODY' && parent.tagName != 'HTML')
 {
  pos[0] -= parent.scrollLeft;
  pos[1] -= parent.scrollTop;
 
  if (parent.parentNode) {
   parent = parent.parentNode;
  }else { parent = null; }
  
 }

 return {x:pos[0], y:pos[1]};
};

2、取得页面编码
function getCode() {
 var metas = document.getElementsByTagName("meta");
 var strMeta = new String();
 var strTemp;
 for (var i = 0; i < metas.length; i++) {
  strTemp = metas[i].name + "=" + metas[i].content + " ";
  strMeta = strMeta.concat(strTemp);
 }
 strMeta = strMeta.toLowerCase();
 if (parseInt(strMeta.indexOf("utf-8")) != -1){
  return "utf-8";
 }
 return "gb2312";
};


posted @ 2008-10-09 17:25 十分之七 阅读(52) 评论(0) 编辑

方法一:利用正则替换

Code

 

方法二:利用文本替换,目前一些类似点睛的那种文字富媒体广告的实现都是基于该方法

 

Code
posted @ 2008-10-09 17:14 十分之七 阅读(212) 评论(0) 编辑
  2008年7月23日

首先声明js是脚本性语言,非面向对象语言。我这里所做的是尝试用js将面向对象中的各种特性模拟出来。

 

  1//定义类
  2
  3var Test=function()
  4
  5{
  6
  7     //定义私有变量
  8
  9     //这里的私有变量是指Test内部的变量
 10
 11     var priParam="Private";
 12
 13     //定义共有变量,外界及Test内部函数也可访问到
 14
 15     //这里的this指向Test
 16
 17     this.pubParam="Public";
 18
 19     
 20
 21     //定义私有函数
 22
 23     var priFun=function()
 24
 25     {
 26
 27          //这里可以访问私有变量
 28
 29          alert(priParam);
 30
 31          //这里的var变量,其作用域为priFun内,外部无法访问
 32
 33          var theParam1="theParam1";
 34
 35          alert(theParam1);
 36
 37          //这里定义this指向Test,定义this. pubParam2,其实作用就是定义了Test. pubParam2
 38
 39          //但是却访问不到pubParam,借用面向对象的说法因为pubParam不是静态变量,必须Test实例化后才可以访问
 40
 41          this. pubParam2="pubParam2";
 42
 43          alert(pubParam2);
 44
 45          alert(this.pubParam2);
 46
 47          //这里会报错
 48
 49          //alert(this.pubParam);
 50     }

 51
 52
 53
 54     //定义公有函数
 55
 56     this.pubFun=function()
 57
 58     {
 59
 60          //可以访问定义的私有函数
 61
 62          priFun();
 63
 64          //可以访问私有变量
 65
 66          alert(priParam);
 67
 68          //可以访问公有变量
 69
 70          alert(this.pubParam);
 71
 72     }

 73
 74
 75
 76     //定义初始化函数
 77
 78     this.Create=function()
 79
 80     {
 81
 82          priParam="Private Param";
 83
 84          this.pubParam="Public Param";
 85
 86     }

 87
 88     this.Create();
 89
 90}

 91
 92
 93
 94//定义并实例化一个类实例
 95
 96//这里实际调用了Test.Create();
 97
 98var test=new Test();
 99
100//Test中用this定义的变量,实例化后可以被访问,但是没办法访问priParam
101
102alert(test.pubParam);
103
104alert(test.priParam);     //会提示为undefined
105
106//可以调用pubFun();但无法调用priFun();
107
108test.pubFun();
109
110//test.priFun();     //这里会报错
111

 

 

看了上面的代码后,有心人就会发现在变量定义中var 和 this 的作用非常不一样,我们现在是知其然,那么其所以然是如何的呢?

先吃饭,回头说

posted @ 2008-07-23 12:39 十分之七 阅读(113) 评论(0) 编辑
  2008年7月21日

bat命令执行JS

.bat文件:

cscript WWW.js

 

.js文件:
function dellogfile(beforedays) {
   var fso = new ActiveXObject("Scripting.FileSystemObject");
   var dir = fso.GetFolder("E:\\IISLog\\En");    //改成你的 IIS 日志目录

//Enumerator用指针访问的项目集合:atEnd(),item(),moveFirst(),moveNext()
   for (var fc = new Enumerator(dir.SubFolders); !fc.atEnd(); fc.moveNext()) {
       if (fc.item().name.substr(0,5) == "W3SVC") {
           for (var logfiles = new Enumerator(fc.item().Files); !logfiles.atEnd(); logfiles.moveNext()) {
               var fileName = logfiles.item().name;
               var year = "20" + fileName.substr(2, 2);
               var mouth = fileName.substr(4, 2);
               var day = fileName.substr(6, 2);
               var days = Math.round(((new Date()).getTime() - Date.UTC(year, mouth - 1, day)) / 1000 / 60 / 60 / 24);
               if (days >= beforedays) logfiles.item().Delete();
           }
       }
   }
}
dellogfile(60);

 

 

JS执行BAT命令

 

 

 

 

 

posted @ 2008-07-21 10:22 十分之七 阅读(507) 评论(0) 编辑
  2008年5月21日
摘要: 最近研究Flash XML的动态图表实现.看了些商业的方案.汇总在这里.阅读全文
posted @ 2008-05-21 17:02 十分之七 阅读(2862) 评论(1) 编辑
  2008年5月20日
posted @ 2008-05-20 15:19 十分之七 阅读(3184) 评论(0) 编辑
  2008年5月15日
摘要: #region private void ClearIECache() // 清除IE缓存 // -------------------------------------------------------------------------------------------------------------------------------------------------------...阅读全文
posted @ 2008-05-15 14:47 十分之七 阅读(1098) 评论(0) 编辑
posted @ 2008-05-15 10:19 十分之七 阅读(281) 评论(0) 编辑
  2008年4月29日
摘要: 今天找了一个用JS来做报表的东西,好强大。http://www.lutanho.net/diagram/阅读全文
posted @ 2008-04-29 17:23 十分之七 阅读(1705) 评论(1) 编辑