﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-我思故我强-文章分类-javascript</title><link>http://www.blogjava.net/balajinima/category/24507.html</link><description /><language>zh-cn</language><lastBuildDate>Fri, 07 Aug 2009 20:31:47 GMT</lastBuildDate><pubDate>Fri, 07 Aug 2009 20:31:47 GMT</pubDate><ttl>60</ttl><item><title>js prototype</title><link>http://www.blogjava.net/balajinima/articles/290217.html</link><dc:creator>李云泽</dc:creator><author>李云泽</author><pubDate>Fri, 07 Aug 2009 05:28:00 GMT</pubDate><guid>http://www.blogjava.net/balajinima/articles/290217.html</guid><wfw:comment>http://www.blogjava.net/balajinima/comments/290217.html</wfw:comment><comments>http://www.blogjava.net/balajinima/articles/290217.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/balajinima/comments/commentRss/290217.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/balajinima/services/trackbacks/290217.html</trackback:ping><description><![CDATA[
		<ol>
				<li>
						<span>function Person(name,sex) {  </span>
						<span class="comment">
								<font color="#008200">//Person类的构造函数    </font>
						</span>
						<span>  </span>
				</li>
				<li>
						<span>    </span>
						<span class="keyword">
								<strong>
										<font color="#7f0055">this</font>
								</strong>
						</span>
						<span>.name = name;      </span>
				</li>
				<li>
						<span>    </span>
						<span class="keyword">
								<strong>
										<font color="#7f0055">this</font>
								</strong>
						</span>
						<span>.sex = sex;      </span>
				</li>
				<li>
						<span>}      </span>
				</li>
				<li>
						<span>Person.prototype.age = </span>
						<span class="number">
								<font color="#c00000">12</font>
						</span>
						<span>;   </span>
						<span class="comment">
								<font color="#008200">//为Person类的prototype属性对应的prototype对象的属性赋值,    </font>
						</span>
						<span>  </span>
				</li>
				<li>
						<span>                             </span>
						<span class="comment">
								<font color="#008200">//相当于为Person类的父类添加属性    </font>
						</span>
						<span>  </span>
				</li>
				<li>
						<span>Person.prototype.print = function() { </span>
						<span class="comment">
								<font color="#008200">//为Person类的父类添加方法    </font>
						</span>
						<span>  </span>
				</li>
				<li>
						<span>    alert(</span>
						<span class="keyword">
								<strong>
										<font color="#7f0055">this</font>
								</strong>
						</span>
						<span>.name+</span>
						<span class="string">
								<font color="#0000ff">"_"</font>
						</span>
						<span>+</span>
						<span class="keyword">
								<strong>
										<font color="#7f0055">this</font>
								</strong>
						</span>
						<span>.sex+</span>
						<span class="string">
								<font color="#0000ff">"_"</font>
						</span>
						<span>+</span>
						<span class="keyword">
								<strong>
										<font color="#7f0055">this</font>
								</strong>
						</span>
						<span>.age);      </span>
				</li>
				<li>
						<span>};      </span>
				</li>
				<li>
						<span>     </span>
				</li>
				<li>
						<span>var p1 = </span>
						<span class="keyword">
								<strong>
										<font color="#7f0055">new</font>
								</strong>
						</span>
						<span> Person(</span>
						<span class="string">
								<font color="#0000ff">"name1"</font>
						</span>
						<span>,</span>
						<span class="string">
								<font color="#0000ff">"male"</font>
						</span>
						<span>); </span>
						<span class="comment">
								<font color="#008200">//p1的age属性继承子Person类的父类(即prototype对象)    </font>
						</span>
						<span>  </span>
				</li>
				<li>
						<span>var p2 = </span>
						<span class="keyword">
								<strong>
										<font color="#7f0055">new</font>
								</strong>
						</span>
						<span> Person(</span>
						<span class="string">
								<font color="#0000ff">"name2"</font>
						</span>
						<span>,</span>
						<span class="string">
								<font color="#0000ff">"male"</font>
						</span>
						<span>);      </span>
				</li>
				<li>
						<span>     </span>
				</li>
				<li>
						<span>p1.print();  </span>
						<span class="comment">
								<font color="#008200">//name1_male_12    </font>
						</span>
						<span>  </span>
				</li>
				<li>
						<span>p2.print();  </span>
						<span class="comment">
								<font color="#008200">//name2_male_12    </font>
						</span>
						<span>  </span>
				</li>
				<li>
						<span>     </span>
				</li>
				<li>
						<span>p1.age = </span>
						<span class="number">
								<font color="#c00000">34</font>
						</span>
						<span>; </span>
						<span class="comment">
								<font color="#008200">//改变p1实例的age属性   p1属性在不指向Person的prototype属性 </font>
						</span>
						<span>  </span>
				</li>
				<li>
						<span>p1.print();  </span>
						<span class="comment">
								<font color="#008200">//name1_male_34    </font>
						</span>
						<span>  </span>
				</li>
				<li>
						<span>p2.print();  </span>
						<span class="comment">
								<font color="#008200">//name2_male_12    </font>
						</span>
						<span>  </span>
				</li>
				<li>
						<span>     </span>
				</li>
				<li>
						<span>Person.prototype.age = </span>
						<span class="number">
								<font color="#c00000">22</font>
						</span>
						<span>;  </span>
						<span class="comment">
								<font color="#008200">//改变Person类的超类的age属性    </font>
						</span>
						<span>  </span>
				</li>
				<li>
						<span>p1.print();  </span>
						<span class="comment">
								<font color="#008200">//name1_male_34(p1的age属性并没有随着prototype属性的改变而改变)    </font>
						</span>
						<span>  </span>
				</li>
				<li>
						<span>p2.print();  </span>
						<span class="comment">
								<font color="#008200">//name2_male_22(p2的age属性发生了改变)    </font>
						</span>
						<span>  </span>
				</li>
				<li>
						<span>     </span>
				</li>
				<li>
						<span>p1.print = function() {  </span>
						<span class="comment">
								<font color="#008200">//改变p1对象的print方法    </font>
						</span>
						<span>  </span>
				</li>
				<li>
						<span>    alert(</span>
						<span class="string">
								<font color="#0000ff">"i am p1"</font>
						</span>
						<span>);      </span>
				</li>
				<li>
						<span>}      </span>
				</li>
				<li>
						<span>     </span>
				</li>
				<li>
						<span>p1.print();  </span>
						<span class="comment">
								<font color="#008200">//i am p1(p1的方法发生了改变)    </font>
						</span>
						<span>  </span>
				</li>
				<li>
						<span>p2.print();  </span>
						<span class="comment">
								<font color="#008200">//name2_male_22(p2的方法并没有改变)    </font>
						</span>
						<span>  </span>
				</li>
				<li>
						<span>     </span>
				</li>
				<li>
						<span>Person.prototype.print = function() { </span>
						<span class="comment">
								<font color="#008200">//改变Person超类的print方法    </font>
						</span>
						<span>  </span>
				</li>
				<li>
						<span>    alert(</span>
						<span class="string">
								<font color="#0000ff">"new print method!"</font>
						</span>
						<span>);      </span>
				</li>
				<li>
						<span>}      </span>
				</li>
				<li>
						<span>     </span>
				</li>
				<li>
						<span>p1.print();  </span>
						<span class="comment">
								<font color="#008200">//i am p1(p1的print方法仍旧是自己的方法)    </font>
						</span>
						<span>  </span>
				</li>
				<li>
						<span>p2.print();  </span>
						<span class="comment">
								<font color="#008200">//new print method!(p2的print方法随着超类方法的改变而改变) </font>
						</span>
						<span> </span>
				</li>
		</ol>
<img src ="http://www.blogjava.net/balajinima/aggbug/290217.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/balajinima/" target="_blank">李云泽</a> 2009-08-07 13:28 <a href="http://www.blogjava.net/balajinima/articles/290217.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>js弹出层代码</title><link>http://www.blogjava.net/balajinima/articles/290083.html</link><dc:creator>李云泽</dc:creator><author>李云泽</author><pubDate>Thu, 06 Aug 2009 05:49:00 GMT</pubDate><guid>http://www.blogjava.net/balajinima/articles/290083.html</guid><wfw:comment>http://www.blogjava.net/balajinima/comments/290083.html</wfw:comment><comments>http://www.blogjava.net/balajinima/articles/290083.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/balajinima/comments/commentRss/290083.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/balajinima/services/trackbacks/290083.html</trackback:ping><description><![CDATA[
		<p>var CONTEXTPATH = 'http://www.5-studio.com/wp-content/uploads/2009/06/';//图片路径配置<br />//var CONTEXTPATH = 'images/';//图片路径配置<br />var isIE = navigator.userAgent.toLowerCase().indexOf("msie") != -1;<br />var isGecko = navigator.userAgent.toLowerCase().indexOf("gecko") != -1;</p>
		<p>function $(ele) {<br />  if (typeof(ele) == 'string'){<br />    ele = document.getElementById(ele)<br />    if(!ele){<br />    return null;<br />    }<br />  }<br />  if(ele){<br />   Core.attachMethod(ele);<br /> }<br />  return ele;<br />}<br />function $T(tagName,ele){<br /> ele = $(ele);<br /> ele = ele || document;<br /> var ts = ele.getElementsByTagName(tagName);//此处返回的不是数组<br /> var arr = [];<br /> var len = ts.length;<br /> for(var i=0;i&lt;len;i++){<br />  arr.push($(ts[i]));<br /> }<br /> return arr;<br />}<br />function stopEvent(event){//阻止一切事件执行,包括浏览器默认的事件<br /> event = window.event||event;<br /> if(!event){<br />  return;<br /> }<br /> if(isGecko){<br />  event.preventDefault();<br />  event.stopPropagation();<br /> }<br /> event.cancelBubble = true<br /> event.returnValue = false;<br />}</p>
		<p>Array.prototype.remove = function(s){<br />  for(var i=0;i&lt;this.length;i++){<br />    if(s == this[i]){<br />     this.splice(i, 1);<br />    }<br />  }<br />}<br />if(window.HTMLElement){//给FF添加IE专有的属性和方法<br />    HTMLElement.prototype.__defineGetter__("parentElement",function(){<br />        if(this.parentNode==this.ownerDocument)return null;<br />        return this.parentNode;<br />        });<br /> HTMLElement.prototype.__defineSetter__("outerHTML",function(sHTML){<br />        var r=this.ownerDocument.createRange();<br />        r.setStartBefore(this);<br />        var df=r.createContextualFragment(sHTML);<br />        this.parentNode.replaceChild(df,this);<br />        return sHTML;<br />        });<br />    HTMLElement.prototype.__defineGetter__("outerHTML",function(){<br />        var attr;<br />        var attrs=this.attributes;<br />        var str="&lt;"+this.tagName;<br />        for(var i=0;i&lt;attrs.length;i++){<br />            attr=attrs[i];<br />            if(attr.specified)<br />                str+=" "+attr.name+'="'+attr.value+'"';<br />            }<br />        if(!this.canHaveChildren)<br />            return str+"&gt;";<br />        return str+"&gt;"+this.innerHTML+"&lt;/"+this.tagName+"&gt;";<br />        });<br />    HTMLElement.prototype.__defineSetter__("innerText",function(sText){<br />        var parsedText=document.createTextNode(sText);<br />        this.innerHTML=parsedText;<br />        return parsedText;<br />        });<br />    HTMLElement.prototype.__defineGetter__("innerText",function(){<br />        var r=this.ownerDocument.createRange();<br />        r.selectNodeContents(this);<br />        return r.toString();<br />        });<br />}</p>
		<p>var $E = {};<br />$E.getTopLevelWindow = function(){<br /> var pw = window;<br /> while(pw!=pw.parent){<br />  pw = pw.parent;<br /> }<br /> return pw;<br />}<br />$E.hide = function(ele) {<br /> ele = ele || this;<br /> ele = $(ele);<br />  ele.style.display = 'none';<br />}<br />$E.show = function(ele) {<br /> ele = ele || this;<br /> ele = $(ele);<br />  ele.style.display = '';<br />}<br />var Core = {};<br />Core.attachMethod = function(ele){<br /> if(!ele||ele["$A"]){<br />  return;<br /> }<br /> if(ele.nodeType==9){<br />  return;<br /> }<br /> var win;<br /> try{<br />  if(isGecko){  <br />   win = ele.ownerDocument.defaultView;<br />  }else{<br />   win = ele.ownerDocument.parentWindow;<br />  }<br />  for(var prop in $E){<br />   ele[prop] = win.$E[prop];<br />  }<br /> }catch(ex){<br />  //alert("Core.attachMethod:"+ele)//有些对象不能附加属性，如flash<br /> }<br />}</p>
		<p>function Dialog(strID){<br />  if(!strID){<br />   alert("错误的Dialog ID！");<br />   return;<br />  }<br />  this.ID = strID;<br />  this.isModal = true;<br />  this.Width = 400;<br />  this.Height = 300;<br />  this.Top = 0;<br />  this.Left = 0;<br />  this.ParentWindow = null;<br />  this.onLoad = null;<br />  this.Window = null;<br />  <br />  this.Title = "";<br />  this.URL = null;<br />  this.DialogArguments = {};<br />  this.WindowFlag = false;<br />  this.Message = null;<br />  this.MessageTitle = null;<br />  this.ShowMessageRow = false;<br />  this.ShowButtonRow = true;<br />  this.Icon = null;<br />  this.bgdivID=null;<br />}</p>
		<p>Dialog._Array = [];</p>
		<p>Dialog.prototype.showWindow = function(){<br /> if(isIE){<br />  this.ParentWindow.showModalessDialog( this.URL, this.DialogArguments, "dialogWidth:" + this.Width + ";dialogHeight:" + this.Height + ";help:no;scroll:no;status:no") ;<br /> }<br /> if(isGecko){<br />  var sOption  = "location=no,menubar=no,status=no;toolbar=no,dependent=yes,dialog=yes,minimizable=no,modal=yes,alwaysRaised=yes,resizable=no";<br />  this.Window = this.ParentWindow.open( '', this.URL, sOption, true ) ;<br />  var w = this.Window;<br />  if ( !w ){<br />   alert( "发现弹出窗口被阻止，请更改浏览器设置，以便正常使用本功能!" ) ;<br />   return ;<br />  }<br />  w.moveTo( this.Left, this.Top ) ;<br />  w.resizeTo( this.Width, this.Height+30 ) ;<br />  w.focus() ;<br />  w.location.href = this.URL ;<br />  w.Parent = this.ParentWindow;<br />  w.dialogArguments = this.DialogArguments;<br /> }<br />}</p>
		<p>Dialog.prototype.show = function(){<br /> var pw = $E.getTopLevelWindow();<br /> var doc = pw.document;<br /> var cw = doc.compatMode == "BackCompat"?doc.body.clientWidth:doc.documentElement.clientWidth;<br /> var ch = doc.compatMode == "BackCompat"?doc.body.clientHeight:doc.documentElement.clientHeight;//必须考虑文本框处于页面边缘处，控件显示不全的问题<br /> var sl = Math.max(doc.documentElement.scrollLeft, doc.body.scrollLeft);<br /> var st = Math.max(doc.documentElement.scrollTop, doc.body.scrollTop);//考虑滚动的情况<br /> var sw = Math.max(doc.documentElement.scrollWidth, doc.body.scrollWidth);<br /> var sh = Math.max(doc.documentElement.scrollHeight, doc.body.scrollHeight);//考虑滚动的情况<br /> sw=Math.max(sw,cw);<br /> sh=Math.max(sh,ch);<br />// alert("\n"+cw+"\n"+ch+"\n"+sw+"\n"+sh)</p>
		<p>if ( !this.ParentWindow ){<br />   this.ParentWindow = window ;<br /> } <br /> this.DialogArguments._DialogInstance = this;<br /> this.DialogArguments.ID = this.ID;<br /> <br /> if(!this.Height){<br />  this.Height = this.Width/2;<br /> }<br /> <br /> if(this.Top==0){<br />  this.Top = (ch - this.Height - 30) / 2 + st - 8;<br /> }<br /> if(this.Left==0){<br />  this.Left = (cw - this.Width - 12) / 2 +sl;<br /> }<br /> if(this.ShowButtonRow){//按钮行高36<br />  this.Top -= 18;<br /> }<br /> if(this.WindowFlag){<br />  this.showWindow();<br />  return;<br /> }<br /> var arr = [];<br /> arr.push("&lt;table style='-moz-user-select:none;' oncontextmenu='stopEvent(event);' onselectstart='stopEvent(event);' border='0' cellpadding='0' cellspacing='0' width='"+(this.Width+26)+"'&gt;");<br /> arr.push("  &lt;tr style='cursor:;'&gt;");<br /> arr.push("    &lt;td width='13' height='33' style=\"background-image:url("+CONTEXTPATH+"dialog_lt.png) !important;background-image: none;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+CONTEXTPATH+"dialog_lt.png', sizingMethod='crop');\"&gt;&lt;div style='width:13px;'&gt;&lt;/div&gt;&lt;/td&gt;");<br /> arr.push("    &lt;td height='33' style=\"background-image:url("+CONTEXTPATH+"dialog_ct.png) !important;background-image: none;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+CONTEXTPATH+"dialog_ct.png', sizingMethod='crop');\"&gt;&lt;div style=\"float:left;font-weight:bold; color:#FFFFFF; padding:9px 0 0 4px;\"&gt;&lt;img src=\""+CONTEXTPATH+"icon_dialog.gif\" align=\"absmiddle\"&gt;&amp;nbsp;"+this.Title+"&lt;/div&gt;");<br /> arr.push("      &lt;div style=\"position: relative;cursor:pointer; float:right; margin:5px 0 0; _margin:4px 0 0;height:17px; width:28px; background-image:url("+CONTEXTPATH+"dialog_closebtn.gif)\" onMouseOver=\"this.style.backgroundImage='url("+CONTEXTPATH+"dialog_closebtn_over.gif)'\" onMouseOut=\"this.style.backgroundImage='url("+CONTEXTPATH+"dialog_closebtn.gif)'\" drag='false' onClick=\"Dialog.getInstance('"+this.ID+"').CancelButton.onclick.apply(Dialog.getInstance('"+this.ID+"').CancelButton,[]);\"&gt;&lt;/div&gt;&lt;/td&gt;");<br /> arr.push("    &lt;td width='13' height='33' style=\"background-image:url("+CONTEXTPATH+"dialog_rt.png) !important;background-image: none;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+CONTEXTPATH+"dialog_rt.png', sizingMethod='crop');\"&gt;&lt;div style=\"width:13px;\"&gt;&lt;/div&gt;&lt;/td&gt;");<br /> arr.push("  &lt;/tr&gt;");<br /> arr.push("  &lt;tr drag='false'&gt;&lt;td width='13' style=\"background-image:url("+CONTEXTPATH+"dialog_mlm.png) !important;background-image: none;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+CONTEXTPATH+"dialog_mlm.png', sizingMethod='crop');\"&gt;&lt;/td&gt;");<br /> arr.push("    &lt;td align='center' valign='top'&gt;");<br /> arr.push("    &lt;table width='100%' border='0' cellpadding='0' cellspacing='0' bgcolor='#FFFFFF'&gt;");<br /> arr.push("        &lt;tr id='_MessageRow_"+this.ID+"' style='display:none'&gt;");<br /> arr.push("          &lt;td height='50' valign='top'&gt;&lt;table id='_MessageTable_"+this.ID+"' width='100%' border='0' cellspacing='0' cellpadding='8' style=\" background:#EAECE9 url("+CONTEXTPATH+"dialog_bg.jpg) no-repeat right top;\"&gt;");<br /> arr.push("              &lt;tr&gt;&lt;td width='25' height='50' align='right'&gt;&lt;img id='_MessageIcon_"+this.ID+"' src='"+CONTEXTPATH+"window.gif' width='32' height='32'&gt;&lt;/td&gt;");<br /> arr.push("                &lt;td align='left' style='line-height:16px;'&gt;");<br /> arr.push("                &lt;h5 class='fb' id='_MessageTitle_"+this.ID+"'&gt;&amp;nbsp;&lt;/h5&gt;");<br /> arr.push("                &lt;div id='_Message_"+this.ID+"'&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt;");<br /> arr.push("              &lt;/tr&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;");<br /> arr.push("        &lt;tr&gt;&lt;td align='center' valign='top'&gt;");<br /> arr.push("          &lt;iframe src='");<br /> if(this.URL.indexOf(":")==-1){<br />  arr.push(CONTEXTPATH+this.URL);<br /> }else{<br />  arr.push(this.URL);<br /> }<br /> arr.push("' id='_DialogFrame_"+this.ID+"' allowTransparency='true'  width='"+this.Width+"' height='"+this.Height+"' frameborder='0' style=\"background-color: #transparent; border:none;\"&gt;&lt;/iframe&gt;&lt;/td&gt;&lt;/tr&gt;");<br /> arr.push("        &lt;tr drag='false' id='_ButtonRow_"+this.ID+"'&gt;&lt;td height='36'&gt;");<br /> arr.push("            &lt;div id='_DialogButtons_"+this.ID+"' style='text-align:right; border-top:#dadee5 1px solid; padding:8px 20px; background-color:#f6f6f6;'&gt;");<br /> arr.push("            &lt;input id='_ButtonOK_"+this.ID+"'  type='button' value='确 定'&gt;");<br /> arr.push("            &lt;input id='_ButtonCancel_"+this.ID+"'  type='button' onclick=\"Dialog.getInstance('"+this.ID+"').close();\" value='取 消'&gt;");<br /> arr.push("            &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;");<br /> arr.push("      &lt;/table&gt;&lt;/td&gt;");<br /> arr.push("    &lt;td width='13' style=\"background-image:url("+CONTEXTPATH+"dialog_mrm.png) !important;background-image: none;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+CONTEXTPATH+"dialog_mrm.png', sizingMethod='crop');\"&gt;&lt;/td&gt;&lt;/tr&gt;");<br /> arr.push("  &lt;tr&gt;&lt;td width='13' height='13' style=\"background-image:url("+CONTEXTPATH+"dialog_lb.png) !important;background-image: none;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+CONTEXTPATH+"dialog_lb.png', sizingMethod='crop');\"&gt;&lt;/td&gt;");<br /> arr.push("    &lt;td style=\"background-image:url("+CONTEXTPATH+"dialog_cb.png) !important;background-image: none;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+CONTEXTPATH+"dialog_cb.png', sizingMethod='crop');\"&gt;&lt;/td&gt;");<br /> arr.push("    &lt;td width='13' height='13' style=\"background-image:url("+CONTEXTPATH+"dialog_rb.png) !important;background-image: none;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+CONTEXTPATH+"dialog_rb.png', sizingMethod='crop');\"&gt;&lt;/td&gt;");<br /> arr.push("  &lt;/tr&gt;&lt;/table&gt;");<br /> this.TopWindow = pw;<br /> <br /> var bgdiv = pw.$("_DialogBGDiv");<br /> if(!bgdiv){<br />  bgdiv = pw.document.createElement("div"); <br />  bgdiv.id = "_DialogBGDiv";<br />  $E.hide(bgdiv);<br />   pw.$T("body")[0].appendChild(bgdiv);<br /> }</p>
		<p> var div = pw.$("_DialogDiv_"+this.ID);<br /> if(!div){<br />  div = pw.document.createElement("div"); <br />  $E.hide(div);<br />  div.id = "_DialogDiv_"+this.ID;<br />  div.className = "dialogdiv";<br />  div.setAttribute("dragStart","Dialog.dragStart");    <br />   pw.$T("body")[0].appendChild(div);<br /> }<br /> /*div.onmousedown = function(evt){<br />  var w = $E.getTopLevelWindow();<br />  //w.DragManager.onMouseDown(evt||w.event,this);//拖拽处理<br /> }*/</p>
		<p> this.DialogDiv = div;<br /> div.innerHTML = arr.join('\n'); <br /> <br /> pw.$("_DialogFrame_"+this.ID).DialogInstance = this;<br /> <br /> this.OKButton = pw.$("_ButtonOK_"+this.ID);<br /> this.CancelButton = pw.$("_ButtonCancel_"+this.ID);</p>
		<p> //显示标题图片<br /> if(this.ShowMessageRow){<br />  $E.show(pw.$("_MessageRow_"+this.ID));<br />  if(this.MessageTitle){<br />   pw.$("_MessageTitle_"+this.ID).innerHTML = this.MessageTitle;<br />  }<br />  if(this.Message){<br />   pw.$("_Message_"+this.ID).innerHTML = this.Message;<br />  }<br /> }<br /> <br /> //显示按钮栏<br /> if(!this.ShowButtonRow){<br />  pw.$("_ButtonRow_"+this.ID).hide();<br /> }<br /> if(this.CancelEvent){<br />  this.CancelButton.onclick = this.CancelEvent;<br /> }<br /> if(this.OKEvent){<br />  this.OKButton.onclick = this.OKEvent;<br /> }<br /> if(!this.AlertFlag){<br />  $E.show(bgdiv);<br />  this.bgdivID = "_DialogBGDiv";<br /> }else{<br />  bgdiv = pw.$("_AlertBGDiv");<br />  if(!bgdiv){<br />   bgdiv = pw.document.createElement("div"); <br />   bgdiv.id = "_AlertBGDiv";<br />   $E.hide(bgdiv);<br />    pw.$T("body")[0].appendChild(bgdiv);<br />   bgdiv.style.cssText = "background-color:#333;position:absolute;left:0px;top:0px;opacity:0.4;filter:alpha(opacity=40);width:" + sw + "px;height:" + sh + "px;z-index:991";<br />  }<br />  $E.show(bgdiv);<br />  this.bgdivID = "_AlertBGDiv";<br /> }<br /> this.DialogDiv.style.cssText = "position:absolute; display:block;z-index:"+(this.AlertFlag?992:990)+";left:"+this.Left+"px;top:"+this.Top+"px";</p>
		<p> //判断当前窗口是否是对话框，如果是，则将其置在bgdiv之后<br /> if(!this.AlertFlag){<br />  var win = window;<br />  var flag = false;<br />  while(win!=win.parent){//需要考虑父窗口是弹出窗口中的一个iframe的情况<br />   if(win._DialogInstance){<br />    win._DialogInstance.DialogDiv.style.zIndex = 959;<br />    flag = true;<br />    break;<br />   }<br />   win = win.parent;<br />  }<br />  if(!flag){<br />   bgdiv.style.cssText = "background-color:#333;position:absolute;left:0px;top:0px;opacity:0.4;filter:alpha(opacity=40);width:" + sw + "px;height:" + sh + "px;z-index:960";<br />  }<br /> }<br /> this.OKButton.focus();<br /> //放入队列中，以便于ESC时正确关闭<br /> pw.Dialog._Array.push(this.ID);<br />}</p>
		<p>Dialog.prototype.addParam = function(paramName,paramValue){<br />  this.DialogArguments[paramName] = paramValue;<br />}</p>
		<p>Dialog.prototype.close = function(){<br /> if(this.WindowFlag){<br />  this.ParentWindow.$D = null;<br />  this.ParentWindow.$DW = null;<br />  this.Window.opener = null;<br />  this.Window.close();<br />  this.Window = null;<br /> }else{<br />  //如果上级窗口是对话框，则将其置于bgdiv前  <br />  var pw = $E.getTopLevelWindow();<br />  var win = window;<br />  var flag = false;<br />  while(win!=win.parent){<br />   if(win._DialogInstance){<br />    flag = true;<br />    win._DialogInstance.DialogDiv.style.zIndex = 960;<br />    break;<br />   }<br />   win = win.parent;<br />  }<br />  if(this.AlertFlag){<br />   $E.hide(pw.$("_AlertBGDiv"));<br />  }<br />  if(!flag&amp;&amp;!this.AlertFlag){//此处是为处理弹出窗口被关闭后iframe立即被重定向时背景层不消失的问题<br />   pw.eval('window._OpacityFunc = function(){var w = $E.getTopLevelWindow();$E.hide(w.$("_DialogBGDiv"));}');<br />   pw._OpacityFunc();<br />  }<br />  this.DialogDiv.outerHTML = "";<br />  pw.Dialog._Array.remove(this.ID);<br /> }<br />}</p>
		<p>Dialog.prototype.addButton = function(id,txt,func){<br /> var html = "&lt;input id='_Button_"+this.ID+"_"+id+"' type='button' value='"+txt+"'&gt; ";<br /> var pw = $E.getTopLevelWindow();<br /> pw.$("_DialogButtons_"+this.ID).$T("input")[0].getParent("a").insertAdjacentHTML("beforeBegin",html);<br /> pw.$("_Button_"+this.ID+"_"+id).onclick = func;<br />}</p>
		<p>Dialog.close = function(evt){<br /> window.Args._DialogInstance.close();<br />}</p>
		<p>Dialog.getInstance = function(id){<br /> var pw = $E.getTopLevelWindow()<br /> var f = pw.$("_DialogFrame_"+id);<br /> if(!f){<br />  return null;<br /> }<br /> return f.DialogInstance;<br />}</p>
		<p>Dialog.AlertNo = 0;<br />Dialog.alert = function(msg,func,w,h){<br /> var pw = $E.getTopLevelWindow()<br /> var diag = new Dialog("_DialogAlert"+Dialog.AlertNo++);<br /> diag.ParentWindow = pw;<br /> diag.Width = w?w:300;<br /> diag.Height = h?h:120;<br /> diag.Title = "系统提示";<br /> diag.URL = "javascript:void(0);";<br /> diag.AlertFlag = true;<br /> diag.CancelEvent = function(){<br />  diag.close();<br />  if(func){<br />   func();<br />  }<br /> };<br /> diag.show();<br /> pw.$("_AlertBGDiv").style.display="";<br /> $E.hide(pw.$("_ButtonOK_"+diag.ID));<br /> var win = pw.$("_DialogFrame_"+diag.ID).contentWindow;<br /> var doc = win.document;<br /> doc.open();<br /> doc.write("&lt;body oncontextmenu='return false;'&gt;&lt;/body&gt;") ;<br /> var arr = [];<br /> arr.push("&lt;table height='100%' border='0' align='center' cellpadding='10' cellspacing='0'&gt;");<br /> arr.push("&lt;tr&gt;&lt;td align='right'&gt;&lt;img id='Icon' src='"+CONTEXTPATH+"icon_alert.gif' width='34' height='34' align='absmiddle'&gt;&lt;/td&gt;");<br /> arr.push("&lt;td align='left' id='Message' style='font-size:9pt'&gt;"+msg+"&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;");<br /> var div = doc.createElement("div");<br /> div.innerHTML = arr.join('');<br /> doc.body.appendChild(div);<br /> doc.close();<br /> var h = Math.max(doc.documentElement.scrollHeight, doc.body.scrollHeight);<br /> var w = Math.max(doc.documentElement.scrollWidth, doc.body.scrollWidth);<br /> if(w&gt;300){<br />  win.frameElement.width = w;<br /> }<br /> if(h&gt;120){<br />  win.frameElement.height = h;<br /> }<br /> <br /> diag.CancelButton.value = "确 定";<br /> diag.CancelButton.focus();<br /> pw.$("_DialogButtons_"+diag.ID).style.textAlign = "center";<br />}</p>
		<p>Dialog.confirm = function(msg,func1,func2,w,h){<br /> var pw = $E.getTopLevelWindow()<br /> var diag = new Dialog("_DialogAlert"+Dialog.AlertNo++);<br /> diag.Width = w?w:300;<br /> diag.Height = h?h:120;<br /> diag.Title = "信息确认";<br /> diag.URL = "javascript:void(0);";<br /> diag.AlertFlag = true;<br /> diag.CancelEvent = function(){<br />  diag.close();<br />  if(func2){<br />   func2();<br />  }<br /> };<br /> diag.OKEvent = function(){<br />  diag.close();<br />  if(func1){<br />   func1();<br />  }<br /> };<br /> diag.show();<br /> pw.$("_AlertBGDiv").style.dispaly="";<br /> var win = pw.$("_DialogFrame_"+diag.ID).contentWindow;<br /> var doc = win.document;<br /> doc.open();<br /> doc.write("&lt;body oncontextmenu='return false;'&gt;&lt;/body&gt;") ;<br /> var arr = [];<br /> arr.push("&lt;table height='100%' border='0' align='center' cellpadding='10' cellspacing='0'&gt;");<br /> arr.push("&lt;tr&gt;&lt;td align='right'&gt;&lt;img id='Icon' src='"+CONTEXTPATH+"icon_query.gif' width='34' height='34' align='absmiddle'&gt;&lt;/td&gt;");<br /> arr.push("&lt;td align='left' id='Message' style='font-size:9pt'&gt;"+msg+"&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;");<br /> var div = doc.createElement("div");<br /> div.innerHTML = arr.join('');<br /> doc.body.appendChild(div);<br /> doc.close();<br /> diag.OKButton.focus();<br /> pw.$("_DialogButtons_"+diag.ID).style.textAlign = "center";<br />}</p>
		<p>var _DialogInstance = window.frameElement?window.frameElement.DialogInstance:null;<br />var Page={};<br />Page.onDialogLoad = function(){<br /> if(_DialogInstance){<br />  if(_DialogInstance.Title){<br />   document.title = _DialogInstance.Title;<br />  }<br />  window.Args = _DialogInstance.DialogArguments;<br />  _DialogInstance.Window = window;<br />  window.Parent = _DialogInstance.ParentWindow;<br /> }<br />}</p>
		<p>Page.onDialogLoad();</p>
		<p>PageOnLoad=function (){<br /> var d = _DialogInstance;<br /> if(d){<br />  try{<br />   d.ParentWindow.$D = d;<br />   d.ParentWindow.$DW = d.Window;<br />   var flag = false;<br />   if(!this.AlertFlag){<br />    var win = d.ParentWindow;<br />    while(win!=win.parent){<br />     if(win._DialogInstance){<br />      flag = true;<br />      break;<br />     }<br />     win = win.parent;<br />    }<br />    if(!flag){<br />     $E.getTopLevelWindow().$("_DialogBGDiv").style.opacity="0";<br />     $E.getTopLevelWindow().$("_DialogBGDiv").style.filter="alpha(opacity=0)";<br />    }<br />   }<br />   if(d.AlertFlag){<br />    $E.show($E.getTopLevelWindow().$("_AlertBGDiv"));<br />   }<br />   if(d.ShowButtonRow&amp;&amp;$E.visible(d.CancelButton)){<br />    d.CancelButton.focus();<br />   }<br />   if(d.onLoad){<br />    d.onLoad();<br />   }<br />  }catch(ex){alert("DialogOnLoad:"+ex.message+"\t("+ex.fileName+" "+ex.lineNumber+")");}<br /> }<br />}</p>
		<p>Dialog.onKeyUp = function(event){<br /> if(event.keyCode==9){<br />  var pw = $E.getTopLevelWindow();<br />  if(pw.Dialog._Array.length&gt;0){<br />   stopEvent(event);<br />  }<br /> }<br /> if(event.keyCode==27){<br />  var pw = $E.getTopLevelWindow();<br />  if(pw.Dialog._Array.length&gt;0){<br />   //Page.mousedown();<br />   //Page.click();<br />   var diag = pw.Dialog.getInstance(pw.Dialog._Array[pw.Dialog._Array.length-1]);<br />   diag.CancelButton.onclick.apply(diag.CancelButton,[]);<br />  }<br /> }<br />}</p>
		<p>Dialog.dragStart = function(evt){<br /> //DragManager.doDrag(evt,this.getParent("div"));//拖拽处理<br />}<br />Dialog.setPosition=function(){<br /> if(window.parent!=window)return;<br /> var pw = $E.getTopLevelWindow();<br /> var DialogArr=pw.Dialog._Array;<br /> if(DialogArr==null||DialogArr.length==0)return;<br /> <br /> for(i=0;i&lt;DialogArr.length;i++)<br /> {<br />  pw.$("_DialogFrame_"+DialogArr[i]).DialogInstance.setPosition();<br /> }<br />}<br />Dialog.prototype.setPosition=function(){<br /> var pw = $E.getTopLevelWindow();<br /> var doc = pw.document;<br /> var cw = doc.compatMode == "BackCompat"?doc.body.clientWidth:doc.documentElement.clientWidth;<br /> var ch = doc.compatMode == "BackCompat"?doc.body.clientHeight:doc.documentElement.clientHeight;//必须考虑文本框处于页面边缘处，控件显示不全的问题<br /> var sl = Math.max(doc.documentElement.scrollLeft, doc.body.scrollLeft);<br /> var st = Math.max(doc.documentElement.scrollTop, doc.body.scrollTop);//考虑滚动的情况<br /> var sw = Math.max(doc.documentElement.scrollWidth, doc.body.scrollWidth);<br /> var sh = Math.max(doc.documentElement.scrollHeight, doc.body.scrollHeight);<br /> sw=Math.max(sw,cw);<br /> sh=Math.max(sh,ch);<br /> this.Top = (ch - this.Height - 30) / 2 + st - 8;//有8像素的透明背景<br /> this.Left = (cw - this.Width - 12) / 2 +sl;<br /> if(this.ShowButtonRow){//按钮行高36<br />  this.Top -= 18;<br /> }<br /> this.DialogDiv.style.top=this.Top+"px";<br /> this.DialogDiv.style.left=this.Left+"px";<br /> pw.$(this.bgdivID).style.width= sw + "px";<br /> pw.$(this.bgdivID).style.height= sh + "px";<br />}</p>
		<p>//按ESC关闭对话框<br />if(isIE){<br /> document.attachEvent("onkeydown",Dialog.onKeyUp);<br /> window.attachEvent("onload",PageOnLoad);<br /> window.attachEvent('onresize',Dialog.setPosition);<br />}else{<br /> document.addEventListener("keydown",Dialog.onKeyUp,false);<br /> window.addEventListener("load",PageOnLoad,false);<br /> window.addEventListener('resize',Dialog.setPosition,false);<br />}<br /></p>
<img src ="http://www.blogjava.net/balajinima/aggbug/290083.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/balajinima/" target="_blank">李云泽</a> 2009-08-06 13:49 <a href="http://www.blogjava.net/balajinima/articles/290083.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>js弹出层</title><link>http://www.blogjava.net/balajinima/articles/290081.html</link><dc:creator>李云泽</dc:creator><author>李云泽</author><pubDate>Thu, 06 Aug 2009 05:47:00 GMT</pubDate><guid>http://www.blogjava.net/balajinima/articles/290081.html</guid><wfw:comment>http://www.blogjava.net/balajinima/comments/290081.html</wfw:comment><comments>http://www.blogjava.net/balajinima/articles/290081.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/balajinima/comments/commentRss/290081.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/balajinima/services/trackbacks/290081.html</trackback:ping><description><![CDATA[
		<div class="cnt" id="blog_text">
				<p>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "<a href="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd</a>"&gt;<br />&lt;html&gt;<br />&lt;head&gt;<br />&lt;meta http-equiv="Content-Type" content="text/html; charset=gb2312" /&gt;<br />&lt;title&gt;&lt;/title&gt;<br />&lt;style&gt;<br />body {background: #ffffff; color: #444;}<br />a{ color: #09d; text-decoration: none; border: 0; background-color: transparent;}<br />body,div,q,iframe,form,h5{ margin: 0; padding: 0;}<br />img,fieldset { border: none 0; }<br />body,td,textarea { word-break: break-all; word-wrap: break-word; line-height:1.5;}<br />body,input,textarea,select,button { margin: 0; font-size: 12px; font-family: Tahoma, SimSun, sans-serif;}<br />div,p,table,th,td { font-size:1em; font-family:inherit; line-height:inherit;}<br />h5{ font-size:12px;}<br />&lt;/style&gt;<br />&lt;script type="text/javascript" src="<a href="http://www.5-studio.com/wp-content/uploads/2009/06/Dialog.js&quot;&gt;&lt;/script">http://www.5-studio.com/wp-content/uploads/2009/06/Dialog.js"&gt;&lt;/script</a>&gt;<br />&lt;script type="text/javascript"&gt;<br />function $(ele) {<br />if (typeof(ele) == 'string'){<br />    ele = document.getElementById(ele)<br />    if(!ele){<br />   return null;<br />    }<br />}<br />if(ele){<br />Core.attachMethod(ele);<br />}<br />return ele;<br />}<br />var Core = {};<br />Core.attachMethod = function(ele){<br />if(!ele||ele["$A"]){<br />   return;<br />}<br />if(ele.nodeType==9){<br />   return;<br />}<br />var win;<br />try{<br />   if(isGecko){  <br />    win = ele.ownerDocument.defaultView;<br />   }else{<br />    win = ele.ownerDocument.parentWindow;<br />   }<br />   for(var prop in $E){<br />    ele[prop] = win.$E[prop];<br />   }<br />}catch(ex){<br />   //alert("Core.attachMethod:"+ele)//有些对象不能附加属性，如flash<br />}<br />}</p>
				<p>function zOpenD(){<br />var diag = new Dialog("Diag1");<br />diag.Width = 900;<br />diag.Height = 400;<br />diag.Title = "弹出窗口示例";<br />diag.URL = "<a href="http://demo.zving.com/">http://demo.zving.com/</a>";<br />diag.ShowMessageRow = true;<br />diag.MessageTitle = "弹出窗口示例";<br />diag.Message = "在这儿你可以对这个窗口的内容或功能作一些说明";<br />diag.OKEvent = zAlert;//点击确定后调用的方法<br />diag.show();<br />}<br />function zOpen(){<br />var diag = new Dialog("Diag2");<br />diag.Width = 900;<br />diag.Height = 400;<br />diag.Title = "弹出窗口示例";<br />diag.URL = "<a href="http://demo.zving.com/">http://demo.zving.com/</a>";<br />diag.OKEvent = zAlert;//点击确定后调用的方法<br />diag.show();<br />}<br />function zAlert(){<br />   Dialog.alert("滤爸要来了，河谐你，河谐我，河谐二十一世纪的新一代");<br />}<br />function zConfirm(){<br />Dialog.confirm('警告：您确认要XXOO吗？',function(){Dialog.alert("yeah，周末到了，正是好时候");});<br />}<br />function sometext(ele,n){<br />var strArr=["可","以","清","心","也"];<br />var writeStr=""<br />for(i=0;i&lt;n;i++){<br />   index=parseInt(Math.random()*5);<br />   for(j=0;j&lt;5;j++){<br />    str=index+j&gt;4?index+j-5:index+j;<br />    writeStr+=strArr[str];<br />   }<br />}<br />$(ele).innerHTML=writeStr;<br />}<br />&lt;/script&gt;<br />&lt;/head&gt;<br />&lt;body&gt;<br />&lt;div id="div1"&gt;&lt;/div&gt;<br />&lt;p&gt; &amp;nbsp; &amp;nbsp; &lt;input type="button" value="弹出新窗口" onclick="zOpen()" /&gt;&amp;nbsp;&lt;input type="button" value="弹出带说明的新窗口" onclick="zOpenD()" /&gt;&amp;nbsp;&lt;input type="button" value="弹出信息提示对话框" onclick="zAlert()" /&gt;&amp;nbsp;&lt;input type="button" value="弹出选择对话框" onclick="zConfirm()" /&gt;&lt;/p&gt;<br />&lt;div id="div2"&gt;&lt;/div&gt;<br />&lt;script&gt;sometext("div1",100);sometext("div2",300);&lt;/script&gt;<br />&lt;/body&gt;<br />&lt;/html&gt;</p>
		</div>
<img src ="http://www.blogjava.net/balajinima/aggbug/290081.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/balajinima/" target="_blank">李云泽</a> 2009-08-06 13:47 <a href="http://www.blogjava.net/balajinima/articles/290081.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>常用的JavaScript验证正则表达式</title><link>http://www.blogjava.net/balajinima/articles/258283.html</link><dc:creator>李云泽</dc:creator><author>李云泽</author><pubDate>Fri, 06 Mar 2009 10:00:00 GMT</pubDate><guid>http://www.blogjava.net/balajinima/articles/258283.html</guid><wfw:comment>http://www.blogjava.net/balajinima/comments/258283.html</wfw:comment><comments>http://www.blogjava.net/balajinima/articles/258283.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/balajinima/comments/commentRss/258283.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/balajinima/services/trackbacks/258283.html</trackback:ping><description><![CDATA[
		<div id="blog_text" class="cnt">
				<h2 class="post-title">常用的JavaScript验证正则表达式</h2>
				<div class="entry">
						<p>下面都是我收集的一些比较常用的正则表达式，因为平常可能在表单验证的时候，用到的比较多。特发出来，让各位朋友共同使用。呵呵。</p>
						<p>匹配中文字符的正则表达式： [u4e00-u9fa5]<br />
评注：匹配中文还真是个头疼的事，有了这个表达式就好办了</p>
						<p>匹配双字节字符(包括汉字在内)：[^x00-xff]<br />
评注：可以用来计算字符串的长度（一个双字节字符长度计2，ASCII字符计1）</p>
						<p>匹配空白行的正则表达式：ns*r<br />
评注：可以用来删除空白行</p>
						<p>匹配HTML标记的正则表达式：&lt; (S*?)[^&gt;]*&gt;.*?|&lt; .*? /&gt;<br />
评注：网上流传的版本太糟糕，上面这个也仅仅能匹配部分，对于复杂的嵌套标记依旧无能为力</p>
						<p>匹配首尾空白字符的正则表达式：^s*|s*$<br />
评注：可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等)，非常有用的表达式</p>
						<p>
						</p>
						<p>
								<code>
										<br />
										<font face="NSimsun">匹配Email地址的正则表达式：w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*<br />
评注：表单验证时很实用</font>
								</code>
						</p>
						<p>匹配网址URL的正则表达式：[a-zA-z]+://[^s]*<br />
评注：网上流传的版本功能很有限，上面这个基本可以满足需求</p>
						<p>匹配帐号是否合法(字母开头，允许5-16字节，允许字母数字下划线)：^[a-zA-Z][a-zA-Z0-9_]{4,15}$<br />
评注：表单验证时很实用</p>
						<p>匹配国内电话号码：d{3}-d{8}|d{4}-d{7}<br />
评注：匹配形式如 0511-4405222 或 021-87888822</p>
						<p>匹配腾讯QQ号：[1-9][0-9]{4,}<br />
评注：腾讯QQ号从10000开始</p>
						<p>匹配中国邮政编码：[1-9]d{5}(?!d)<br />
评注：中国邮政编码为6位数字</p>
						<p>匹配身份证：d{15}|d{18}<br />
评注：中国的身份证为15位或18位</p>
						<p>匹配ip地址：d+.d+.d+.d+<br />
评注：提取ip地址时有用</p>
						<p>匹配特定数字：<br />
^[1-9]d*$　 　 //匹配正整数<br />
^-[1-9]d*$ 　 //匹配负整数<br />
^-?[1-9]d*$　　 //匹配整数<br />
^[1-9]d*|0$　 //匹配非负整数（正整数 + 0）<br />
^-[1-9]d*|0$　　 //匹配非正整数（负整数 + 0）<br />
^[1-9]d*.d*|0.d*[1-9]d*$　　 //匹配正浮点数<br />
^-([1-9]d*.d*|0.d*[1-9]d*)$　 //匹配负浮点数<br />
^-?([1-9]d*.d*|0.d*[1-9]d*|0?.0+|0)$　 //匹配浮点数<br />
^[1-9]d*.d*|0.d*[1-9]d*|0?.0+|0$　　 //匹配非负浮点数（正浮点数 + 0）<br />
^(-([1-9]d*.d*|0.d*[1-9]d*))|0?.0+|0$　　//匹配非正浮点数（负浮点数 + 0）<br />
评注：处理大量数据时有用，具体应用时注意修正</p>
						<p>匹配特定字符串：<br />
^[A-Za-z]+$　　//匹配由26个英文字母组成的字符串<br />
^[A-Z]+$　　//匹配由26个英文字母的大写组成的字符串<br />
^[a-z]+$　　//匹配由26个英文字母的小写组成的字符串<br />
^[A-Za-z0-9]+$　　//匹配由数字和26个英文字母组成的字符串<br />
^w+$　　//匹配由数字、26个英文字母或者下划线组成的字符串</p>
						<p>在使用RegularExpressionValidator验证控件时的验证功能及其验证表达式介绍如下:</p>
						<p>只能输入数字：“^[0-9]*$”<br />
只能输入n位的数字：“^d{n}$”<br />
只能输入至少n位数字：“^d{n,}$”<br />
只能输入m-n位的数字：“^d{m,n}$”<br />
只能输入零和非零开头的数字：“^(0|[1-9][0-9]*)$”<br />
只能输入有两位小数的正实数：“^[0-9]+(.[0-9]{2})?$”<br />
只能输入有1-3位小数的正实数：“^[0-9]+(.[0-9]{1,3})?$”<br />
只能输入非零的正整数：“^+?[1-9][0-9]*$”<br />
只能输入非零的负整数：“^-[1-9][0-9]*$”<br />
只能输入长度为3的字符：“^.{3}$”<br />
只能输入由26个英文字母组成的字符串：“^[A-Za-z]+$”<br />
只能输入由26个大写英文字母组成的字符串：“^[A-Z]+$”<br />
只能输入由26个小写英文字母组成的字符串：“^[a-z]+$”<br />
只能输入由数字和26个英文字母组成的字符串：“^[A-Za-z0-9]+$”<br />
只能输入由数字、26个英文字母或者下划线组成的字符串：“^w+$”<br />
验证用户密码:“^[a-zA-Z]w{5,17}$”正确格式为：以字母开头，长度在6-18之间，</p>
						<p>只能包含字符、数字和下划线。<br />
验证是否含有^%&amp;’,;=?$”等字符：“[^%&amp;',;=?$x22]+”<br />
只能输入汉字：“^[u4e00-u9fa5],{0,}$”<br />
验证Email地址：“^w+[-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$”<br />
验证InternetURL：“^http://([w-]+.)+[w-]+(/[w-./?%&amp;=]*)?$”<br />
验证电话号码：“^((d{3,4})|d{3,4}-)?d{7,8}$”</p>
						<p>正确格式为：“XXXX-XXXXXXX”，“XXXX-XXXXXXXX”，“XXX-XXXXXXX”，</p>
						<p>“XXX-XXXXXXXX”，“XXXXXXX”，“XXXXXXXX”。<br />
验证身份证号（15位或18位数字）：“^d{15}|d{}18$”<br />
验证一年的12个月：“^(0?[1-9]|1[0-2])$”正确格式为：“01”-“09”和“1”“12”<br />
验证一个月的31天：“^((0?[1-9])|((1|2)[0-9])|30|31)$”</p>
						<p>正确格式为：“01”“09”和“1”“31”。</p>
						<p>匹配中文字符的正则表达式： [u4e00-u9fa5]<br />
匹配双字节字符(包括汉字在内)：[^x00-xff]<br />
匹配空行的正则表达式：n[s| ]*r<br />
匹配HTML标记的正则表达式：/&lt; (.*)&gt;.*|&lt; (.*) /&gt;/<br />
匹配首尾空格的正则表达式：(^s*)|(s*$)<br />
匹配Email地址的正则表达式：w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*<br />
匹配网址URL的正则表达式：http://([w-]+.)+[w-]+(/[w- ./?%&amp;=]*)?</p>
						<p>(1)应用：计算字符串的长度（一个双字节字符长度计2，ASCII字符计1）<br />
String.prototype.len=function(){return this.replace([^x00-xff]/g,”aa”).length;}</p>
						<p>(2)应用：javascript中没有像vbscript那样的trim函数，我们就可以利用这个表达式来实现<br />
String.prototype.trim = function()<br />
{<br />
return this.replace(/(^s*)|(s*$)/g, “”);<br />
}<br />
(3)应用：利用正则表达式分解和转换IP地址<br />
function IP2V(ip) //IP地址转换成对应数值<br />
{<br />
re=/(d+).(d+).(d+).(d+)/g //匹配IP地址的正则表达式<br />
if(re.test(ip))<br />
{<br />
return RegExp.$1*Math.pow(255,3))+RegExp.$2*Math.pow(255,2))+RegExp.$3*255+RegExp.$4*1<br />
}<br />
else<br />
{<br />
throw new Error(”Not a valid IP address!”)<br />
}<br />
}<br />
(4)应用：从URL地址中提取文件名的javascript程序<br />
s=”http://www.9499.net/page1.htm”;<br />
s=s.replace(/(.*/){0,}([^.]+).*/ig,”$2″) ; //Page1.htm<br />
(5)应用：利用正则表达式限制网页表单里的文本框输入内容<br />
用正则表达式限制只能输入中文：onkeyup=”value=”/blog/value.replace(/["^u4E00-u9FA5]/g,”)
”
onbeforepaste=”clipboardData.setData(’text’,clipboardData.getData(’text’).replace(/[^u4E00-u9FA5]/g,”))”<br />
用正则表达式限制只能输入全角字符：
onkeyup=”value=”/blog/value.replace(/["^uFF00-uFFFF]/g,”) ”
onbeforepaste=”clipboardData.setData(’text’,clipboardData.getData(’text’).replace(/[^uFF00-uFFFF]/g,”))”<br />
用正则表达式限制只能输入数字：onkeyup=”value=”/blog/value.replace(/["^d]/g,”)
“onbeforepaste=
“clipboardData.setData(’text’,clipboardData.getData(’text’).replace(/[^d]/g,”))”<br />
用正则表达式限制只能输入数字和英文：onkeyup=”value=”/blog/value.replace(/[W]/g,””)
“onbeforepaste=”clipboardData.setData(’text’,clipboardData.getData(’text’).replace(/[^d]/g,”</p>
				</div>
		</div>
<img src ="http://www.blogjava.net/balajinima/aggbug/258283.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/balajinima/" target="_blank">李云泽</a> 2009-03-06 18:00 <a href="http://www.blogjava.net/balajinima/articles/258283.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JS获取浏览器窗口大小 获取屏幕，浏览器，网页高度宽度</title><link>http://www.blogjava.net/balajinima/articles/258246.html</link><dc:creator>李云泽</dc:creator><author>李云泽</author><pubDate>Fri, 06 Mar 2009 08:37:00 GMT</pubDate><guid>http://www.blogjava.net/balajinima/articles/258246.html</guid><wfw:comment>http://www.blogjava.net/balajinima/comments/258246.html</wfw:comment><comments>http://www.blogjava.net/balajinima/articles/258246.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/balajinima/comments/commentRss/258246.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/balajinima/services/trackbacks/258246.html</trackback:ping><description><![CDATA[
		<h3>JS获取浏览器窗口大小 获取屏幕，浏览器，网页高度宽度</h3>
		<div class="date">
		</div>
		<p>
				<span>网页可见区域宽：document.body.clientWidth <br />
            网页可见区域高：document.body.clientHeight <br />
            网页可见区域宽：document.body.offsetWidth (包括边线的宽) <br />
            网页可见区域高：document.body.offsetHeight (包括边线的宽) <br />
            网页正文全文宽：document.body.scrollWidth <br />
            网页正文全文高：document.body.scrollHeight <br />
            网页被卷去的高：document.body.scrollTop <br />
            网页被卷去的左：document.body.scrollLeft <br />
            网页正文部分上：window.screenTop <br />
            网页正文部分左：window.screenLeft <br />
            屏幕分辨率的高：window.screen.height <br />
            屏幕分辨率的宽：window.screen.width <br />
            屏幕可用工作区高度：window.screen.availHeight <br />
            屏幕可用工作区宽度：window.screen.availWidth <br /><br /><br />
            HTML精确定位:scrollLeft,scrollWidth,clientWidth,offsetWidth <br />
            scrollHeight: 获取对象的滚动高度。 <br />
            scrollLeft:设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离 <br />
            scrollTop:设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离 <br />
            scrollWidth:获取对象的滚动宽度 <br />
            offsetHeight:获取对象相对于版面或由父坐标 offsetParent 属性指定的父坐标的高度 <br />
            offsetLeft:获取对象相对于版面或由 offsetParent 属性指定的父坐标的计算左侧位置 <br />
            offsetTop:获取对象相对于版面或由 offsetTop 属性指定的父坐标的计算顶端位置 <br />
            event.clientX 相对文档的水平座标 <br />
            event.clientY 相对文档的垂直座标 <br />
            event.offsetX 相对容器的水平坐标 <br />
            event.offsetY 相对容器的垂直坐标 <br />
            document.documentElement.scrollTop 垂直方向滚动的值 <br />
            event.clientX+document.documentElement.scrollTop 相对文档的水平座标+垂直方向滚动的量 <br /><br />
            IE，FireFox 差异如下： <br /><br />
            IE6.0、FF1.06+： <br /><br />
            clientWidth = width + padding <br /><br />
            clientHeight = height + padding <br /><br />
            offsetWidth = width + padding + border <br /><br />
            offsetHeight = height + padding + border <br /><br />
            IE5.0/5.5： <br />
            clientWidth = width - border <br /><br />
            clientHeight = height - border <br /><br />
            offsetWidth = width <br /><br />
            offsetHeight = height <br /><br />
            (需要提一下：CSS中的margin属性，与clientWidth、offsetWidth、clientHeight、offsetHeight均无关) </span>
		</p>
		<p>
				<span>
						<span style="font-size: 12px; line-height: 15px;">网页可见区域宽： document.body.clientWidth<br />
            网页可见区域高： document.body.clientHeight<br />
            网页可见区域宽： document.body.offsetWidth (包括边线的宽)<br />
            网页可见区域高： document.body.offsetHeight (包括边线的高)<br />
            网页正文全文宽： document.body.scrollWidth<br />
            网页正文全文高： document.body.scrollHeight<br />
            网页被卷去的高： document.body.scrollTop<br />
            网页被卷去的左： document.body.scrollLeft<br />
            网页正文部分上： window.screenTop<br />
            网页正文部分左： window.screenLeft<br />
            屏幕分辨率的高： window.screen.height<br />
            屏幕分辨率的宽： window.screen.width<br />
            屏幕可用工作区高度： window.screen.availHeight<br />
            屏幕可用工作区宽度： window.screen.availWidth </span>
				</span>
		</p>
		<p>
		</p>
		<p>－－－－－－－－－－－－－－－－－－－</p>
		<p>
				<strong>技术要点<br /></strong>本节代码主要使用了Document对象关于窗口的一些属性，这些属性的主要功能和用法如下。<br /><br />
要得到窗口的尺寸，对于不同的浏览器，需要使用不同的属性和方法：若要检测窗口的真实尺寸，在Netscape下需要使用Window的属性；在IE下需
要深入Document内部对body进行检测；在DOM环境下，若要得到窗口的尺寸，需要注意根元素的尺寸，而不是元素。<br /><br />
            Window对象的innerWidth属性包含当前窗口的内部宽度。Window对象的innerHeight属性包含当前窗口的内部高度。<br /><br />
            Document对象的body属性对应HTML文档的标签。Document对象的documentElement属性则表示HTML文档的根节点。<br /><br />
            document.body.clientHeight表示HTML文档所在窗口的当前高度。document.body. clientWidth表示HTML文档所在窗口的当前宽度。<br /><br /><strong>实现代码</strong></p>
		<table bordercolordark="#ffffff" bordercolorlight="#000000" align="center" border="1" cellpadding="2" cellspacing="0" width="400">
				<tbody>
						<tr>
								<td class="code" bgcolor="#e6e6e6">
										<pre>&lt;!------------------------------文件名：30.3.htm------------------------------&gt;<br />&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"<br />"<a href="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd</a>"&gt;<br />&lt;html xmlns="<a href="http://www.w3.org/1999/xhtml">http://www.w3.org/1999/xhtml</a>"&gt;<br />&lt;head&gt;<br />&lt;title&gt;请调整浏览器窗口&lt;/title&gt;<br />&lt;meta http-equiv="content-type" content="text/html; charset=gb2312"&gt;<br />&lt;/head&gt;<br />&lt;body&gt;<br />&lt;h2 align="center"&gt;请调整浏览器窗口大小&lt;/h2&gt;&lt;hr&gt;<br />&lt;form action="#" method="get" name="form1" id="form1"&gt;<br />&lt;!--显示浏览器窗口的实际尺寸--&gt;<br />浏览器窗口 的 实际高度: &lt;input type="text" name="availHeight" size="4"&gt;&lt;br&gt;<br />浏览器窗口 的 实际宽度: &lt;input type="text" name="availWidth" size="4"&gt;&lt;br&gt;<br />&lt;/form&gt;<br />&lt;script type="text/javascript"&gt;<br />&lt;!-- <br />var winWidth = 0;<br />     var winHeight = 0;<br />     function findDimensions() //函数：获取尺寸<br />     {<br />     //获取窗口宽度<br />     if (window.innerWidth)<br />     winWidth = window.innerWidth;<br />     else if ((document.body) &amp;&amp; (document.body.clientWidth))<br />     winWidth = document.body.clientWidth;<br />     //获取窗口高度<br />     if (window.innerHeight)<br />     winHeight = window.innerHeight;<br />     else if ((document.body) &amp;&amp; (document.body.clientHeight))<br />     winHeight = document.body.clientHeight;<br />     //通过深入Document内部对body进行检测，获取窗口大小<br />     if (document.documentElement  &amp;&amp; document.documentElement.clientHeight &amp;&amp; document.documentElement.clientWidth)<br />     {<br />     winHeight = document.documentElement.clientHeight;<br />     winWidth = document.documentElement.clientWidth;<br />     }<br />     //结果输出至两个文本框<br />     document.form1.availHeight.value= winHeight;<br />     document.form1.availWidth.value= winWidth;<br />     }<br />     findDimensions();<br />     //调用函数，获取数值<br />     window.onresize=findDimensions;</pre>
										<pre>//--&gt;<br />&lt;/script&gt;<br />&lt;/body&gt;<br />&lt;/html&gt;</pre>
								</td>
						</tr>
				</tbody>
		</table>
		<p>
				<strong>源程序解读</strong>
		</p>
		<p>（1）程序首先建立一个表单，包含两个文本框，用于显示窗口当前的宽度和高度，并且，其数值会随窗口大小的改变而变化。</p>
		<p>（2）在随后的JavaScript代码中，首先定义了两个变量winWidth和winHeight，用于保存窗口的高度值和宽度值。</p>
		<p>（3）然后，在函数findDimensions ( )中，使用window.innerHeight和window.innerWidth得到窗口的高度和宽度，并将二者保存在前述两个变量中。</p>
		<p>（4）再通过深入Document内部对body进行检测，获取窗口大小，并存储在前述两个变量中。</p>
		<p>（5）在函数的最后，通过按名称访问表单元素，结果输出至两个文本框。</p>
            （6）在JavaScript代码的最后，通过调用findDimensions ( )函数，完成整个操作。<br /><br /><img src="http://www.52004.com.cn/wp-content/uploads/2008/05/jswidth.jpg" /><br /><img src ="http://www.blogjava.net/balajinima/aggbug/258246.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/balajinima/" target="_blank">李云泽</a> 2009-03-06 16:37 <a href="http://www.blogjava.net/balajinima/articles/258246.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JS遮罩效果 （很强）</title><link>http://www.blogjava.net/balajinima/articles/258134.html</link><dc:creator>李云泽</dc:creator><author>李云泽</author><pubDate>Fri, 06 Mar 2009 02:30:00 GMT</pubDate><guid>http://www.blogjava.net/balajinima/articles/258134.html</guid><wfw:comment>http://www.blogjava.net/balajinima/comments/258134.html</wfw:comment><comments>http://www.blogjava.net/balajinima/articles/258134.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/balajinima/comments/commentRss/258134.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/balajinima/services/trackbacks/258134.html</trackback:ping><description><![CDATA[
		<p>//&lt;meta http-equiv="Content-Type" content="text/html; charset=gb2312"&gt;<br />/*<br />| -------------------------------------------------------------------<br />| Dialog 浮动提示框 发布版本3 【功能说明】<br />| -------------------------------------------------------------------<br />| 支持浏览器 FF, IE, OP<br />| 支持拖动，自定义标题，宽度，高度，内容。<br />| 自定义按钮是否显示，确定，取消，关闭。<br />| 支持打开新窗口，支持嵌入网页。<br />| IE,下对Select完整遮罩<br />|<br />| -------------------------------------------------------------------<br />| Dialog 浮动提示框 发布版本3 【使用方法】<br />| -------------------------------------------------------------------<br />| 在需要使用的页面中，最下面&lt;/body&gt;前加入脚本<br />| &lt;script type="text/javascript"&gt;new dialog().init();&lt;/script&gt;<br />| 目前暂时只能这么做，背景遮罩将失去效果<br />|<br />| 调用提示框的脚本是 new dialog().event();<br />|<br />*/</p>
		<p>//检测浏览器<br />var userAgent = navigator.userAgent.toLowerCase();<br />var is_opera = userAgent.indexOf('opera') != -1 &amp;&amp; opera.version();<br />var is_moz = (navigator.product == 'Gecko') &amp;&amp; userAgent.substr(userAgent.indexOf('firefox') + 8, 3);<br />var is_ie = (userAgent.indexOf('msie') != -1 &amp;&amp; !is_opera) &amp;&amp; userAgent.substr(userAgent.indexOf('msie') + 5, 3);</p>
		<p>function dialog(){<br />//设置提示框默认标题,宽度，高度，边框颜色<br />var title      = '系统提示信息';<br />var width      = 520;<br />var height     = 320;<br />var bodercolor = "#000";</p>
		<p>//设置提示框标题 背景颜色，字体颜色，字体形状<br />var titlebgcolor    = "#DAf998";<br />var titlefontcolor = "#666";<br />var titlefontweight = "bold";</p>
		<p>//设置提示框内容 背景颜色，字体颜色<br />var bodybgcolor   = "#fff"; <br />var bodyfontcolor = "#000";</p>
		<p>//默认阴影颜色,透明度(0-100),阴影宽度，高度<br />var ShadowColor   = "#000";<br />var ShadowOpacity = 60;<br />var ShadowWdith   = 6;<br />var ShadowHeight = 6;</p>
		<p>//背景遮罩层,最小透明度(0-100)、最大透明度(0-100)、增加减少数(0-100),运行速度(1000=1秒)<br />var ScreenOverSwitch       = 1;<br />var ScreenOverBgColor      = "#7799ff";<br />var ScreenOverOpacityMin   = 0;<br />var ScreenOverOpacityMax   = 40;<br />var ScreenOverOpacitySpeed = 5;<br />var ScreenOverOpacitySleep = 50;</p>
		<p>//图片浏览盒最小宽度、高度<br />var ImageViewBoxWidthMin = 500;<br />var ImageViewBoxHeightMin = 500;</p>
		<p>//页面默认滚动条状态<br />var bodyoverflow = "hidden";</p>
		<p>//展示图片状态<br />var zoomobj = Array()</p>
		<p>//默认按钮 设置（确认，取消）<br />var sFunc = '&lt;input id="dialogOk" type="button" style="background:#fff;width:60px;height:20px;border:#000 1px solid;line-height:20px;" value="确认" onclick="new dialog().reset();" /&gt; &lt;input id="dialogCancel" type="button" style="background:#fff;width:60px;height:20px;border:#000 1px solid;line-height:20px;" value="取消" onclick="new dialog().reset();" /&gt; ';</p>
		<p>//默认关闭按钮<br />var sClose = '&lt;input type="image" id="dialogBoxClose" onclick="new dialog().reset();" src="images/CloseOut.gif" border="0" width="17" height="17" onmouseover="this.src=\'CloseOver.gif\';" onmouseout="this.src=\'images/CloseOut.gif\';" align="absmiddle" /&gt;';</p>
		<p>//设置初始提示框内容<br />var sBody = '\<br />   &lt;table id="dialogBodyBox" border="0" align="center" cellpadding="0" cellspacing="0"&gt;\<br />    &lt;tr height="10"&gt;&lt;td colspan="4"&gt;&lt;/td&gt;&lt;/tr&gt;\<br />    &lt;tr&gt;\<br />     &lt;td width="10"&gt;&lt;/td&gt;\<br />     &lt;td id="dialogMsg" style="font-size:12px;color:'+bodyfontcolor+';"&gt;&lt;/td&gt;\<br />     &lt;td width="10"&gt;&lt;/td&gt;\<br />    &lt;/tr&gt;\<br />    &lt;tr height="10"&gt;&lt;td colspan="3" align="center"&gt;&lt;/td&gt;&lt;/tr&gt;\<br />    &lt;tr&gt;&lt;td id="dialogFunc" colspan="3" align="center"&gt;' + sFunc + '&lt;/td&gt;&lt;/tr&gt;\<br />    &lt;tr height="10"&gt;&lt;td colspan="3" align="center"&gt;&lt;/td&gt;&lt;/tr&gt;\<br />   &lt;/table&gt;\<br />';</p>
		<p>//设置初始提示框框架<br />var sBox = '\<br />   &lt;table id="dialogBox" width="' + width + '" border="0" cellpadding="0" cellspacing="0" style="border:1px solid '+bodercolor+';display:none;z-index:100;"&gt;\<br />    &lt;tr height="1" style="background:#fff;"&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;\<br />    &lt;tr height="25" style="background:'+titlebgcolor+';"&gt;\<br />     &lt;td&gt;\<br />      &lt;table onselectstart="return false;" style="-moz-user-select:none;" width="100%" border="0" cellpadding="0" cellspacing="0"&gt;\<br />       &lt;tr&gt;\<br />        &lt;td width="6"&gt;&lt;/td&gt;\<br />        &lt;td id="dialogBoxTitle" onmousedown="new dialog().moveStart(event, \'dialogBox\')" style="color:'+titlefontcolor+';cursor:move;font-size:12px;font-weight:'+titlefontweight+';"&gt;'+title+'&lt;/td&gt;\<br />        &lt;td id="dialogClose" width="27" align="right" valign="middle"&gt;\<br />         ' + sClose + '\<br />        &lt;/td&gt;\<br />        &lt;td width="6"&gt;&lt;/td&gt;\<br />       &lt;/tr&gt;\<br />      &lt;/table&gt;\<br />     &lt;/td&gt;\<br />    &lt;/tr&gt;\<br />    &lt;tr id="dialogHeight" style="height:' + height + '"&gt;\<br />     &lt;td id="dialogBody" style="background:'+bodybgcolor+';color:'+bodyfontcolor+';"&gt;' + sBody + '&lt;/td&gt;\<br />    &lt;/tr&gt;\<br />   &lt;/table&gt;\<br />   &lt;div id="dialogBoxHideImageViewBox" style="visibility:hidden;display:none!important;display:block;"&gt;&lt;img id="HideImage" /&gt;&lt;/div&gt;\<br />   &lt;div id="dialogBoxHideIFrame" style="display:block;z-index:98;"&gt;&lt;iframe id="HideIFrame" src="about:blank" scrolling="no" frameborder="0" style="width:100%;height:100%;"&gt;&lt;/iframe&gt;&lt;/div&gt;\<br />   &lt;div id="dialogBoxShadow" style="display:block;z-index:99;"&gt;&lt;iframe id="ShadowHideIFrame" src="about:blank" scrolling="no" frameborder="0" style="width:100%;height:100%;"&gt;&lt;/div&gt;\<br />';</p>
		<p>//自定义$函数，方便使用 document.getElementById()<br />//参数一(_sId)：对象ID名称<br />function $(_sId){return document.getElementById(_sId)}</p>
		<p>//显示提示框<br />//无参数<br />this.show = function(){<br />   //判断提示框是否存在，不存在则初始化<br />   $('dialogBodyBox') ? function(){} : this.init();<br />  <br />   if(ScreenOverSwitch){<br />    //显示背景遮罩<br />    this.showSO();<br />   }else{<br />    this.showSO(1,1);<br />   }<br />  <br />   //显示提示框<br />   this.middle('dialogBox');<br />  <br />   //显示提示框阴影<br />   this.shadow();<br />}</p>
		<p>//重置提示框内容，隐藏遮罩<br />//无参数<br />this.reset = function(){<br />   //关闭提示框<br />   $('dialogBox').style.display='none';<br />  <br />   //关闭阴影<br />   $('dialogBoxShadow').style.display = "none";<br />  <br />   //关闭IE屏蔽,用来屏蔽SELECT<br />   $('dialogBoxHideIFrame').style.display = "none";<br />  <br />   //初始化提示框内容<br />   $('dialogBody').innerHTML = sBody;<br />  <br />   if(ScreenOverSwitch){<br />    //隐藏背景遮罩<br />    this.hideSO();<br />   }else{<br />    this.hideSO(1,1);<br />   }<br />  <br />   //设置提示框按钮，1显示，0隐藏<br />   $('dialogOk').style.display = 'block';<br />   $('dialogCancel').style.display = 'block';<br />   $('dialogBoxClose').style.display = 'block';<br />}</p>
		<p>//设置提示框内容,刷新提示框<br />//参数一(_sHtml)：提示框内容可以是HTML<br />this.html = function(_sHtml){<br />   //设置提示框内容<br />   $("dialogBody").innerHTML = _sHtml;<br />  <br />   //显示提示框(重复使用，等于刷新)<br />   this.show();<br />}</p>
		<p>//初始化提示框<br />//无参数<br />this.init = function(){<br />   //检测是否存在提示框容器，存在则移除<br />   $('dialogCase') ? $('dialogCase').parentNode.removeChild($('dialogCase')) : function(){};<br />  <br />   //创建提示框容器<br />   var oDiv = document.createElement('span');<br />  <br />   //设置容器ID<br />   oDiv.id = "dialogCase";<br />  <br />   //放入提示框框架<br />   oDiv.innerHTML = sBox;<br />  <br />   //将容器+如页面<br />   document.body.appendChild(oDiv);<br />  <br />   //重置提示框内容<br />   this.reset();<br />}</p>
		<p>//显示提示框阴影<br />//无参数<br />this.shadow = function(){<br />   //获取阴影层属性<br />   var oShadow = $('dialogBoxShadow');<br />  <br />   //获取提示框属性<br />   var oDialog = $('dialogBox');<br />  <br />   //获取IE屏蔽层属性<br />   var oIFrame = $('dialogBoxHideIFrame');<br />  <br />   //设置阴影属性<br />   oShadow['style']['position'] = "absolute";<br />   oShadow['style']['background'] = ShadowColor;<br />   oShadow['style']['display'] = "";<br />   oShadow['style']['opacity'] = parseInt(ShadowOpacity)/100;<br />   oShadow['style']['filter'] = "alpha(opacity="+ShadowOpacity+")";<br />   oShadow['style']['top'] = oDialog.offsetTop + ShadowHeight + "px";<br />   oShadow['style']['left'] = oDialog.offsetLeft + ShadowWdith + "px";<br />   oShadow['style']['width'] = oDialog.offsetWidth + "px";<br />   oShadow['style']['height'] = oDialog.offsetHeight + "px";<br />  <br />   //设置IE屏蔽层属性<br />   oIFrame['style']['display'] = "";<br />   oIFrame['style']['position'] = "absolute";<br />   oIFrame['style']['top'] = oDialog.offsetTop + "px";<br />   oIFrame['style']['left'] = oDialog.offsetLeft + "px";<br />   oIFrame['style']['width'] = oDialog.offsetWidth + "px";<br />   oIFrame['style']['height'] = oDialog.offsetHeight + "px";<br />  <br />   //设置阴影层背景颜色<br />   var editor;<br />   editor = $("ShadowHideIFrame").contentWindow;<br />  <br />   // 针对IE浏览器, 可编辑<br />   editor.document.designMode = 'on';<br />   editor.document.contentEditable = true;<br />  <br />   // 兼容 FireFox, 打开并写入<br />   editor.document.open();<br />   editor.document.writeln('&lt;body style="background:'+ShadowColor+';margin:0px;"&gt;&lt;/body&gt;');<br />   editor.document.close();<br />}</p>
		<p>//嵌入打开网页<br />//参数一(_sUrl)： 嵌入网页地址<br />//参数二(_sMode)：滚动条模式（值: no, yes, auto）<br />//参数三()：      提示框标题<br />//参数四()：      提示框宽度<br />//参数五()：      提示框高度<br />this.open = function(_sUrl, _sMode){<br />   //获取隐藏参数内容，标题，宽度，高度，如果空，则使用默认<br />   var _sTitle=arguments[2]?arguments[2]:title;<br />   var _sWidth=arguments[3]?arguments[3]:width;<br />   var _sHeight=arguments[4]?arguments[4]:height;<br />  <br />   //设置提示框属性<br />   this.set('title',_sTitle);<br />   this.set('width',_sWidth);<br />   this.set('height',_sHeight);<br />  <br />   //显示提示框<br />   this.show();<br />  <br />   //嵌入网页<br />   $("dialogBody").innerHTML = "&lt;iframe id='dialogFrame' width='"+_sWidth+"' height='"+_sHeight+"' frameborder='0' scrolling='" + _sMode + "'&gt;&lt;/iframe&gt;";<br />  <br />   //设置网页地址<br />   $("dialogFrame").src = _sUrl;<br />}</p>
		<p>//打开新窗口(居中且只有标题栏，不含工具栏，菜单栏等)<br />//参数一(_sUrl)：   网页地址<br />//参数一(_iWidth)： 窗口宽度<br />//参数一(_iHeight)：窗口高度<br />//参数四(_sMode)： 滚动条模式（值: no, yes, auto）<br />this.showWindow = function(_sUrl, _iWidth, _iHeight, _sMode){<br />   var oWindow;<br />   //获取窗口居中位置<br />   var sLeft = (screen.width) ? (screen.width - _iWidth)/2 : 0;<br />   var sTop = (screen.height) ? (screen.height - _iHeight)/2 : 0;<br />  <br />   //打开新窗口<br />   oWindow = window.open(_sUrl, '', 'height=' + _iHeight + ', width=' + _iWidth + ', top=' + sTop + ', left=' + sLeft + ', toolbar=no, menubar=no, scrollbars=' + _sMode + ', resizable=no,location=no, status=no');<br />}</p>
		<p>//调用提示框<br />//参数一(_sMsg)：   提示信息<br />//参数二(_sOk)：    是否显示“确认”按钮(显示：1，不显示:0)<br />//参数三(_sCancel)：是否显示“取消”按钮(显示：1，不显示:0)<br />//参数四(_sClose)： 是否显示“关闭”按钮(显示：1，不显示:0)<br />//参数五()：        提示框标题<br />//参数六()：        提示框宽度<br />//参数七()：        提示框高度<br />this.event = function(_sMsg, _sOk, _sCancel, _sClose){<br />   //写入 确认，取消按钮<br />   $('dialogFunc').innerHTML = sFunc;<br />  <br />   //写入 关闭按钮<br />   $('dialogClose').innerHTML = sClose;<br />  <br />   //如果提示信息层不存在，则写入提示信息层<br />   $('dialogBodyBox') == null ? $('dialogBody').innerHTML = sBody : function(){};<br />  <br />   //写入提示信息<br />   $('dialogMsg') ? $('dialogMsg').innerHTML = _sMsg : function(){};<br />  <br />   //获取隐藏参数内容，标题，宽度，高度，如果空，则使用默认<br />   var _sTitle=arguments[4]?arguments[4]:title;<br />   var _sWidth=arguments[5]?arguments[5]:width;<br />   var _sHeight=arguments[6]?arguments[6]:height;<br />  <br />   //设置提示框<br />   this.set('title',_sTitle);<br />   this.set('width',_sWidth);<br />   this.set('height',_sHeight);<br />  <br />   //设置提示框按钮，1显示，0隐藏<br />   _sOk ? $('dialogOk').focus() : $('dialogOk').style.display = 'none';<br />   _sCancel ? function(){} : $('dialogCancel').style.display = 'none';<br />   _sClose ? function(){} : $('dialogBoxClose').style.display = 'none';<br />  <br />   //显示提示框<br />   this.show();<br />}</p>
		<p>//嵌入打开网页<br />//参数一(_sImage)： 图片ID<br />//参数二()：        图片名称<br />this.imageview = function(_sImage){<br />   $("HideImage").src = _sImage.src;<br />  <br />   //获取隐藏参数内容，标题，宽度，高度，如果空，则使用默认<br />   var _sTitle=arguments[1]?arguments[1]:"&amp;nbsp;";  <br />   var _sWidth=$("HideImage").width;<br />   var _sHeight=$("HideImage").height;<br />  <br />   if(_sHeight&gt;document.body.clientHeight){ <br />    _sHeight = document.body.clientHeight-30-ShadowHeight;<br />   }<br />  <br />   //设置提示框属性<br />   this.set('title',_sTitle);<br />   this.set('width',_sWidth);<br />   this.set('height',_sHeight);<br />  <br />   //显示提示框<br />   this.show();<br />  <br />   //嵌入图片<br />   $("dialogBody").innerHTML = '&lt;img id="ViewImage" src="'+_sImage.src+'" height="'+_sHeight+'" /&gt;';<br />   this.set('width',$("ViewImage").width);<br />  <br />   //获取图片浏览最大值<br />   zoomobj['zimginfo'] = [parseInt($("ViewImage").width), parseInt($("ViewImage").height)]<br />  <br />   //检测浏览器，赋予滚轮事件<br />   if(is_ie){<br />    $('ViewImage').onmousewheel = this.imgzoom;<br />   } else {<br />    $('ViewImage').addEventListener("DOMMouseScroll", this.imgzoom, false);<br />   }<br />}</p>
		<p>//图片预览大小缩放<br />this.imgzoom = function(event){<br />   //获取窗口事件<br />   oEvent = window.event ? window.event : event;<br />  <br />   //检测滚轮<br />   if(oEvent.wheelDelta &lt;= 0 || oEvent.detail &gt; 0) {<br />    if(parseInt($('ViewImage').height) &lt;= parseInt(ImageViewBoxHeightMin)) {<br />     $('ViewImage').height = parseInt(ImageViewBoxHeightMin);<br />    }else{<br />     $('ViewImage').height -= parseInt(zoomobj['zimginfo'][1] / 5);<br />    }<br />   } else {<br />    if(parseInt($('ViewImage').height) &gt;= parseInt(zoomobj['zimginfo'][1])) {<br />     $('ViewImage').height = parseInt(zoomobj['zimginfo'][1]);<br />    }else{<br />     $('ViewImage').height += parseInt(zoomobj['zimginfo'][1] / 5);<br />    }<br />   }<br />  <br />   //获取阴影层，提示框，提示框高度，IE遮罩层<br />   var oShadow = $('dialogBoxShadow');<br />   var oDialog = $('dialogBox');<br />   var oHeight = $('dialogHeight');<br />   var oHFrame = $('dialogBoxHideIFrame');<br />  <br />   //重置提示框属性<br />   oDialog['style']['width'] = parseInt($('ViewImage').width)+'px';<br />   oHeight['style']['height'] = parseInt($('ViewImage').height)+'px';<br />  <br />   //重置提示框位置<br />   oDialog['style']['position'] = "absolute";<br />   oDialog['style']['left'] = (document.body.clientWidth / 2) - (oDialog.offsetWidth / 2) + "px";<br />   oDialog['style']['top'] = (document.body.clientHeight / 2 + document.body.scrollTop) - (oDialog.offsetHeight / 2) + "px";<br />  <br />   //重置阴影位置<br />   oShadow['style']['opacity'] = parseInt(ShadowOpacity)/100;<br />   oShadow['style']['filter'] = "alpha(opacity="+ShadowOpacity+")";<br />   oShadow['style']['top']     = parseInt(oDialog.offsetTop) + ShadowHeight + "px";<br />   oShadow['style']['left']    = parseInt(oDialog.offsetLeft) + ShadowWdith + "px";<br />   oShadow['style']['width']   = parseInt(oDialog.offsetWidth) + "px";<br />   oShadow['style']['height'] = parseInt(oDialog.offsetHeight) + "px";<br />  <br />   //重置IE屏蔽层位置<br />   oHFrame['style']['left']    = parseInt(oDialog.offsetLeft) + "px";<br />   oHFrame['style']['top']     = parseInt(oDialog.offsetTop) + "px";<br />   oHFrame['style']['width']   = parseInt(oDialog.offsetWidth) + "px";<br />   oHFrame['style']['height'] = parseInt(oDialog.offsetHeight) + "px";<br />  <br />}</p>
		<p>//提示框设置<br />//参数一(_oAttr)：   设置项名称<br />//参数二(_sVal)：    设置内容<br />this.set = function(_oAttr, _sVal){<br />  <br />   //获取阴影层，提示框，提示框高度，IE遮罩层<br />   var oShadow = $('dialogBoxShadow');<br />   var oDialog = $('dialogBox');<br />   var oHeight = $('dialogHeight');<br />   var oHFrame = $('dialogBoxHideIFrame')</p>
		<p>   //设置内容不为空<br />   if(_sVal != ''){<br />    //判断项名称<br />    switch(_oAttr){<br />     //设置标题<br />     case 'title':<br />      $('dialogBoxTitle').innerHTML = _sVal;<br />      title = _sVal;<br />      break;<br />     <br />     //设置提示框宽<br />     case 'width':<br />      oDialog['style']['width'] = _sVal+'px';<br />      width = _sVal;<br />      break;<br />     <br />     //设置提示框高<br />     case 'height':<br />      oHeight['style']['height'] = _sVal+'px';<br />      height = _sVal;<br />      break;<br />    <br />     //设置遮罩层状态<br />     case 'ScreenOverSwitch':<br />      ScreenOverSwitch = _sVal;<br />      break;<br />     <br />     //设置提示框遮罩层颜色<br />     case 'ScreenOverBgColor':<br />      ScreenOverBgColor = _sVal;<br />      break;<br />     <br />     //设置阴影颜色<br />     case 'shadowcolor':<br />      oShadow['style']['background'] = _sVal;<br />      //设置阴影层背景颜色<br />      var editor;<br />      editor = $("ShadowHideIFrame").contentWindow;</p>
		<p>      // 针对IE浏览器, 可编辑<br />      editor.document.designMode = 'on';<br />      editor.document.contentEditable = true;</p>
		<p>      // 兼容 FireFox, 打开并写入<br />      editor.document.open();<br />      editor.document.writeln('&lt;body style="background:'+_sVal+';margin:0px;"&gt;&lt;/body&gt;');<br />      editor.document.close();<br />      ShadowColor = _sVal;<br />      break;<br />    <br />     //设置阴影透明度<br />     case 'shadowopacity':<br />      ShadowOpacity = _sVal;<br />      break;<br />    <br />     //设置阴影宽度<br />     case 'shadowwdith':<br />      ShadowWdith = _sVal;<br />      break;<br />    <br />     //设置阴影高度<br />     case 'shadowheight':<br />      ShadowHeight = _sVal;<br />      break;<br />    }<br />   }<br />  <br />   //刷新提示框<br />   this.middle('dialogBox');<br />  <br />   //重置阴影位置<br />   oShadow['style']['opacity'] = parseInt(ShadowOpacity)/100;<br />   oShadow['style']['filter'] = "alpha(opacity="+ShadowOpacity+")";<br />   oShadow['style']['top']     = oDialog.offsetTop + ShadowHeight + "px";<br />   oShadow['style']['left']    = oDialog.offsetLeft + ShadowWdith + "px";<br />   oShadow['style']['width']   = oDialog.offsetWidth + "px";<br />   oShadow['style']['height'] = oDialog.offsetHeight + "px";<br />  <br />   //重置IE屏蔽层位置<br />   oHFrame['style']['left']    = oDialog.offsetLeft + "px";<br />   oHFrame['style']['top']     = oDialog.offsetTop + "px";<br />   oHFrame['style']['width']   = oDialog.offsetWidth + "px";<br />   oHFrame['style']['height'] = oDialog.offsetHeight + "px";<br />}</p>
		<p>//拖动提示框<br />//参数一(event)：   点击事件，使用的时候赋值event就可以<br />//参数二(_sId)：    拖动对象ID<br />this.moveStart = function (event, _sId){<br />   //获取拖动对象<br />   var oObj = $(_sId);<br />  <br />   //赋予对象拖动操作<br />   oObj.onmousemove = mousemove;<br />   oObj.onmouseup = mouseup;<br />  <br />   //捕获鼠标移动<br />   oObj.setCapture ? oObj.setCapture() : function(){};<br />  <br />   //获取窗口事件<br />   var oEvent = window.event ? window.event : event;<br />  <br />   //保留鼠标位置<br />   var dragData = {x : oEvent.clientX, y : oEvent.clientY};<br />  <br />   //保留对象位置<br />   var backData = {x : parseInt(oObj.style.top), y : parseInt(oObj.style.left)};<br />  <br />   //鼠标移动<br />   function mousemove(event){<br />    //获取窗口事件<br />    oEvent = window.event ? window.event : event;<br />   <br />    //计算提示框位置<br />    var iLeft = oEvent.clientX - dragData["x"] + parseInt(oObj.style.left);<br />    var iTop = oEvent.clientY - dragData["y"] + parseInt(oObj.style.top);<br />   <br />    //设置提示框位置<br />    oObj.style.left = iLeft + "px";<br />    oObj.style.top = iTop + "px";<br />   <br />    //设置IE屏蔽层位置<br />    $('dialogBoxHideIFrame').style.left = iLeft + "px";<br />    $('dialogBoxHideIFrame').style.top = iTop + "px";<br />   <br />    //设置阴影位置<br />    $('dialogBoxShadow').style.left = iLeft + ShadowWdith + "px";<br />    $('dialogBoxShadow').style.top = iTop + ShadowHeight + "px";<br />   <br />    //刷新保留鼠标位置<br />    dragData = {x: oEvent.clientX, y: oEvent.clientY};<br />   }<br />  <br />   //鼠标键抬起<br />   function mouseup(event){<br />    //获取窗口事件<br />    oEvent = window.event ? window.event : event;<br />   <br />    //清除对象拖动操作<br />    oObj.onmousemove = null;<br />    oObj.onmouseup = null;<br />   <br />    //如果鼠标是否超出浏览器范围<br />    if(oEvent.clientX &lt; 1 || oEvent.clientY &lt; 1 || oEvent.clientX &gt; document.body.clientWidth || oEvent.clientY &gt; document.body.clientHeight){<br />     //还原提示框位置<br />     oObj.style.left = backData.y + "px";<br />     oObj.style.top = backData.x + "px";<br />    <br />     //还原IE屏蔽层位置<br />     $('dialogBoxHideIFrame').style.left = backData.y + "px";<br />     $('dialogBoxHideIFrame').style.top = backData.x + "px";<br />    <br />     //还原阴影位置<br />     $('dialogBoxShadow').style.left = backData.y + ShadowWdith + "px";<br />     $('dialogBoxShadow').style.top = backData.x + ShadowHeight + "px";<br />    }<br />   <br />    //关闭捕获鼠标移动 <br />    oObj.releaseCapture ? oObj.releaseCapture() : function(){};<br />   }<br />}</p>
		<p>//显示背景遮罩层<br />//参数一()：    设置最小透明度，空则使用默认(0-100)<br />//参数二()：    设置最大透明度，空则使用默认(0-100)<br />//参数三()：    设置逐步增加数值(0-100)<br />//参数四()：    设置运行速度(1000=1秒)<br />this.showSO = function(){<br />   //获取背景遮罩层属性<br />   var objScreen = $("ScreenOver");<br />  <br />   //如果背景遮罩层不存在则创建<br />   if(!objScreen) var objScreen = document.createElement("div");<br />  <br />   //设置背景遮罩层ID<br />   objScreen.id = "ScreenOver";<br />  <br />   //获取背景遮罩层样式<br />   var oS = objScreen.style;<br />  <br />   //隐藏页面滚动条<br />   document.body.style.overflow="hidden";<br />  <br />   //获取屏幕宽度，高度<br />   if (document.body.clientHeight) {<br />    var ww = document.body.clientWidth + "px";<br />    var wh = document.body.clientHeight + "px";<br />   }else if (window.innerHeight){<br />    var ww = window.innerWidth + "px";<br />    var wh = window.innerHeight + "px";<br />   }else{<br />    var ww = "100%";<br />    var wh = "100%";<br />   }<br />  <br />   //设置背景遮罩曾<br />   oS.display = "block";<br />   oS.top = oS.left = oS.margin = oS.padding = "0px";<br />   oS.width = ww;<br />   oS.height = wh;<br />   oS.position = "absolute";<br />   oS.zIndex = "98";<br />   oS.top=document.body.scrollTop + "px";<br />   oS.background = ScreenOverBgColor;<br />   oS.filter = "alpha(opacity=0)";<br />   oS.opacity = 0;<br />   oS.MozOpacity = 0;<br />  <br />   //加入页面<br />   document.body.appendChild(objScreen);<br />  <br />   //获取所有select控件<br />   var allselect = document.getElementsByTagName("select");<br />   var i=0;<br />  <br />   //设置所有select控件无效，变暗<br />   for (i=0; i&lt;allselect.length; i++){<br />    allselect[i].disabled = true;<br />    allselect[i].style.background="#aaa";<br />   }<br />  <br />   //获取隐藏参数，最小透明度(0-100)、最大透明度(0-100)、增加减少数(0-100),运行速度(1000=1秒)<br />   var opacity_min = arguments[0]?arguments[0]:ScreenOverOpacityMin;<br />   var opacity_max = arguments[1]?arguments[1]:ScreenOverOpacityMax;<br />   var opacity_speed = arguments[2]?arguments[2]:ScreenOverOpacitySpeed;<br />   var opacity_sleep = arguments[3]?arguments[3]:ScreenOverOpacitySleep;<br />   var opacity = parseInt(opacity_min);<br />  <br />   //显示背景遮罩层<br />   function showscreenover(){<br />    //设置背景遮罩层透明度<br />    $('ScreenOver').style.filter="alpha(opacity="+opacity+")";<br />    $('ScreenOver').style.opacity=opacity/100;<br />    $('ScreenOver').style.MozOpacity=opacity/100;<br />   <br />    //如果没有到最大透明度<br />    if(opacity&lt;parseInt(opacity_max)){<br />     //减低透明，间隔后再运行<br />     opacity=opacity+parseInt(opacity_speed);<br />     setTimeout(showscreenover,parseInt(opacity_sleep));<br />    }<br />   }<br />   showscreenover();<br />}</p>
		<p>//隐藏背景遮罩层<br />//参数一()：    设置最小透明度，空则使用默认(0-100)<br />//参数二()：    设置最大透明度，空则使用默认(0-100)<br />//参数三()：    设置逐步增加数值(0-100)<br />//参数四()：    设置运行速度(1000=1秒)<br />this.hideSO = function(){<br />   //获取隐藏参数，最小透明度(0-100)、最大透明度(0-100)、增加减少数(0-100),运行速度(1000=1秒)<br />   var opacity_min = arguments[0]?arguments[0]:ScreenOverOpacityMin;<br />   var opacity_max = arguments[1]?arguments[1]:ScreenOverOpacityMax;<br />   var opacity_speed = arguments[2]?arguments[2]:ScreenOverOpacitySpeed;<br />   var opacity_sleep = arguments[3]?arguments[3]:ScreenOverOpacitySleep;<br />   var opacity = parseInt(opacity_max);<br />  <br />   //获取背景遮罩层属性<br />   var objScreen=$("ScreenOver");<br />  <br />   //如果背景遮罩层不存在则建立<br />   if(!objScreen) var objScreen = document.createElement("div");<br />  <br />   //设置背景遮罩层ID <br />   objScreen.id = "ScreenOver";<br />  <br />   //加入页面<br />   document.body.appendChild(objScreen);<br />  <br />   //隐藏背景遮罩层<br />   function hiddenscreenover(){<br />    //设置背景遮罩层透明度<br />    $('ScreenOver').style.filter="alpha(opacity="+opacity+")";<br />    $('ScreenOver').style.opacity=opacity/100;<br />    $('ScreenOver').style.MozOpacity=opacity/100;<br />   <br />    //如果未达到最小透明度<br />    if(opacity&gt;parseInt(opacity_min)){<br />     //加大透明，间隔后再运行<br />     opacity=opacity-parseInt(opacity_speed);<br />     setTimeout(hiddenscreenover,parseInt(opacity_sleep));<br />    }else{<br />     //如果达到最小透明度<br />     //移除背景遮罩层<br />     document.body.removeChild(objScreen);<br />    <br />     //恢复页面滚动条状态<br />     document.body.style.overflow=bodyoverflow;<br />    <br />     //获取所有select控件<br />     var allselect = document.getElementsByTagName("select");<br />     for (var i=0; i&lt;allselect.length; i++){<br />      //设置所有select控件有效,还原颜色<br />      allselect[i].disabled = false;<br />      allselect[i].style.background="#fff";<br />     }<br />    }<br />   }<br />   hiddenscreenover();<br />}</p>
		<p>//设置提示框属性<br />this.middle = function(_sId){<br />   //设置提示框属性，并调整位置，居中<br />   $(_sId)['style']['display'] = '';<br />   $(_sId)['style']['position'] = "absolute";<br />   $(_sId)['style']['left'] = (document.body.clientWidth / 2) - ($(_sId).offsetWidth / 2) + "px";<br />   $(_sId)['style']['top'] = (document.body.clientHeight / 2 + document.body.scrollTop) - ($(_sId).offsetHeight / 2) + "px";<br />}<br />}<br /></p>
<img src ="http://www.blogjava.net/balajinima/aggbug/258134.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/balajinima/" target="_blank">李云泽</a> 2009-03-06 10:30 <a href="http://www.blogjava.net/balajinima/articles/258134.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>showModalDialog取得父窗口的方法</title><link>http://www.blogjava.net/balajinima/articles/255133.html</link><dc:creator>李云泽</dc:creator><author>李云泽</author><pubDate>Tue, 17 Feb 2009 08:33:00 GMT</pubDate><guid>http://www.blogjava.net/balajinima/articles/255133.html</guid><wfw:comment>http://www.blogjava.net/balajinima/comments/255133.html</wfw:comment><comments>http://www.blogjava.net/balajinima/articles/255133.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/balajinima/comments/commentRss/255133.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/balajinima/services/trackbacks/255133.html</trackback:ping><description><![CDATA[
		<p>通常使用window.open的方式开启新窗口的话<br />要取得父窗口的控件，可以用window.opener来取得父窗口</p>
		<p>然而如果使用showModalDialog的话...却无效<br />如果有需要的话，需要修改开启的语法以及showModalDialog中的语法</p>
		<p>开启语法第2个参数请下self,范例如下</p>
		<p>var rc=window.showModalDialog(strURL,self,sFeatures);</p>
		<p>然后接着就是呼叫父窗口的语法</p>
		<p>var pWindow=window.dialogArguments;</p>
		<p>这样就可以取得父窗口的window对象控制了。例如：</p>
		<p>window.dialogArguments.document.getElementsByName("processId")[0].value;</p>
<img src ="http://www.blogjava.net/balajinima/aggbug/255133.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/balajinima/" target="_blank">李云泽</a> 2009-02-17 16:33 <a href="http://www.blogjava.net/balajinima/articles/255133.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>js遍历对象属性和值</title><link>http://www.blogjava.net/balajinima/articles/255023.html</link><dc:creator>李云泽</dc:creator><author>李云泽</author><pubDate>Tue, 17 Feb 2009 01:25:00 GMT</pubDate><guid>http://www.blogjava.net/balajinima/articles/255023.html</guid><wfw:comment>http://www.blogjava.net/balajinima/comments/255023.html</wfw:comment><comments>http://www.blogjava.net/balajinima/articles/255023.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/balajinima/comments/commentRss/255023.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/balajinima/services/trackbacks/255023.html</trackback:ping><description><![CDATA[for(var prop in ob){   <br />          alert(prop+" : "+ob[prop]);   <br />        } <img src ="http://www.blogjava.net/balajinima/aggbug/255023.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/balajinima/" target="_blank">李云泽</a> 2009-02-17 09:25 <a href="http://www.blogjava.net/balajinima/articles/255023.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>遮罩层形式的弹出窗口页面</title><link>http://www.blogjava.net/balajinima/articles/247474.html</link><dc:creator>李云泽</dc:creator><author>李云泽</author><pubDate>Sat, 20 Dec 2008 06:19:00 GMT</pubDate><guid>http://www.blogjava.net/balajinima/articles/247474.html</guid><wfw:comment>http://www.blogjava.net/balajinima/comments/247474.html</wfw:comment><comments>http://www.blogjava.net/balajinima/articles/247474.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/balajinima/comments/commentRss/247474.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/balajinima/services/trackbacks/247474.html</trackback:ping><description><![CDATA[
		<p>
				<br />//显示层样例代码<br />   function callshowmaskExample(popsrcstr){<br />      //弹出层 赋src<br />  var popdivframe=document.getElementById('pop_div_tabs_frame');<br />     if(popdivframe){<br />       popdivframe.src="&lt;%=request.getContextPath()%&gt;/jsp/homepage/newOASMS.jsp";<br />       var fade_height= window.document.body.clientHeight;//遮照高度<br />       var div_height=250;//当前pop 高度,宽度<br />       var div_width=390;<br />      // var subframe=document.frames('south2_frame');//隐藏下方select<br />       showmask(fade_height,div_width,div_height,null,220,460);</p>
		<p>     }//if<br /> }<br /> //callshowmaskExample("&lt;%=request.getContextPath()%&gt;/jsp/homepage/newOASMS.jsp");<br /><br /><br /><br /><br />-------------------------------------------------<br />//&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;弹出层 begin&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;<br />var subframe;<br />/*显示层<br /> <a href="mailto:*@paraHeight">*@paraHeight</a>:遮照的高度,默认为首页屏幕高度<br /> <a href="mailto:*@div_width">*@div_width</a>:显示的div宽度,默认宽:350<br /> <a href="mailto:*@div_height">*@div_height</a>:显示的div高度,默认200<br /> <a href="mailto:*@subframeobj">*@subframeobj</a>:子页面iframe对象<br /> <a href="mailto:*@div_top">*@div_top</a>:显示的div的上方高度.2008-10-24加入<br /> <a href="mailto:*@div_left">*@div_left</a>:显示的div的左边宽度.2008-10-24加入<br /> */<br />function showmask(paraHeight,div_width,div_height,subframeobj,div_top,div_left){<br />    var t_light=document.getElementById('light');//显示层<br />    var closeButton=document.getElementById('closeButton');//关闭按钮<br /> var t_fade=document.getElementById('fade');//遮挡背景<br /> //var sels = document.getElementsByTagName("select");//当前页面下拉框<br /> if (paraHeight&gt;t_fade.style.height)  t_fade.style.height=paraHeight;<br /> if(div_width&gt;350){<br />  t_light.style.width=div_width;<br />     t_light.style.height=div_height;<br />  }<br /> t_fade.style.display='block';<br /> t_light.style.display='block';<br />    closeButton.style.display='block';<br />    //层定位<br />    t_light.style.left=(document.body.clientWidth/2) - (t_light.offsetWidth/2);<br /> t_light.style.top=(document.body.clientHeight/2) - (t_light.offsetHeight/2);</p>
		<p> if(div_top&amp;&amp;div_top!=null)  t_light.style.top=parseInt(div_top);<br /> if(div_left&amp;&amp;div_left!=null) t_light.style.left=parseInt(div_left);</p>
		<p>    closeButton.style.left=parseInt(t_light.style.left)+parseInt(t_light.offsetWidth)-10;<br />    closeButton.style.top=parseInt(t_light.style.top)-10;<br />    //增加loading效果,调用page_load.js<br />    //divAddLoad(parseInt(t_light.style.left)+10,parseInt(t_light.style.top)+10,parseInt(div_width)-20,parseInt(div_height)-20);<br />    //获取层中iframe<br />    var pop_div_tabs_frame = document.getElementById("pop_div_tabs_frame");<br />    pop_div_tabs_frame.style.visibility="hidden";<br />    //判断iframe状态<br />    pop_div_tabs_frame.onreadystatechange=function(){fnStartInit(this)};<br />    //隐藏当前页面下拉框隐藏<br />    //for(var i=0; i&lt;sels.length; i++){<br />    //    sels[i].style.visibility = "hidden";<br />    //}<br />    //隐藏子页面下拉框<br />    subframe=subframeobj;<br />    if(subframe){<br />        var subselectobj =subframe.document.getElementsByTagName("select");<br />        for(var i=0; i&lt;subselectobj.length; i++){<br />               subselectobj[i].style.visibility = "hidden";<br />         }<br />     }<br />}<br />//iframe状态判断<br />function   fnStartInit(obj)<br />  {<br />    if(obj.readyState == "complete"){<br />         //  divRemoveLoad();<br />     obj.style.visibility="visible";<br />    return;<br />        }<br />  }<br />/*<br /> *关闭层<br /> */<br />function hidemask(){<br />  document.getElementById('light').style.display='none';<br />     closeButton.style.display='none';<br />  document.getElementById('fade').style.display='none';<br />       if(subframe){<br />          //将下拉框显示<br />  var subselectobj = subframe.document.getElementsByTagName("select");<br />     for(var i=0; i&lt;subselectobj.length; i++){<br />           subselectobj[i].style.visibility = "visible";<br />         }<br />        divRemoveLoad();//去掉遮照<br />      }<br /> }<br />//&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;弹出层 结束&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;</p>
<img src ="http://www.blogjava.net/balajinima/aggbug/247474.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/balajinima/" target="_blank">李云泽</a> 2008-12-20 14:19 <a href="http://www.blogjava.net/balajinima/articles/247474.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>window.open 判断子窗口是否存在</title><link>http://www.blogjava.net/balajinima/articles/223289.html</link><dc:creator>李云泽</dc:creator><author>李云泽</author><pubDate>Wed, 20 Aug 2008 08:30:00 GMT</pubDate><guid>http://www.blogjava.net/balajinima/articles/223289.html</guid><wfw:comment>http://www.blogjava.net/balajinima/comments/223289.html</wfw:comment><comments>http://www.blogjava.net/balajinima/articles/223289.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/balajinima/comments/commentRss/223289.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/balajinima/services/trackbacks/223289.html</trackback:ping><description><![CDATA[
		<h2> </h2>
		<div class="t_msgfont" id="postmessage_513">
				<div class="blockcode">
						<h5>代码:</h5>
						<code id="code0">&lt;script type="text/javascript"&gt;<br />var newWindow = null;//定义newWindow 必须在函数之外  <br />function aaaa()<br />{<br />        if (!newWindow || newWindow.closed)<br />        {<br />                newWindow = window.open('22.html','aa');<br />        }<br />}<br />&lt;/script&gt;<br />&lt;input type="button" value="123123" onclick="aaaa()"&gt;<br /></code>
				</div>
				<br />
				<br />
				<br />
		</div>
<img src ="http://www.blogjava.net/balajinima/aggbug/223289.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/balajinima/" target="_blank">李云泽</a> 2008-08-20 16:30 <a href="http://www.blogjava.net/balajinima/articles/223289.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>动态给表格增加/删除一行</title><link>http://www.blogjava.net/balajinima/articles/221211.html</link><dc:creator>李云泽</dc:creator><author>李云泽</author><pubDate>Mon, 11 Aug 2008 01:50:00 GMT</pubDate><guid>http://www.blogjava.net/balajinima/articles/221211.html</guid><wfw:comment>http://www.blogjava.net/balajinima/comments/221211.html</wfw:comment><comments>http://www.blogjava.net/balajinima/articles/221211.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/balajinima/comments/commentRss/221211.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/balajinima/services/trackbacks/221211.html</trackback:ping><description><![CDATA[
		<p>&lt;html&gt;<br />&lt;head&gt;<br />&lt;meta http-equiv="Content-Type" content="text/html; charset=gb2312" /&gt;<br />&lt;title&gt;动态给表格增加/删除一行&lt;/title&gt;<br />&lt;/head&gt;<br />&lt;script language=javascript&gt;<br />allCount=1<br />function addline()<br />{<br />newRow=listtable.insertRow(listtable.rows.length);<br />newRow.ln=allCount;<br />newRow.id=allCount;<br />c1=newRow.insertCell(0);<br />c1.bgColor="#FFFFFF";<br />c1.innerHTML="&lt;input size=10 name=sClass"+allCount+"&gt;";<br />c2=newRow.insertCell(1);<br />c2.bgColor="#FFFFFF";<br />c2.innerHTML="&lt;input size=10 name=sMaterial"+allCount+"&gt;";<br />c3=newRow.insertCell(2);<br />c3.bgColor="#FFFFFF";<br />c3.innerHTML="&lt;input size=10 name=sSpec"+allCount+"&gt;";<br />c4=newRow.insertCell(3);<br />c4.bgColor="#FFFFFF";<br />c4.innerHTML="&lt;input size=10 name=sPrice"+allCount+"&gt;";<br />c5=newRow.insertCell(4);<br />c5.bgColor="#FFFFFF";<br />c5.innerHTML="&lt;input size=10 name=sAmount"+allCount+"&gt;";<br />c6=newRow.insertCell(5);<br />c6.bgColor="#FFFFFF";<br />c6.innerHTML="&lt;input size=10 name=sFactory"+allCount+"&gt;";<br />c7=newRow.insertCell(6);<br />c7.bgColor="#FFFFFF";<br />c7.innerHTML="&lt;input size=10 name=sDeliveryPlace"+allCount+"&gt;";<br />c8=newRow.insertCell(7);<br />c8.bgColor="#FFFFFF";<br />c8.innerHTML="&lt;input size=10 name=sNotes"+allCount+"&gt;";<br />c9=newRow.insertCell(8);<br />c9.bgColor="#FFFFFF";<br />c9.align="CENTER";<br />c9.innerHTML="&lt;input type=checkbox value=t checked name=cPub"+allCount+"&gt;";<br />c10=newRow.insertCell(9);<br />c10.bgColor="#FFFFFF";<br />c10.align="CENTER";<br />c10.id="line"+allCount;<br />c10.innerHTML="&lt;input type=button value=删除 onclick=delline(line"+allCount+")&gt;";<br />c11=newRow.insertCell(10);<br />c11.bgColor="#FFFFFF";<br />c11.align="CENTER";<br />c11.innerHTML="&lt;input type=button value=插入 onclick=insertline(line"+allCount+")&gt;";<br />allCount++<br />}<br />function insertline(lineid)<br />{<br />for(i=0;i&lt;listtable.rows.length;i++)<br />{<br />if(listtable.rows[i].cells[9].id==lineid.id)<br />{<br />newRow=listtable.insertRow(i);<br />newRow.ln=allCount;<br />newRow.id=allCount;<br />c1=newRow.insertCell(0);<br />c1.bgColor="#FFFFFF";<br />c1.innerHTML="&lt;input size=10 name=sClass"+allCount+"&gt;";<br />c2=newRow.insertCell(1);<br />c2.bgColor="#FFFFFF";<br />c2.innerHTML="&lt;input size=10 name=sMaterial"+allCount+"&gt;";<br />c3=newRow.insertCell(2);<br />c3.bgColor="#FFFFFF";<br />c3.innerHTML="&lt;input size=10 name=sSpec"+allCount+"&gt;";<br />c4=newRow.insertCell(3);<br />c4.bgColor="#FFFFFF";<br />c4.innerHTML="&lt;input size=10 name=sPrice"+allCount+"&gt;";<br />c5=newRow.insertCell(4);<br />c5.bgColor="#FFFFFF";<br />c5.innerHTML="&lt;input size=10 name=sAmount"+allCount+"&gt;";<br />c6=newRow.insertCell(5);<br />c6.bgColor="#FFFFFF";<br />c6.innerHTML="&lt;input size=10 name=sFactory"+allCount+"&gt;";<br />c7=newRow.insertCell(6);<br />c7.bgColor="#FFFFFF";<br />c7.innerHTML="&lt;input size=10 name=sDeliveryPlace"+allCount+"&gt;";<br />c8=newRow.insertCell(7);<br />c8.bgColor="#FFFFFF";<br />c8.innerHTML="&lt;input size=10 name=sNotes"+allCount+"&gt;";<br />c9=newRow.insertCell(8);<br />c9.bgColor="#FFFFFF";<br />c9.align="CENTER";<br />c9.innerHTML="&lt;input type=checkbox value=t checked name=cPub"+allCount+"&gt;";<br />c10=newRow.insertCell(9);<br />c10.bgColor="#FFFFFF";<br />c10.align="CENTER";<br />c10.id="line"+allCount;<br />c10.innerHTML="&lt;input type=button value=删除 onclick=delline(line"+allCount+")&gt;";<br />c11=newRow.insertCell(10);<br />c11.bgColor="#FFFFFF";<br />c11.align="CENTER";<br />c11.innerHTML="&lt;input type=button value=插入 onclick=insertline(line"+allCount+")&gt;";<br />allCount++<br />return;<br />}<br />}<br />}<br />function delline(lineid)<br />{<br />for(i=0;i&lt;listtable.rows.length;i++)<br />{<br />for(j=0;j&lt;listtable.rows[i].cells.length;j++)<br />{<br />if(listtable.rows[i].cells[j].id==lineid.id)<br />{<br />listtable.deleteRow(i);<br />return;<br />}<br />}<br />}<br />}<br />&lt;/script&gt;</p>
		<p>&lt;body&gt;<br />&lt;table width=700 height="20" border="0" align="center" cellpadding=0 cellspacing=0 id=listtable&gt;<br />&lt;tr align=center height=20&gt;<br />&lt;td bgcolor=#FFFFFF&gt;&lt;b&gt;品名&lt;/b&gt;&lt;/td&gt;<br />&lt;td bgcolor=#FFFFFF&gt;&lt;b&gt;材质&lt;/b&gt;&lt;/td&gt;<br />&lt;td bgcolor=#FFFFFF&gt;&lt;b&gt;规格&lt;/b&gt;&lt;/td&gt;<br />&lt;td bgcolor=#FFFFFF&gt;&lt;b&gt;价格&lt;/b&gt;&lt;/td&gt;<br />&lt;td bgcolor=#FFFFFF&gt;&lt;b&gt;数量&lt;/b&gt;&lt;/td&gt;<br />&lt;td bgcolor=#FFFFFF&gt;&lt;b&gt;产地&lt;/b&gt;&lt;/td&gt;<br />&lt;td bgcolor=#FFFFFF&gt;&lt;b&gt;交货地&lt;/b&gt;&lt;/td&gt;<br />&lt;td bgcolor=#FFFFFF&gt;&lt;b&gt;备注&lt;/b&gt;&lt;/td&gt;<br />&lt;td bgcolor=#FFFFFF&gt;&lt;b&gt;发布&lt;/b&gt;&lt;/td&gt;<br />&lt;td bgcolor=#FFFFFF&gt;&lt;b&gt;-&lt;/b&gt;&lt;/td&gt;<br />&lt;td bgcolor=#FFFFFF&gt;&lt;b&gt;-&lt;/b&gt;&lt;/td&gt;<br />&lt;/tr&gt;<br />&lt;/table&gt;<br />&lt;table width="700" height="25" border="0" align="center" cellpadding="0" cellspacing="0"&gt;<br />&lt;tr&gt;&lt;td align="center"&gt;&lt;input type=button value=增加一行 onclick=addline()&gt;&lt;/td&gt;<br />&lt;/tr&gt;<br />&lt;/table&gt;<br />&lt;/body&gt;<br />&lt;/html&gt; <br /></p>
<img src ="http://www.blogjava.net/balajinima/aggbug/221211.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/balajinima/" target="_blank">李云泽</a> 2008-08-11 09:50 <a href="http://www.blogjava.net/balajinima/articles/221211.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>可编辑的html表格</title><link>http://www.blogjava.net/balajinima/articles/220014.html</link><dc:creator>李云泽</dc:creator><author>李云泽</author><pubDate>Mon, 04 Aug 2008 10:29:00 GMT</pubDate><guid>http://www.blogjava.net/balajinima/articles/220014.html</guid><wfw:comment>http://www.blogjava.net/balajinima/comments/220014.html</wfw:comment><comments>http://www.blogjava.net/balajinima/articles/220014.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/balajinima/comments/commentRss/220014.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/balajinima/services/trackbacks/220014.html</trackback:ping><description><![CDATA[
		<p>&lt;!-- <br />All Files Design &amp; Write by Windy_sk, you can use it freely but ... <br />YOU MUST KEEP THIS ITEM ! <br />Email: <a href="mailto:seasonx@163.net">seasonx@163.net</a><br />--&gt; <br />&lt;meta http-equiv="Content-Type" content="text/html; charset=gb2312"&gt; <br />&lt;title&gt;Power Table&lt;/title&gt; <br />&lt;style&gt; <br />body{ <br /> FONT-SIZE: 9pt; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; PADDING-TOP: 0px; <br />} <br />input { <br /> FONT-SIZE: 9pt; height: 15pt; width:50px; cursor: default; <br />} <br />table{ <br /> font-size: 9pt; <br /> word-break:break-all; <br /> cursor: default; <br /> BORDER: black 1px solid; <br /> background-color:#eeeecc; <br /> border-collapse:collapse; <br /> border-Color:#999999; <br /> align:center; <br />} <br />&lt;/style&gt; <br />&lt;script language="JavaScript1.2"&gt; <br />/* <br /> This following code are designed and writen by Windy_sk &lt;<a href="mailto:seasonx@163.net">seasonx@163.net</a>&gt; <br /> You can use it freely, but u must held all the copyright items! <br />*/ </p>
		<p>var Main_Tab = null; <br />var cur_row = null; <br />var cur_col = null; <br />var cur_cell = null; <br />var Org_con = ""; <br />var sort_col = null; </p>
		<p>var show_col = false; <br />var charMode = 1; <br />var act_bgc = "#BEC5DE"; <br />var act_fc = "black"; <br />var cur_bgc = "#ccffcc"; <br />var cur_fc = "black"; </p>
		<p>function init(){ <br /> cur_row   = null; <br /> cur_col   = null; <br /> cur_cell  = null; <br /> sort_col  = null; <br /> Main_Tab   = PowerTable; <br /> read_def(Main_Tab) <br /> Main_Tab.onmouseover = overIt; <br /> Main_Tab.onmouseout = outIt; <br /> Main_Tab.onclick = clickIt; <br /> Main_Tab.ondblclick = dblclickIt; <br /> Org_con   = Main_Tab.outerHTML; <br />  <br /> arrowUp = document.createElement("SPAN"); <br /> arrowUp.innerHTML = "5"; <br /> arrowUp.style.cssText  = "PADDING-RIGHT: 0px; MARGIN-TOP: -3px; PADDING-LEFT: 0px; FONT-SIZE: 10px; MARGIN-BOTTOM: 2px; PADDING-BOTTOM: 2px; OVERFLOW: hidden; WIDTH: 10px; COLOR: blue; PADDING-TOP: 0px; FONT-FAMILY: webdings; HEIGHT: 11px"; </p>
		<p> arrowDown = document.createElement("SPAN"); <br /> arrowDown.innerHTML = "6"; <br /> arrowDown.style.cssText = "PADDING-RIGHT: 0px; MARGIN-TOP: -3px; PADDING-LEFT: 0px; FONT-SIZE: 10px; MARGIN-BOTTOM: 2px; PADDING-BOTTOM: 2px; OVERFLOW: hidden; WIDTH: 10px; COLOR: blue; PADDING-TOP: 0px; FONT-FAMILY: webdings; HEIGHT: 11px"; <br />} </p>
		<p>function window.onload(){ <br /> init(); <br />  <br /> drag = document.createElement("DIV"); <br /> drag.innerHTML  = ""; <br /> drag.style.textAlign  = "center"; <br /> drag.style.position  = "absolute"; <br /> drag.style.cursor  = "hand"; <br /> drag.style.border  = "1 solid black"; <br /> drag.style.display  = "none"; <br /> drag.style.zIndex  = "999"; <br />  <br /> document.body.insertBefore(drag); <br /> setInterval("judge_move()",100); <br /> setInterval("showContent.value=Main_Tab.innerHTML;monitor.value='cur_row: '+cur_row+'; cur_col: '+cur_col + '; sort_col: ' +sort_col",1000); </p>
		<p> sel_Mode.selectedIndex=charMode; <br />} </p>
		<p>function judge_move(){ <br /> move[0].disabled=(cur_row == null || cur_row&lt;=1); <br /> move[1].disabled=(cur_row == null || cur_row==Main_Tab.rows.length-1 || cur_row == 0); <br /> move[2].disabled=(cur_col == null || cur_col==0); <br /> move[3].disabled=(cur_col == null || cur_col==Main_Tab.rows[0].cells.length-1); <br />} </p>
		<p>document.onselectstart = function(){return false;} </p>
		<p>document.onmouseup = drag_end; </p>
		<p>function clear_color(){ <br /> the_table=Main_Tab; <br /> if(cur_col!=null){ <br />  for(i=0;i&lt;the_table.rows.length;i++){ <br />   with(the_table.rows[i].cells[cur_col]){ <br />    style.backgroundColor=oBgc; <br />    style.color=oFc; <br />   } <br />  } <br /> } <br /> if(cur_row!=null){ <br />  for(i=0;i&lt;the_table.rows[cur_row].cells.length;i++){ <br />   with(the_table.rows[cur_row].cells[i]){ <br />    style.backgroundColor=oBgc; <br />    style.color=oFc; <br />   } <br />  } <br /> } <br /> if(cur_cell!=null){ <br />  cur_cell.children[0].contentEditable = false; <br />  with(cur_cell.children[0].runtimeStyle){ <br />   borderLeft=borderTop=""; <br />   borderRight=borderBottom=""; <br />   backgroundColor=""; <br />   paddingLeft=""; <br />   textAlign=""; <br />  } <br /> } <br />} </p>
		<p>function document.onclick(){ <br /> window.status = ""; <br /> clear_color(); <br /> cur_row  = null; <br /> cur_col  = null; <br /> cur_cell = null; <br />} </p>
		<p>function read_def(the_table){ <br /> for(var i=0;i&lt;the_table.rows.length;i++){ <br />  for(var j=0;j&lt;the_table.rows[i].cells.length;j++){ <br />   with(the_table.rows[i]){ <br />    cells[j].oBgc = cells[j].currentStyle.backgroundColor; <br />    cells[j].oFc  = cells[j].currentStyle.color; <br />    if(i==0){ <br />     cells[j].onmousedown = drag_start; <br />     cells[j].onmouseup = drag_end; <br />    } <br />   } <br />  } <br /> } <br />} </p>
		<p>function get_Element(the_ele,the_tag){ <br /> the_tag = the_tag.toLowerCase(); <br /> if(the_ele.tagName.toLowerCase()==the_tag)return the_ele; <br /> while(the_ele=the_ele.offsetParent){ <br />  if(the_ele.tagName.toLowerCase()==the_tag)return the_ele; <br /> } <br /> return(null); <br />} </p>
		<p>var dragStart  = false; <br />var dragColStart = null; <br />var dragColEnd  = null; </p>
		<p>function drag_start(){ <br /> var the_td = get_Element(event.srcElement,"td"); <br /> if(the_td==null) return; <br /> dragStart = true; <br /> dragColStart = the_td.cellIndex; <br /> drag.style.width = the_td.offsetWidth; <br /> drag.style.height = the_td.offsetHeight; <br /> function document.onmousemove(){ <br />  drag.style.display = ""; <br />  drag.style.top  = event.y - drag.offsetHeight/2; <br />  drag.style.left  = event.x - drag.offsetWidth/2; <br />  for(var i=0;i&lt;Main_Tab.rows[0].cells.length;i++){ <br />   with(Main_Tab.rows[0].cells[i]){ <br />    if((event.y&gt;offsetTop+parseInt(document.body.currentStyle.marginTop) &amp;&amp; event.y&lt;offsetTop+offsetHeight+parseInt(document.body.currentStyle.marginTop)) &amp;&amp; (event.x&gt;offsetLeft+parseInt(document.body.currentStyle.marginLeft) &amp;&amp; event.x&lt;offsetLeft+offsetWidth+parseInt(document.body.currentStyle.marginLeft))){ <br />     runtimeStyle.backgroundColor=act_bgc; <br />     dragColEnd=cellIndex; <br />    }else{ <br />     runtimeStyle.backgroundColor=""; <br />    } <br />   } <br />  } <br />  if(!(event.y&gt;Main_Tab.rows[0].offsetTop+parseInt(document.body.currentStyle.marginTop) &amp;&amp; event.y&lt;Main_Tab.rows[0].offsetTop+Main_Tab.rows[0].offsetHeight+parseInt(document.body.currentStyle.marginTop))) dragColEnd=null; <br /> } <br /> drag.innerHTML = the_td.innerHTML; <br /> drag.style.backgroundColor = the_td.oBgc; <br /> drag.style.color = the_td.oFc; <br />} </p>
		<p>function drag_end(){ <br /> dragStart = false; <br /> drag.style.display="none"; <br /> drag.innerHTML = ""; <br /> drag.style.width = 0; <br /> drag.style.height = 0; <br /> for(var i=0;i&lt;Main_Tab.rows[0].cells.length;i++){ <br />  Main_Tab.rows[0].cells[i].runtimeStyle.backgroundColor=""; <br /> } <br /> if(dragColStart!=null &amp;&amp; dragColEnd!=null &amp;&amp; dragColStart!=dragColEnd){ <br />  change_col(Main_Tab,dragColStart,dragColEnd); <br />  if(dragColStart==sort_col)sort_col=dragColEnd; <br />  else if(dragColEnd==sort_col)sort_col=dragColStart; <br />  document.onclick(); <br /> } <br /> dragColStart = null; <br /> dragColEnd = null; <br /> document.onmousemove=null; <br />} </p>
		<p>function clickIt(){ <br /> event.cancelBubble=true; <br /> var the_obj = event.srcElement; <br /> var i = 0 ,j = 0; <br /> if(cur_cell!=null &amp;&amp; cur_row!=0){ <br />  cur_cell.children[0].contentEditable = false; <br />  with(cur_cell.children[0].runtimeStyle){ <br />   borderLeft=borderTop=""; <br />   borderRight=borderBottom=""; <br />   backgroundColor=""; <br />   paddingLeft=""; <br />   textAlign=""; <br />  } <br /> } <br /> if(the_obj.tagName.toLowerCase() != "table" &amp;&amp; the_obj.tagName.toLowerCase() != "tbody" &amp;&amp; the_obj.tagName.toLowerCase() != "tr"){ <br />  var the_td = get_Element(the_obj,"td"); <br />  if(the_td==null) return; <br />  var the_tr = the_td.parentElement; <br />  var the_table = get_Element(the_td,"table"); <br />  var i   = 0; <br />  clear_color(); <br />  cur_row = the_tr.rowIndex; <br />  cur_col = the_td.cellIndex; <br />  if(cur_row!=0){ <br />   for(i=0;i&lt;the_tr.cells.length;i++){ <br />    with(the_tr.cells[i]){ <br />     style.backgroundColor=cur_bgc; <br />     style.color=cur_fc; <br />    } <br />   } <br />  }else{ <br />   if(show_col){ <br />    for(i=1;i&lt;the_table.rows.length;i++){ <br />     with(the_table.rows[i].cells[cur_col]){ <br />      style.backgroundColor=cur_bgc; <br />      style.color=cur_fc; <br />     } <br />    } <br />   } <br />    <br />   the_td.mode = !the_td.mode; <br />   if(sort_col!=null){ <br />    with(the_table.rows[0].cells[sort_col]) <br />     removeChild(lastChild); <br />   } <br />   with(the_table.rows[0].cells[cur_col]) <br />    appendChild(the_td.mode?arrowUp:arrowDown); <br />   sort_tab(the_table,cur_col,the_td.mode); <br />   sort_col=cur_col; <br />  } <br /> } <br />} </p>
		<p>function dblclickIt(){ <br /> event.cancelBubble=true; <br /> if(cur_row!=0){ <br />  var the_obj = event.srcElement; <br />  if(the_obj.tagName.toLowerCase() != "table" &amp;&amp; the_obj.tagName.toLowerCase() != "tbody" &amp;&amp; the_obj.tagName.toLowerCase() != "tr"){ <br />   var the_td = get_Element(the_obj,"td"); <br />   if(the_td==null) return; <br />   cur_cell = the_td; <br />   if(the_td.children.length!=1) <br />    the_td.innerHTML="&lt;div&gt;" + the_td.innerHTML + "&lt;/div&gt;"; <br />   else if(the_td.children.length==1 &amp;&amp; the_td.children[0].tagName.toLowerCase()!="div") <br />    the_td.innerHTML="&lt;div&gt;" + the_td.innerHTML + "&lt;/div&gt;"; <br />   cur_cell.children[0].contentEditable = true; <br />   with(cur_cell.children[0].runtimeStyle){ <br />    borderRight=borderBottom="buttonhighlight 1px solid"; <br />    borderLeft=borderTop="black 1px solid"; <br />    backgroundColor="#dddddd"; <br />    paddingLeft="5px"; <br />    //textAlign="center"; <br />   } <br />  } <br /> } <br />} </p>
		<p>function overIt(){ <br /> if(dragStart)return; <br /> var the_obj = event.srcElement; <br /> var i = 0; <br /> if(the_obj.tagName.toLowerCase() != "table"){ <br />  var the_td = get_Element(the_obj,"td"); <br />  if(the_td==null) return; <br />  var the_tr = the_td.parentElement; <br />  var the_table = get_Element(the_td,"table"); <br />  if(the_tr.rowIndex!=0){ <br />   for(i=0;i&lt;the_tr.cells.length;i++){ <br />    with(the_tr.cells[i]){ <br />     runtimeStyle.backgroundColor=act_bgc; <br />     runtimeStyle.color=act_fc;      <br />    } <br />   } <br />  }else{ <br />   for(i=1;i&lt;the_table.rows.length;i++){ <br />    with(the_table.rows[i].cells(the_td.cellIndex)){ <br />     runtimeStyle.backgroundColor=act_bgc; <br />     runtimeStyle.color=act_fc; <br />    } <br />   } <br />   if(the_td.mode==undefined)the_td.mode = false; <br />   the_td.style.cursor=the_td.mode?"n-resize":"s-resize"; <br />  } <br /> } <br />} </p>
		<p>function outIt(){ <br /> var the_obj = event.srcElement; <br /> var i=0; <br /> if(the_obj.tagName.toLowerCase() != "table"){ <br />  var the_td = get_Element(the_obj,"td"); <br />  if(the_td==null) return; <br />  var the_tr = the_td.parentElement; <br />  var the_table = get_Element(the_td,"table"); <br />  if(the_tr.rowIndex!=0){ <br />   for(i=0;i&lt;the_tr.cells.length;i++){ <br />    with(the_tr.cells[i]){ <br />     runtimeStyle.backgroundColor=''; <br />     runtimeStyle.color='';     <br />    } <br />   } <br />  }else{ <br />   var the_table=the_tr.parentElement.parentElement; <br />   for(i=0;i&lt;the_table.rows.length;i++){ <br />    with(the_table.rows[i].cells(the_td.cellIndex)){ <br />     runtimeStyle.backgroundColor=''; <br />     runtimeStyle.color=''; <br />    } <br />   } <br />  } <br /> } <br />} </p>
		<p>var charPYStr = "啊阿埃挨哎唉哀皑癌蔼矮艾碍爱隘鞍氨安俺按暗岸胺案肮昂盎凹敖熬翱袄傲奥懊澳芭捌扒叭吧笆八疤巴拔跋靶把耙坝霸罢爸白柏百摆佰败拜稗斑班搬扳般颁板版扮拌伴瓣半办绊邦帮梆榜膀绑棒磅蚌镑傍谤苞胞包褒剥薄雹保堡饱宝抱报暴豹鲍爆杯碑悲卑北辈背贝钡倍狈备惫焙被奔苯本笨崩绷甭泵蹦迸逼鼻比鄙笔彼碧蓖蔽毕毙毖币庇痹闭敝弊必辟壁臂避陛鞭边编贬扁便变卞辨辩辫遍标彪膘表鳖憋别瘪彬斌濒滨宾摈兵冰柄丙秉饼炳病并玻菠播拨钵波博勃搏铂箔伯帛舶脖膊渤泊驳捕卜哺补埠不布步簿部怖擦猜裁材才财睬踩采彩菜蔡餐参蚕残惭惨灿苍舱仓沧藏操糙槽曹草厕策侧册测层蹭插叉茬茶查碴搽察岔差诧拆柴豺搀掺蝉馋谗缠铲产阐颤昌猖场尝常长偿肠厂敞畅唱倡超抄钞朝嘲潮巢吵炒车扯撤掣彻澈郴臣辰尘晨忱沉陈趁衬撑称城橙成呈乘程惩澄诚承逞骋秤吃痴持匙池迟弛驰耻齿侈尺赤翅斥炽充冲虫崇宠抽酬畴踌稠愁筹仇绸瞅丑臭初出橱厨躇锄雏滁除楚础储矗搐触处揣川穿椽传船喘串疮窗幢床闯创吹炊捶锤垂春椿醇唇淳纯蠢戳绰疵茨磁雌辞慈瓷词此刺赐次聪葱囱匆从丛凑粗醋簇促蹿篡窜摧崔催脆瘁粹淬翠村存寸磋撮搓措挫错搭达答瘩打大呆歹傣戴带殆代贷袋待逮怠耽担丹单郸掸胆旦氮但惮淡诞弹蛋当挡党荡档刀捣蹈倒岛祷导到稻悼道盗德得的蹬灯登等瞪凳邓堤低滴迪敌笛狄涤翟嫡抵底地蒂第帝弟递缔颠掂滇碘点典靛垫电佃甸店惦奠淀殿碉叼雕凋刁掉吊钓调跌爹碟蝶迭谍叠丁盯叮钉顶鼎锭定订丢东冬董懂动栋侗恫冻洞兜抖斗陡豆逗痘都督毒犊独读堵睹赌杜镀肚度渡妒端短锻段断缎堆兑队对墩吨蹲敦顿囤钝盾遁掇哆多夺垛躲朵跺舵剁惰堕蛾峨鹅俄额讹娥恶厄扼遏鄂饿恩而儿耳尔饵洱二贰发罚筏伐乏阀法珐藩帆番翻樊矾钒繁凡烦反返范贩犯饭泛坊芳方肪房防妨仿访纺放菲非啡飞肥匪诽吠肺废沸费芬酚吩氛分纷坟焚汾粉奋份忿愤粪丰封枫蜂峰锋风疯烽逢冯缝讽奉凤佛否夫敷肤孵扶拂辐幅氟符伏俘服浮涪福袱弗甫抚辅俯釜斧脯腑府腐赴副覆赋复傅付阜父腹负富讣附妇缚咐噶嘎该改概钙盖溉干甘杆柑竿肝赶感秆敢赣冈刚钢缸肛纲岗港杠篙皋高膏羔糕搞镐稿告哥歌搁戈鸽胳疙割革葛格蛤阁隔铬个各给根跟耕更庚羹埂耿梗工攻功恭龚供躬公宫弓巩汞拱贡共钩勾沟苟狗垢构购够辜菇咕箍估沽孤姑鼓古蛊骨谷股故顾固雇刮瓜剐寡挂褂乖拐怪棺关官冠观管馆罐惯灌贯光广逛瑰规圭硅归龟闺轨鬼诡癸桂柜跪贵刽辊滚棍锅郭国果裹过哈骸孩海氦亥害骇酣憨邯韩含涵寒函喊罕翰撼捍旱憾悍焊汗汉夯杭航壕嚎豪毫郝好耗号浩呵喝荷菏核禾和何合盒貉阂河涸赫褐鹤贺嘿黑痕很狠恨哼亨横衡恒轰哄烘虹鸿洪宏弘红喉侯猴吼厚候后呼乎忽瑚壶葫胡蝴狐糊湖弧虎唬护互沪户花哗华猾滑画划化话槐徊怀淮坏欢环桓还缓换患唤痪豢焕涣宦幻荒慌黄磺蝗簧皇凰惶煌晃幌恍谎灰挥辉徽恢蛔回毁悔慧卉惠晦贿秽会烩汇讳诲绘荤昏婚魂浑混豁活伙火获或惑霍货祸击圾基机畸稽积箕肌饥迹激讥鸡姬绩缉吉极棘辑籍集及急疾汲即嫉级挤几脊己蓟技冀季伎祭剂悸济寄寂计记既忌际妓继纪嘉枷夹佳家加荚颊贾甲钾假稼价架驾嫁歼监坚尖笺间煎兼肩艰奸缄茧检柬碱硷拣捡简俭剪减荐槛鉴践贱见键箭件健舰剑饯渐溅涧建僵姜将浆江疆蒋桨奖讲匠酱降蕉椒礁焦胶交郊浇骄娇嚼搅铰矫侥脚狡角饺缴绞剿教酵轿较叫窖揭接皆秸街阶截劫节茎睛晶鲸京惊精粳经井警景颈静境敬镜径痉靖竟竞净炯窘揪究纠玖韭久灸九酒厩救旧臼舅咎就疚鞠拘狙疽居驹菊局咀矩举沮聚拒据巨具距踞锯俱句惧炬剧捐鹃娟倦眷卷绢撅攫抉掘倔爵桔杰捷睫竭洁结解姐戒藉芥界借介疥诫届巾筋斤金今津襟紧锦仅谨进靳晋禁近烬浸尽劲荆兢觉决诀绝均菌钧军君峻俊竣浚郡骏喀咖卡咯开揩楷凯慨刊堪勘坎砍看康慷糠扛抗亢炕考拷烤靠坷苛柯棵磕颗科壳咳可渴克刻客课肯啃垦恳坑吭空恐孔控抠口扣寇枯哭窟苦酷库裤夸垮挎跨胯块筷侩快宽款匡筐狂框矿眶旷况亏盔岿窥葵奎魁傀馈愧溃坤昆捆困括扩廓阔垃拉喇蜡腊辣啦莱来赖蓝婪栏拦篮阑兰澜谰揽览懒缆烂滥琅榔狼廊郎朗浪捞劳牢老佬姥酪烙涝勒乐雷镭蕾磊累儡垒擂肋类泪棱楞冷厘梨犁黎篱狸离漓理李里鲤礼莉荔吏栗丽厉励砾历利傈例俐痢立粒沥隶力璃哩俩联莲连镰廉怜涟帘敛脸链恋炼练粮凉梁粱良两辆量晾亮谅撩聊僚疗燎寥辽潦了撂镣廖料列裂烈劣猎琳林磷霖临邻鳞淋凛赁吝拎玲菱零龄铃伶羚凌灵陵岭领另令溜琉榴硫馏留刘瘤流柳六龙聋咙笼窿隆垄拢陇楼娄搂篓漏陋芦卢颅庐炉掳卤虏鲁麓碌露路赂鹿潞禄录陆戮驴吕铝侣旅履屡缕虑氯律率滤绿峦挛孪滦卵乱掠略抡轮伦仑沦纶论萝螺罗逻锣箩骡裸落洛骆络妈麻玛码蚂马骂嘛吗埋买麦卖迈脉瞒馒蛮满蔓曼慢漫谩芒茫盲氓忙莽猫茅锚毛矛铆卯茂冒帽貌贸么玫枚梅酶霉煤没眉媒镁每美昧寐妹媚门闷们萌蒙檬盟锰猛梦孟眯醚靡糜迷谜弥米秘觅泌蜜密幂棉眠绵冕免勉娩缅面苗描瞄藐秒渺庙妙蔑灭民抿皿敏悯闽明螟鸣铭名命谬摸摹蘑模膜磨摩魔抹末莫墨默沫漠寞陌谋牟某拇牡亩姆母墓暮幕募慕木目睦牧穆拿哪呐钠那娜纳氖乃奶耐奈南男难囊挠脑恼闹淖呢馁内嫩能妮霓倪泥尼拟你匿腻逆溺蔫拈年碾撵捻念娘酿鸟尿捏聂孽啮镊镍涅您柠狞凝宁拧泞牛扭钮纽脓浓农弄奴努怒女暖虐疟挪懦糯诺哦欧鸥殴藕呕偶沤啪趴爬帕怕琶拍排牌徘湃派攀潘盘磐盼畔判叛乓庞旁耪胖抛咆刨炮袍跑泡呸胚培裴赔陪配佩沛喷盆砰抨烹澎彭蓬棚硼篷膨朋鹏捧碰坯砒霹批披劈琵毗啤脾疲皮匹痞僻屁譬篇偏片骗飘漂瓢票撇瞥拼频贫品聘乒坪苹萍平凭瓶评屏坡泼颇婆破魄迫粕剖扑铺仆莆葡菩蒲埔朴圃普浦谱曝瀑期欺栖戚妻七凄漆柒沏其棋奇歧畦崎脐齐旗祈祁骑起岂乞企启契砌器气迄弃汽泣讫掐洽牵扦钎铅千迁签仟谦乾黔钱钳前潜遣浅谴堑嵌欠歉枪呛腔羌墙蔷强抢橇锹敲悄桥瞧乔侨巧鞘撬翘峭俏窍切茄且怯窃钦侵亲秦琴勤芹擒禽寝沁青轻氢倾卿清擎晴氰情顷请庆琼穷秋丘邱球求囚酋泅趋区蛆曲躯屈驱渠取娶龋趣去圈颧权醛泉全痊拳犬券劝缺炔瘸却鹊榷确雀裙群然燃冉染瓤壤攘嚷让饶扰绕惹热壬仁人忍韧任认刃妊纫扔仍日戎茸蓉荣融熔溶容绒冗揉柔肉茹蠕儒孺如辱乳汝入褥软阮蕊瑞锐闰润若弱撒洒萨腮鳃塞赛三叁伞散桑嗓丧搔骚扫嫂瑟色涩森僧莎砂杀刹沙纱傻啥煞筛晒珊苫杉山删煽衫闪陕擅赡膳善汕扇缮墒伤商赏晌上尚裳梢捎稍烧芍勺韶少哨邵绍奢赊蛇舌舍赦摄射慑涉社设砷申呻伸身深娠绅神沈审婶甚肾慎渗声生甥牲升绳省盛剩胜圣师失狮施湿诗尸虱十石拾时什食蚀实识史矢使屎驶始式示士世柿事拭誓逝势是嗜噬适仕侍释饰氏市恃室视试收手首守寿授售受瘦兽蔬枢梳殊抒输叔舒淑疏书赎孰熟薯暑曙署蜀黍鼠属术述树束戍竖墅庶数漱恕刷耍摔衰甩帅栓拴霜双爽谁水睡税吮瞬顺舜说硕朔烁斯撕嘶思私司丝死肆寺嗣四伺似饲巳松耸怂颂送宋讼诵搜艘擞嗽苏酥俗素速粟僳塑溯宿诉肃酸蒜算虽隋随绥髓碎岁穗遂隧祟孙损笋蓑梭唆缩琐索锁所塌他它她塔獭挞蹋踏胎苔抬台泰酞太态汰坍摊贪瘫滩坛檀痰潭谭谈坦毯袒碳探叹炭汤塘搪堂棠膛唐糖倘躺淌趟烫掏涛滔绦萄桃逃淘陶讨套特藤腾疼誊梯剔踢锑提题蹄啼体替嚏惕涕剃屉天添填田甜恬舔腆挑条迢眺跳贴铁帖厅听烃汀廷停亭庭挺艇通桐酮瞳同铜彤童桶捅筒统痛偷投头透凸秃突图徒途涂屠土吐兔湍团推颓腿蜕褪退吞屯臀拖托脱鸵陀驮驼椭妥拓唾挖哇蛙洼娃瓦袜歪外豌弯湾玩顽丸烷完碗挽晚皖惋宛婉万腕汪王亡枉网往旺望忘妄威巍微危韦违桅围唯惟为潍维苇萎委伟伪尾纬未蔚味畏胃喂魏位渭谓尉慰卫瘟温蚊文闻纹吻稳紊问嗡翁瓮挝蜗涡窝我斡卧握沃巫呜钨乌污诬屋无芜梧吾吴毋武五捂午舞伍侮坞戊雾晤物勿务悟误昔熙析西硒矽晰嘻吸锡牺稀息希悉膝夕惜熄烯溪汐犀檄袭席习媳喜铣洗系隙戏细瞎虾匣霞辖暇峡侠狭下厦夏吓掀锨先仙鲜纤咸贤衔舷闲涎弦嫌显险现献县腺馅羡宪陷限线相厢镶香箱襄湘乡翔祥详想响享项巷橡像向象萧硝霄削哮嚣销消宵淆晓小孝校肖啸笑效楔些歇蝎鞋协挟携邪斜胁谐写械卸蟹懈泄泻谢屑薪芯锌欣辛新忻心信衅星腥猩惺兴刑型形邢行醒幸杏性姓兄凶胸匈汹雄熊休修羞朽嗅锈秀袖绣墟戌需虚嘘须徐许蓄酗叙旭序畜恤絮婿绪续轩喧宣悬旋玄选癣眩绚靴薛学穴雪血勋熏循旬询寻驯巡殉汛训讯逊迅压押鸦鸭呀丫芽牙蚜崖衙涯雅哑亚讶焉咽阉烟淹盐严研蜒岩延言颜阎炎沿奄掩眼衍演艳堰燕厌砚雁唁彦焰宴谚验殃央鸯秧杨扬佯疡羊洋阳氧仰痒养样漾邀腰妖瑶摇尧遥窑谣姚咬舀药要耀椰噎耶爷野冶也页掖业叶曳腋夜液一壹医揖铱依伊衣颐夷遗移仪胰疑沂宜姨彝椅蚁倚已乙矣以艺抑易邑屹亿役臆逸肄疫亦裔意毅忆义益溢诣议谊译异翼翌绎茵荫因殷音阴姻吟银淫寅饮尹引隐印英樱婴鹰应缨莹萤营荧蝇迎赢盈影颖硬映哟拥佣臃痈庸雍踊蛹咏泳涌永恿勇用幽优悠忧尤由邮铀犹油游酉有友右佑釉诱又幼迂淤于盂榆虞愚舆余俞逾鱼愉渝渔隅予娱雨与屿禹宇语羽玉域芋郁吁遇喻峪御愈欲狱育誉浴寓裕预豫驭鸳渊冤元垣袁原援辕园员圆猿源缘远苑愿怨院曰约越跃钥岳粤月悦阅耘云郧匀陨允运蕴酝晕韵孕匝砸杂栽哉灾宰载再在咱攒暂赞赃脏葬遭糟凿藻枣早澡蚤躁噪造皂灶燥责择则泽贼怎增憎曾赠扎喳渣札轧铡闸眨栅榨咋乍炸诈摘斋宅窄债寨瞻毡詹粘沾盏斩辗崭展蘸栈占战站湛绽樟章彰漳张掌涨杖丈帐账仗胀瘴障招昭找沼赵照罩兆肇召遮折哲蛰辙者锗蔗这浙珍斟真甄砧臻贞针侦枕疹诊震振镇阵蒸挣睁征狰争怔整拯正政帧症郑证芝枝支吱蜘知肢脂汁之织职直植殖执值侄址指止趾只旨纸志挚掷至致置帜峙制智秩稚质炙痔滞治窒中盅忠钟衷终种肿重仲众舟周州洲诌粥轴肘帚咒皱宙昼骤珠株蛛朱猪诸诛逐竹烛煮拄瞩嘱主著柱助蛀贮铸筑住注祝驻抓爪拽专砖转撰赚篆桩庄装妆撞壮状椎锥追赘坠缀谆准捉拙卓桌琢茁酌啄着灼浊兹咨资姿滋淄孜紫仔籽滓子自渍字鬃棕踪宗综总纵邹走奏揍租足卒族祖诅阻组钻纂嘴醉最罪尊遵昨左佐柞做作坐座"; <br />var charBHStr = "一乙丁七乃九了二人儿入八几刀刁力十卜厂又万丈三上下个丫丸久么义乞也习乡于亏亡亿凡刃勺千卫叉口土士夕大女子寸小尸山川工己已巳巾干广弓才门飞马不与丑专中丰丹为之乌书予云互五井亢什仁仅仆仇今介仍从仑仓允元公六内冈冗凤凶分切劝办勾勿匀化匹区升午卞厄厅历及友双反壬天太夫孔少尤尹尺屯巴币幻开引心忆戈户手扎支文斗斤方无日曰月木欠止歹毋比毛氏气水火爪父片牙牛犬王瓦艺见计订讣认讥贝车邓长队韦风且世丘丙业丛东丝主乍乎乏乐仔仕他仗付仙仟代令以仪们兄兰冉册写冬冯凸凹出击刊功加务包匆北匝卉半占卡卢卯厉去发古句另只叫召叭叮可台史右叶号司叹叼囚四圣处外央夯失头奴奶孕宁它对尔尼左巧巨市布帅平幼弗弘归必戊扑扒打扔斥旦旧未末本札术正母民永汀汁汇汉灭犯玄玉瓜甘生用甩田由甲申电白皮皿目矛矢石示礼禾穴立纠艾节讨让讫训议讯记轧边辽闪饥驭鸟龙丢乒乓乔买争亚交亥亦产仰仲件价任份仿企伊伍伎伏伐休众优伙会伞伟传伤伦伪充兆先光全共关兴再军农冰冲决刑划列刘则刚创劣动匈匠匡华协印危压厌吁吃各合吉吊同名后吏吐向吓吕吗回因团在圭地场圾壮多夷夸夹夺奸她好如妄妆妇妈字存孙宅宇守安寺寻导尖尘尧尽屹屿岁岂州巡巩帆师年并庄庆延廷异式弛当忙戌戍戎戏成托扛扣扦执扩扫扬收旨早旬旭曲曳有朱朴朵机朽杀杂权次欢此死毕氖汐汕汗汛汝江池污汤汲灯灰爷牟百祁竹米红纤约级纪纫网羊羽老考而耳肉肋肌臣自至臼舌舟色芋芍芒芝虫血行衣西观讲讳讶许讹论讼讽设访诀贞负轨达迁迂迄迅过迈邢那邦邪闭问闯阮防阳阴阵阶页驮驯驰齐两严串丽乱亨亩伯估伴伶伸伺似佃但位低住佐佑体何余佛作你佣克免兑兵况冶冷冻初删判刨利别助努劫励劲劳匣医卤即却卵县君吝吞吟吠否吧吨吩含听吭吮启吱吴吵吸吹吻吼吾呀呆呈告呐呕员呛呜囤园困囱围址均坊坍坎坏坐坑块坚坛坝坞坟坠声壳妊妒妓妖妙妥妨孜孝宋完宏寿尾尿局屁层岔岗岛希帐庇床序庐库应弃弄弟张形彤役彻忌忍志忘忧快忱忻怀我戒扭扮扯扰扳扶批扼找技抄抉把抑抒抓投抖抗折抚抛抠抡抢护报拒拟改攻旱时旷更杆杉李杏材村杖杜束杠条来杨极步歼每求汞汪汰汹汽汾沁沂沃沈沉沏沙沛沟没沤沥沦沧沪泛灵灶灸灼灾灿牡牢状犹狂狄狈玖玛甫男甸疗皂盯矣社秀私秃究穷系纬纯纱纲纳纵纶纷纸纹纺纽罕羌肖肘肚肛肝肠良芜芥芦芬芭芯花芳芹芽苇苍苏补角言证评诅识诈诉诊诌词译谷豆贡财赤走足身轩辛辰迎运近返还这进远违连迟邑邮邯邱邵邹邻酉里针钉闰闲间闷阻阿陀附际陆陇陈韧饭饮驱驳驴鸡麦龟丧乖乳事些享京佩佬佯佰佳使侄侈例侍侗供依侠侣侥侦侧侨侩兔其具典净凭凯函刮到制刷券刹刺刻刽剁剂势卑卒卓单卖卧卷厕叁参叔取呢周味呵呸呻呼命咀咆咋和咎咏咐咒咕咖咙哎固国图坡坤坦坪坯坷垂垃垄备夜奄奇奈奉奋奔妮妹妻姆始姐姑姓委孟季孤学宗官宙定宛宜宝实宠审尚居屈屉届岩岭岳岸岿巫帕帖帘帚帛帜幸底店庙庚府庞废建弥弦弧录彼往征径忠念忽忿态怂怔怕怖怜性怪怯或房所承抨披抬抱抵抹押抽抿拂拄担拆拇拈拉拌拍拎拐拓拔拖拘拙招拢拣拥拦拧拨择放斧斩旺昂昆昌明昏易昔朋服杭杯杰松板构枉析枕林枚果枝枢枣枪枫柜欣欧武歧殴氓氛沫沮河沸油治沼沽沾沿泄泅泊泌法泞泡波泣泥注泪泳泻泼泽浅炉炊炎炒炔炕炙炬爬爸版牧物狐狗狙狞玩玫环现瓮画畅疙疚疟疡的盂盲直知矽矾矿码祈秆秉空线练组绅细织终绊绍绎经罗者耶肃股肢肤肥肩肪肮肯育肺肾肿胀胁舍艰苑苔苗苛苞苟若苦苫苯英苹茁茂范茄茅茎虎虏虱表衫衬规觅视试诗诚诛话诞诡询诣该详诧责贤败账货质贩贪贫贬购贮贯转轮软轰迢迪迫迭述郁郊郎郑采金钎钒钓闸闹阜陋陌降限陕隶雨青非顶顷饯饰饱饲驶驹驻驼驾鱼鸣齿临举亭亮亲侮侯侵便促俄俊俏俐俗俘保俞信俩俭修兹养冒冠剃削前剐剑勃勇勉勋南卸厘厚受变叙叛咨咬咯咱咳咸咽哀品哄哆哇哈哉响哑哗哟哪型垒垛垢垣垦垫垮城复奎奏契奖姚姜姥姨姻姿威娃娄娇娜孩孪客宣室宦宪宫封将尝屋屎屏峙峡峦差巷帝带帧帮幽度庭弯彦彪待很徊律怎怒思怠急怨总恃恍恒恢恤恨恫恬恼战扁拜括拭拯拱拴拷拼拽拾持挂指按挎挑挖挝挞挟挠挡挣挤挥挪挺政故施既星映春昧昨昭是昼显枯架枷柄柏某柑柒染柔柞柠查柬柯柱柳柿栅标栈栋栏树歪殃殆残段毒毖毗毡氟氢泉泵洁洋洒洗洛洞津洪洱洲活洼洽派浇浊测济浑浓涎炭炮炯炳炸点炼炽烁烂烃牲牵狠狡独狭狮狰狱玲玻珊珍珐甚甭界畏疤疥疫疮疯癸皆皇盅盆盈相盼盾省眉看眨矩砂砌砍砒研砖砚祖祝神禹秋种科秒穿突窃竖竿类籽绑绒结绕绘给绚络绝绞统缸罚美耍耐胃胆背胎胖胚胜胞胡脉茧茨茫茬茵茶茸茹荆草荐荒荔荚荡荣荤荧荫药虐虹虽虾蚀蚁蚂蚤衍袄要览觉诫诬语误诱诲说诵贰贱贴贵贷贸费贺赴赵趴轴轻迷迸迹追退送适逃逆选逊郝郡郧酋重钙钝钞钟钠钡钢钥钦钧钨钩钮闺闻闽阀阁阂陛陡院除陨险面革韭音项顺须食饵饶饺饼首香骂骄骆骇骨鬼鸥鸦乘俯俱俺倍倒倔倘候倚借倡倦倪债值倾健党兼冤凄准凉凋凌剔剖剥剧匪匿卿原哥哦哨哩哭哮哲哺哼唁唆唇唉唐唤啊圃圆埂埃埋埔壶夏套姬娘娟娠娥娩娱宰害宴宵家容宽宾射屑展峨峪峭峰峻席座弱徐徒恋恐恕恩恭息恳恶悄悍悔悟悦悯扇拳拿挚挛挨挫振挽捂捅捆捉捌捍捎捏捐捕捞损捡换捣效敌敖斋料旁旅晃晋晌晒晓晕晚朔朗柴栓栖栗校株样核根格栽桂桃桅框案桌桐桑桓桔档桥桨桩梆梢梧梨殉殊殷毙氦氧氨泰流浆浙浚浦浩浪浮浴海浸涂涅消涉涌涕涛涝涟涡涣涤润涧涨涩烈烘烙烛烟烤烦烧烩烫烬热爱爹特牺狸狼珠班瓶瓷畔留畜疲疹疼疽疾病症痈痉皋皱益盎盏盐监真眠眩砧砰破砷砸砾础祟祥离秘租秤秦秧秩积称窄窍站竞笆笋笑笔粉紊素索紧绢绣绥绦继缺罢羔羞翁翅耕耗耘耙耸耻耽耿聂胯胰胳胶胸胺能脂脆脊脏脐脑脓臭致舀航般舰舱艳荷莆莉莎莫莱莲获莹莽虑蚊蚌蚕蚜衰衷袁袍袒袖袜被请诸诺读诽课谁调谅谆谈谊豹豺贼贾贿赁赂赃资赶起躬载轿较辱透逐递途逗通逛逝逞速造逢部郭郴郸都酌配酒釜钱钳钵钻钾铀铁铂铃铅铆阅陪陵陶陷难顽顾顿颁颂预饿馁骋验骏高鸭鸯鸳鸵乾假偏做停偶偷偿傀兜兽冕减凑凰剪副勒勘匙厢厩唬售唯唱唾啃啄商啡啤啥啦啪啮啸圈域埠培基堂堆堑堕堵够奢娶婆婉婚婪婴婶孰宿寂寄寅密寇尉屠崇崎崔崖崩崭巢常庶康庸廊弹彩彬得徘恿悉悠患您悬悸悼情惊惋惕惜惟惦惧惨惭惮惯戚捧据捶捷捻掀掂掇授掉掏掐排掖掘掠探接控推掩措掳掷掸掺敏救教敛敝敢斜断旋族晤晦晨曹曼望桶梁梅梗梦梭梯械梳检欲毫涪涯液涵涸淀淄淆淋淌淑淖淘淡淤淫淬淮深淳混淹添清渊渍渐渔渗渠烯烷烹烽焉焊焕爽犁猎猖猛猜猪猫率球琅理琉琐甜略畦疵痊痒痔痕皑盒盔盖盗盘盛眯眶眷眺眼着睁矫硅硒硕票祭祷祸秸移秽窑窒竟章笛符笨第笺笼粒粕粗粘累绩绪续绰绳维绵绷绸综绽绿缀羚翌聊聋职脖脚脯脱脸舵舶舷船菇菊菌菏菜菠菩菱菲萄萌萍萎萝萤营萧萨著虚蛀蛆蛇蛊蛋衅衔袋袭袱谋谍谎谐谓谗谚谜象赊赦趾跃距躯辅辆逮逸逻鄂酗酚酝酞野铜铝铡铣铬铭铰铱铲银阉阎阐隅隆隋随隐雀雪颅领颇颈馅馆骑鸽鸿鹿麻黄龚傅傈傍傣储傲凿剩割募博厦厨啼喀喂善喇喉喊喘喜喝喧喳喷喻堡堤堪堰塔壹奠奥婿媒媚嫂富寐寒寓尊就属屡嵌帽幂幅强彭御循悲惑惠惩惫惰惶惹惺愉愤愧慌慨掌掣揉揍描提插揖握揣揩揪揭援揽搀搁搂搅搓搔搜搭搽敞散敦敬斌斑斯普景晰晴晶智晾暂暑曾替最朝期棉棋棍棒棕棘棚棠森棱棵棺椅植椎椒椭椰榔欺款殖毯氮氯氰渝渡渣渤温渭港渴游渺湃湍湖湘湛湾湿溃溅溉滁滋滑滞焙焚焦焰然煮牌犀犊猩猴猾琢琳琴琵琶琼甥番畴疏痘痛痞痢痪登皖短硝硫硬确硷禄禽稀程稍税窖窗窘窜窝竣童等筋筏筐筑筒答策筛粟粤粥粪紫絮缄缅缆缉缎缓缔缕编缘羡翔翘联脾腆腊腋腑腔腕舒舜艇落葛葡董葫葬葱葵蒂蒋蛔蛙蛛蛤蛮蛰蜒街裁裂装裕裙裤谢谣谤谦赋赌赎赏赐赔趁超越趋跋跌跑践辈辉辊辜逼逾遁遂遇遍遏道遗酣酥釉释量铸铺链销锁锄锅锈锋锌锐锑阑阔隔隘隙雁雄雅集雇韩颊馈馋骗骚鲁鹃鹅黍黑鼎催傻像剿勤叠嗅嗓嗜嗡嗣塌塑塘塞填墓媳嫁嫉嫌寝寞幌幕廉廓微想愁愈意愚感慈慎慑搏搐搞搪搬携摄摆摇摈摊摸数斟新暇暖暗椽椿楔楚楞楷楼概榆槐歇歌殿毁源溜溢溪溯溶溺滇滓滔滚满滤滥滦滨滩漓漠煌煎煞煤照献猿瑚瑞瑟瑰甄畸痰痴痹瘁盟睛睡督睦睫睬睹瞄矮硼碉碌碍碎碑碗碘碰禁福稗稚稠窟窥筷筹签简粮粱粳缚缝缠罩罪置署群聘肄肆腥腮腰腹腺腻腾腿舅蒙蒜蒲蒸蓄蓉蓑蓖蓝蓟蓬虞蛹蛾蜂蜕蜗衙裔裸褂解触詹誉誊谨谩谬豢貉赖跟跨跪路跳跺躲辐辑输辞辟遣遥鄙酪酬酮酱鉴锗错锚锡锣锤锥锦锨锭键锯锰障雍雏零雷雹雾靖靳靴靶韵颐频颓颖馏魁魂鲍鹊鹏鼓鼠龄僚僧僳兢凳嗽嘉嘎嘘嘛境墅墒墙嫡嫩孵察寡寥寨廖弊彰愿慕慢慷截摔摘摧摹撂撇敲斡旗榜榨榴榷槛模歉滴漂漆漏演漫漱漳漾潍煽熄熊熏熔熙熬瑶璃疑瘟瘦瘩瞅碟碧碱碳碴磁磋稳竭端箍箔箕算管箩粹精缨缩翟翠聚肇腐膀膊膏膜舆舔舞蔑蔓蔗蔚蔡蔫蔷蔼蔽蜀蜘蜜蜡蝇蝉裳裴裹褐褪誓谭谰谱豪貌赘赚赛赫踊踌辕辖辗辣遭遮酵酶酷酸酿锹锻镀镁隧雌需静韶颗馒骡魄鲜鼻僵僻凛劈嘱嘲嘶嘻嘿噎噶增墟墨墩履幢影德慧慰憋憎憨懂戮摩撅撑撒撕撞撤撩撬播撮撰撵擒敷暮暴槽樊樟横樱橡毅潘潜潦潭潮澄澈澎澜澳熟瘤瘪瘫瞎瞒碾磅磊磐磕稻稼稽稿箭箱篆篇篓糊缮聪膘膛膝艘蔬蕉蕊蕴蝎蝗蝴蝶褒褥谴豌豫趟趣踏踞踢踩踪躺遵醇醉醋镇镊镍镐镑霄震霉靠鞋鞍题颜额飘骸鲤鹤黎儒冀凝嘴器噪噬壁憾懈懊懒撼擂擅操擎擞整橇橙橱潞澡激濒燃燎燕獭瓢瘴瘸瞥磨磺穆窿篙篡篮篱篷糕糖糙缴翰翱耪膨膳臻蕾薄薛薪薯融螟衡赞赠蹄辙辨辩避邀醒醚醛镜雕霍霓霖靛鞘颠餐鲸黔默儡嚎嚏壕孺徽懦戴擦曙檀檄檬燥爵癌瞧瞩瞪瞬瞳磷礁穗簇簧糜糟糠繁翼臀臂臃臆藉藏藐螺襄豁赡赢蹈蹋辫镣霜霞鞠骤魏鳃龋嚣彝戳瀑瞻翻藕藤藩襟覆蹦躇镭镰鞭鬃鹰孽攀攒曝爆瓣疆癣簿羹藻蘑蟹警蹬蹭蹲蹿靡颤鳖麓嚷嚼壤巍攘灌籍糯纂耀蠕譬躁魔鳞蠢赣露霸霹髓囊瓤蘸镶攫罐颧矗"; <br />function judge_CN(char1,char2,mode){ <br /> var charSet=charMode?charBHStr:charPYStr; <br /> for(var n=0;n&lt;(char1.length&gt;char2.length?char1.length:char2.length);n++){ <br />  if(char1.charAt(n)!=char2.charAt(n)){ <br />   if(mode) return(charSet.indexOf(char1.charAt(n))&gt;charSet.indexOf(char2.charAt(n))?1:-1); <br />   else  return(charSet.indexOf(char1.charAt(n))&lt;charSet.indexOf(char2.charAt(n))?1:-1); <br />   break; <br />  } <br /> } <br /> return(0); <br />} </p>
		<p>function sort_tab(the_tab,col,mode){ <br /> var tab_arr = new Array(); <br /> var i; <br /> var start=new Date; <br /> for(i=1;i&lt;the_tab.rows.length;i++){ <br />  tab_arr.push(new Array(the_tab.rows[i].cells[col].innerText.toLowerCase(),the_tab.rows[i])); <br /> } <br /> function SortArr(mode) { <br />  return function (arr1, arr2){ <br />   var flag; <br />   var a,b; <br />   a = arr1[0]; <br />   b = arr2[0]; <br />   if(/^(\+|-)?\d+($|\.\d+$)/.test(a) &amp;&amp; /^(\+|-)?\d+($|\.\d+$)/.test(b)){ <br />    a=eval(a); <br />    b=eval(b); <br />    flag=mode?(a&gt;b?1:(a&lt;b?-1:0)):(a&lt;b?1:(a&gt;b?-1:0)); <br />   }else{ <br />    a=a.toString(); <br />    b=b.toString(); <br />    if(a.charCodeAt(0)&gt;=19968 &amp;&amp; b.charCodeAt(0)&gt;=19968){ <br />     flag = judge_CN(a,b,mode); <br />    }else{ <br />     flag=mode?(a&gt;b?1:(a&lt;b?-1:0)):(a&lt;b?1:(a&gt;b?-1:0)); <br />    } <br />   } <br />   return flag; <br />  }; <br /> } <br /> tab_arr.sort(SortArr(mode)); <br />  <br /> for(i=0;i&lt;tab_arr.length;i++){ <br />  the_tab.lastChild.appendChild(tab_arr[i][1]); <br /> } <br />  <br />/* <br /> for(i=0;i&lt;tab_arr.length;i++){ <br />  the_tab.rows[i+1].swapNode(tab_arr[i][1]); <br /> } <br />  <br />==================================================================================== <br />// tab_arr.push(new Array(the_tab.rows[i].cells[col].innerText.toLowerCase(),i)); <br />  <br /> for(i=0;i&lt;tab_arr.length;i++){ <br />  the_tab.insertRow(-1); <br />  the_tab.rows[the_tab.rows.length-1].style.display="none"; <br />  change_row(the_tab,tab_arr[i][1],the_tab.rows.length-1); <br /> } <br /> for(i=0;i&lt;tab_arr.length;i++){ <br />  the_table.deleteRow(1); <br /> } <br />  <br />==================================================================================== </p>
		<p> tab_arr=(new Array(new Array(0,0))).concat(tab_arr); <br /> var temp = 1; <br /> var change_line=1; <br /> for(i=1;i&lt;tab_arr.length;i++){ <br />  //alert(tab_arr[temp][1] + ' - ' + temp) <br />  if(tab_arr[temp][1] != change_line){ <br />   change_row(the_tab,tab_arr[temp][1],temp); <br />   tab_arr[temp][2] = true; <br />   temp = tab_arr[temp][1]; <br />  }else{ <br />   alert(change_line); <br />  } <br /> } <br />*/ <br /> window.status = " (Time spent: " + (new Date - start) + "ms)"; <br />} </p>
		<p>function change_row(the_tab,line1,line2){ <br /> the_tab.rows[line1].swapNode(the_tab.rows[line2]) <br />} </p>
		<p>function change_col(the_tab,line1,line2){ <br /> for(var i=0;i&lt;the_tab.rows.length;i++) <br />  the_tab.rows[i].cells[line1].swapNode(the_tab.rows[i].cells[line2]); <br />} </p>
		<p>function Move_up(the_table){ <br /> event.cancelBubble=true; <br /> if(cur_row==null || cur_row&lt;=1)return; <br /> change_row(the_table,cur_row,--cur_row); <br />} </p>
		<p>function Move_down(the_table){ <br /> event.cancelBubble=true; <br /> if(cur_row==null || cur_row==the_table.rows.length-1 || cur_row==0)return; <br /> change_row(the_table,cur_row,++cur_row); <br />} </p>
		<p>function Move_left(the_table){ <br /> event.cancelBubble=true; <br /> if(cur_col==null || cur_col==0)return; <br /> change_col(the_table,cur_col,--cur_col); <br /> if(cur_col==sort_col)sort_col=cur_col+1; <br /> else if(cur_col+1==sort_col)sort_col=cur_col; <br />} </p>
		<p>function Move_right(the_table){ <br /> event.cancelBubble=true; <br /> if(cur_col==null || cur_col==the_table.rows[0].cells.length-1)return; <br /> change_col(the_table,cur_col,++cur_col); <br /> if(cur_col==sort_col)sort_col=cur_col-1; <br /> else if(cur_col-1==sort_col)sort_col=cur_col; <br />} </p>
		<p>function add_row(the_table) { <br /> event.cancelBubble=true; <br /> var the_row,the_cell; <br /> the_row = cur_row==null?-1:(cur_row+1); <br /> clear_color(); <br /> var newrow=the_table.insertRow(the_row); <br /> for (var i=0;i&lt;the_table.rows[0].cells.length;i++) { <br />  the_cell=newrow.insertCell(i); <br />  the_cell.innerText="NewRow_" + the_cell.parentElement.rowIndex; <br /> } <br /> read_def(the_table); <br />} </p>
		<p>function del_row(the_table) { <br /> if(the_table.rows.length==1) return; <br /> var the_row; <br /> the_row = (cur_row==null || cur_row==0)?-1:cur_row; <br /> the_table.deleteRow(the_row); <br /> cur_row = null; <br /> cur_cell=null; <br />} </p>
		<p>function add_col(the_table) { <br /> event.cancelBubble=true; <br /> var the_col,i,the_cell; <br /> the_col = cur_col==null?-1:(cur_col+1); <br /> var the_title=prompt("Please input the title: ","Untitled"); <br /> if(the_title==null)return; <br /> if(the_col!=-1 &amp;&amp; the_col&lt;=sort_col &amp;&amp; sort_col!=null)sort_col++; <br /> the_title=the_title==""?"Untitled":the_title <br /> clear_color(); <br /> for(var i=0;i&lt;the_table.rows.length;i++){ <br />  the_cell=the_table.rows[i].insertCell(the_col); <br />  the_cell.innerText=i==0?the_title:("NewCol_" + the_cell.cellIndex); <br /> } <br /> read_def(the_table); <br />} </p>
		<p>function del_col(the_table) { <br /> if(the_table.rows[0].cells.length==1) return; <br /> var the_col,the_cell; <br /> the_col = cur_col==null?(the_table.rows[0].cells.length-1):cur_col; <br /> if(the_col!=-1 &amp;&amp; the_col&lt;sort_col &amp;&amp; sort_col!=null)sort_col--; <br /> else if(the_col==sort_col)sort_col=null; <br /> for(var i=0;i&lt;the_table.rows.length;i++) the_table.rows[i].deleteCell(the_col); <br /> cur_col = null; <br /> cur_cell=null; <br />} </p>
		<p>function res_tab(the_table){ <br /> the_table.outerHTML=Org_con; <br /> init(); <br />} </p>
		<p>function exp_tab(the_table){ <br /> var the_content=""; <br /> document.onclick(); <br /> the_content=the_table.outerHTML; <br /> the_content=the_content.replace(/ style=\"[^\"]*\"/g,""); <br /> the_content=the_content.replace(/ mode=\"(false|true)"/g,""); <br /> the_content=the_content.replace(/ oBgc=\"[\w#\d]*\"/g,""); <br /> the_content=the_content.replace(/ oFc=\"[\w#\d]*\"/g,""); <br /> the_content=the_content.replace(/&lt;span&gt;(5|6)&lt;\/span&gt;/gi,""); <br /> the_content=the_content.replace(/&lt;DIV contentEditable=false&gt;(.*)&lt;\/DIV&gt;/ig,"$1"); <br /> the_content="&lt;style&gt;table{font-size: 9pt;word-break:break-all;cursor: default;BORDER: black 1px solid;background-color:#eeeecc;border-collapse:collapse;border-Color:#999999;align:center;}&lt;/style&gt;\n"+the_content; <br /> var newwin=window.open("about:blank","_blank",""); <br /> newwin.document.open(); <br /> newwin.document.write(the_content); <br /> newwin.document.close(); <br /> newwin=null; <br />} <br />&lt;/script&gt; <br />&lt;TABLE width=100% border=1 cellSpacing=0 cellPadding=2 id="PowerTable"&gt; <br />&lt;TR align=middle bgColor=#ffcc00&gt; <br />&lt;TD&gt;First Name&lt;/TD&gt; <br />&lt;TD&gt;Last Name&lt;/TD&gt; <br />&lt;TD&gt;Team&lt;/TD&gt; <br />&lt;TD&gt;Engine&lt;/TD&gt; <br />&lt;TD&gt;Tyres&lt;/TD&gt; <br />&lt;TD&gt;Fastest Lap&lt;/TD&gt; <br />&lt;TD&gt;国家&lt;/TD&gt;&lt;/TR&gt; <br />&lt;TR&gt; <br />&lt;TD&gt;Michael&lt;/TD&gt; <br />&lt;TD&gt;Schumacher&lt;/TD&gt; <br />&lt;TD&gt;Ferrari&lt;/TD&gt; <br />&lt;TD&gt;Ferrari&lt;/TD&gt; <br />&lt;TD&gt;Bridgestone&lt;/TD&gt; <br />&lt;TD&gt;1.15.872&lt;/TD&gt; <br />&lt;TD&gt;德国&lt;/TD&gt;&lt;/TR&gt; <br />&lt;TR&gt; <br />&lt;TD&gt;Rubens&lt;/TD&gt; <br />&lt;TD&gt;Barrichello&lt;/TD&gt; <br />&lt;TD&gt;Ferrari&lt;/TD&gt; <br />&lt;TD&gt;Ferrari&lt;/TD&gt; <br />&lt;TD&gt;Bridgestone&lt;/TD&gt; <br />&lt;TD&gt;1.16.760&lt;/TD&gt; <br />&lt;TD&gt;法国&lt;/TD&gt;&lt;/TR&gt; <br />&lt;TR&gt; <br />&lt;TD&gt;Ralph&lt;/TD&gt; <br />&lt;TD&gt;Schumacher&lt;/TD&gt; <br />&lt;TD&gt;Williams&lt;/TD&gt; <br />&lt;TD&gt;BMW&lt;/TD&gt; <br />&lt;TD&gt;Michelin&lt;/TD&gt; <br />&lt;TD&gt;1.16.297&lt;/TD&gt; <br />&lt;TD&gt;美国&lt;/TD&gt;&lt;/TR&gt; <br />&lt;TR&gt; <br />&lt;TD&gt;Juan-Pablo&lt;/TD&gt; <br />&lt;TD&gt;Montoya&lt;/TD&gt; <br />&lt;TD&gt;Williams&lt;/TD&gt; <br />&lt;TD&gt;BMW&lt;/TD&gt; <br />&lt;TD&gt;Michelin&lt;/TD&gt; <br />&lt;TD&gt;1.17.123&lt;/TD&gt; <br />&lt;TD&gt;柬埔寨&lt;/TD&gt;&lt;/TR&gt; <br />&lt;TR&gt; <br />&lt;TD&gt;David&lt;/TD&gt; <br />&lt;TD&gt;Coulthard&lt;/TD&gt; <br />&lt;TD&gt;McLaren&lt;/TD&gt; <br />&lt;TD&gt;Mercedes&lt;/TD&gt; <br />&lt;TD&gt;Bridgestone&lt;/TD&gt; <br />&lt;TD&gt;1.16.423&lt;/TD&gt; <br />&lt;TD&gt;泰国&lt;/TD&gt;&lt;/TR&gt; <br />&lt;TR&gt; <br />&lt;TD&gt;Mika&lt;/TD&gt; <br />&lt;TD&gt;Hakkinen&lt;/TD&gt; <br />&lt;TD&gt;McLaren&lt;/TD&gt; <br />&lt;TD&gt;Mercedes&lt;/TD&gt; <br />&lt;TD&gt;Bridgestone&lt;/TD&gt; <br />&lt;TD&gt;1.16.979&lt;/TD&gt; <br />&lt;TD&gt;越南&lt;/TD&gt;&lt;/TR&gt; <br />&lt;TR&gt; <br />&lt;TD&gt;Jarno&lt;/TD&gt; <br />&lt;TD&gt;Trulli&lt;/TD&gt; <br />&lt;TD&gt;Jordan&lt;/TD&gt; <br />&lt;TD&gt;Honda&lt;/TD&gt; <br />&lt;TD&gt;Bridgestone&lt;/TD&gt; <br />&lt;TD&gt;1.16.459&lt;/TD&gt; <br />&lt;TD&gt;菲律宾&lt;/TD&gt;&lt;/TR&gt; <br />&lt;TR&gt; <br />&lt;TD&gt;Ricardo&lt;/TD&gt; <br />&lt;TD&gt;Zonta&lt;/TD&gt; <br />&lt;TD&gt;Jordan&lt;/TD&gt; <br />&lt;TD&gt;Honda&lt;/TD&gt; <br />&lt;TD&gt;Bridgestone&lt;/TD&gt; <br />&lt;TD&gt;1.17.328&lt;/TD&gt; <br />&lt;TD&gt;英国&lt;/TD&gt;&lt;/TR&gt; <br />&lt;TR&gt; <br />&lt;TD&gt;Olivia&lt;/TD&gt; <br />&lt;TD&gt;Panis&lt;/TD&gt; <br />&lt;TD&gt;BAR&lt;/TD&gt; <br />&lt;TD&gt;Honda&lt;/TD&gt; <br />&lt;TD&gt;Bridgestone&lt;/TD&gt; <br />&lt;TD&gt;1.16.771&lt;/TD&gt; <br />&lt;TD&gt;蒙古&lt;/TD&gt;&lt;/TR&gt; <br />&lt;TR&gt; <br />&lt;TD&gt;Jacques&lt;/TD&gt; <br />&lt;TD&gt;Villeneuve&lt;/TD&gt; <br />&lt;TD&gt;BAR&lt;/TD&gt; <br />&lt;TD&gt;Honda&lt;/TD&gt; <br />&lt;TD&gt;Bridgestone&lt;/TD&gt; <br />&lt;TD&gt;1.17.035&lt;/TD&gt; <br />&lt;TD&gt;马来西亚&lt;/TD&gt;&lt;/TR&gt; <br />&lt;TR&gt; <br />&lt;TD&gt;Kimi&lt;/TD&gt; <br />&lt;TD&gt;Raikkonen&lt;/TD&gt; <br />&lt;TD&gt;Sauber&lt;/TD&gt; <br />&lt;TD&gt;Petronas&lt;/TD&gt; <br />&lt;TD&gt;Bridgestone&lt;/TD&gt; <br />&lt;TD&gt;1.16.875&lt;/TD&gt; <br />&lt;TD&gt;缅甸&lt;/TD&gt;&lt;/TR&gt; <br />&lt;TR&gt; <br />&lt;TD&gt;Nick&lt;/TD&gt; <br />&lt;TD&gt;Heidfeld&lt;/TD&gt; <br />&lt;TD&gt;Sauber&lt;/TD&gt; <br />&lt;TD&gt;Petronas&lt;/TD&gt; <br />&lt;TD&gt;Bridgestone&lt;/TD&gt; <br />&lt;TD&gt;1.17.165&lt;/TD&gt; <br />&lt;TD&gt;朝鲜&lt;/TD&gt;&lt;/TR&gt; <br />&lt;TR&gt; <br />&lt;TD&gt;Eddie&lt;/TD&gt; <br />&lt;TD&gt;Irvine&lt;/TD&gt; <br />&lt;TD&gt;Jaguar&lt;/TD&gt; <br />&lt;TD&gt;Cosworth&lt;/TD&gt; <br />&lt;TD&gt;Michelin&lt;/TD&gt; <br />&lt;TD&gt;1.18.016&lt;/TD&gt; <br />&lt;TD&gt;中国&lt;/TD&gt;&lt;/TR&gt; <br />&lt;TR&gt; <br />&lt;TD&gt;Pedro&lt;/TD&gt; <br />&lt;TD&gt;de la Rosa&lt;/TD&gt; <br />&lt;TD&gt;Jaguar&lt;/TD&gt; <br />&lt;TD&gt;Cosworth&lt;/TD&gt; <br />&lt;TD&gt;Michelin&lt;/TD&gt; <br />&lt;TD&gt;1.18.015&lt;/TD&gt; <br />&lt;TD&gt;俄罗斯&lt;/TD&gt;&lt;/TR&gt; <br />&lt;TR&gt; <br />&lt;TD&gt;Hugh&lt;/TD&gt; <br />&lt;TD&gt;Gengine&lt;/TD&gt; <br />&lt;TD&gt;Lotus&lt;/TD&gt; <br />&lt;TD&gt;Renault&lt;/TD&gt; <br />&lt;TD&gt;Michelin&lt;/TD&gt; <br />&lt;TD&gt;1.15.015&lt;/TD&gt; <br />&lt;TD&gt;韩国&lt;/TD&gt;&lt;/TR&gt; <br />&lt;TR&gt; <br />&lt;TD&gt;Gloria&lt;/TD&gt; <br />&lt;TD&gt;Slap&lt;/TD&gt; <br />&lt;TD&gt;Lotus&lt;/TD&gt; <br />&lt;TD&gt;Renault&lt;/TD&gt; <br />&lt;TD&gt;Michelin&lt;/TD&gt; <br />&lt;TD&gt;1.15.012&lt;/TD&gt; <br />&lt;TD&gt;日本&lt;/TD&gt;&lt;/TR&gt; <br />&lt;/TABLE&gt; <br />&lt;p&gt; <br />&lt;input type=button value=ins_row onclick=add_row(Main_Tab)&gt; <br />&lt;input type=button value=ins_col onclick=add_col(Main_Tab)&gt; <br />&lt;input type=button value=Del_row onclick=del_row(Main_Tab)&gt; <br />&lt;input type=button value=Del_col onclick=del_col(Main_Tab)&gt; <br />&lt;input type=button value=Restore onclick=res_tab(Main_Tab)&gt; <br />&lt;input type=button value=Export  onclick=exp_tab(Main_Tab)&gt; <br /> ( Move:  <br />&lt;input type=button id=move value=Up    onclick=Move_up(Main_Tab)&gt; <br />&lt;input type=button id=move value=Down  onclick=Move_down(Main_Tab)&gt; <br />&lt;input type=button id=move value=Left  onclick=Move_left(Main_Tab)&gt; <br />&lt;input type=button id=move value=Right onclick=Move_right(Main_Tab)&gt; ) <br />汉字排序： <br />&lt;select id=sel_Mode onchange="charMode=this.selectedIndex"&gt; <br />&lt;option&gt;拼音 <br />&lt;option&gt;笔画 <br />&lt;/select&gt; <br />&lt;span style="cursor:hand; color: red; text-Decoration: underline" onclick="if(detail.style.display==''){detail.style.display='none';this.innerText='Show Detail'}else{detail.style.display='';this.innerText='Hide Detail'}"&gt;Show Detail&lt;/span&gt; <br />&lt;/p&gt; <br />&lt;div id=detail style="display:none"&gt; <br />&lt;input type=text id=monitor size=30 style="width:200px"&gt; <br />&lt;br&gt; <br />&lt;textarea id=showContent cols=100 rows=20&gt;&lt;/textarea&gt; <br />&lt;/div&gt;</p>
<img src ="http://www.blogjava.net/balajinima/aggbug/220014.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/balajinima/" target="_blank">李云泽</a> 2008-08-04 18:29 <a href="http://www.blogjava.net/balajinima/articles/220014.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>转载：js技巧收集(200多个) </title><link>http://www.blogjava.net/balajinima/articles/217993.html</link><dc:creator>李云泽</dc:creator><author>李云泽</author><pubDate>Mon, 28 Jul 2008 03:17:00 GMT</pubDate><guid>http://www.blogjava.net/balajinima/articles/217993.html</guid><wfw:comment>http://www.blogjava.net/balajinima/comments/217993.html</wfw:comment><comments>http://www.blogjava.net/balajinima/articles/217993.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/balajinima/comments/commentRss/217993.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/balajinima/services/trackbacks/217993.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 1.文本框焦点问题onBlur:当失去输入焦点后产生该事件onFocus:当输入获得焦点后，产生该文件Onchange:当文字值改变时，产生该事件Onselect:当文字加亮后，产生该文件				&lt;input type="text" value="郭强" onfocus="if(value=='郭强') {value=''}" onblur="if (value=='') {value=...&nbsp;&nbsp;<a href='http://www.blogjava.net/balajinima/articles/217993.html'>阅读全文</a><img src ="http://www.blogjava.net/balajinima/aggbug/217993.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/balajinima/" target="_blank">李云泽</a> 2008-07-28 11:17 <a href="http://www.blogjava.net/balajinima/articles/217993.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>可拖动&amp;可收缩的frame</title><link>http://www.blogjava.net/balajinima/articles/209337.html</link><dc:creator>李云泽</dc:creator><author>李云泽</author><pubDate>Fri, 20 Jun 2008 02:08:00 GMT</pubDate><guid>http://www.blogjava.net/balajinima/articles/209337.html</guid><wfw:comment>http://www.blogjava.net/balajinima/comments/209337.html</wfw:comment><comments>http://www.blogjava.net/balajinima/articles/209337.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/balajinima/comments/commentRss/209337.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/balajinima/services/trackbacks/209337.html</trackback:ping><description><![CDATA[
		<h4 id="subjcns!65f14ec276287411!1096" style="MARGIN-BOTTOM: 0px">可拖动&amp;可收缩的frame</h4>
		<div class="bvMsg" id="msgcns!65f14ec276287411!1096">
				<div>
						<strong>
								<font color="#99cc00">
								</font>
						</strong> </div>
				<div>
						<strong>
								<font color="#99cc00">
								</font>
						</strong> </div>
				<div>
						<strong>
								<font color="#99cc00">    代码如下，其他木有什么好介绍的，偶连注释都懒得写了。</font>
						</strong>
				</div>
				<div>
						<font color="#99cc00">
								<strong>    </strong>
						</font>
				</div>
				<div>
						<table cellspacing="0" cellpadding="0" border="1">
								<tbody>
										<tr style="HEIGHT: 23.25pt">
												<td valign="top" width="552">
														<p>
																<span lang="EN-US" style="COLOR: #3366ff">
																		<font size="3">
																				<font face="Times New Roman">&lt;frameset id="first" rows="*" cols="260,10,*"&gt;</font>
																		</font>
																</span>
														</p>
														<p>
																<span lang="EN-US" style="COLOR: #3366ff">
																		<font size="3">
																				<font face="Times New Roman">&lt;frame src="left.jsp" frameborder="0" allowtransparency="true" /&gt;</font>
																		</font>
																</span>
														</p>
														<p>
																<span lang="EN-US" style="COLOR: #3366ff">
																		<font size="3">
																				<font face="Times New Roman">&lt;frame src="mid.jsp" frameborder="1" bordercolor="red" allowtransparency="true" scrolling="no"&gt;</font>
																		</font>
																</span>
														</p>
														<p>
																<span lang="EN-US" style="COLOR: #3366ff">
																		<font size="3">
																				<font face="Times New Roman">&lt;frame src="right.jsp" frameborder="0"&gt;</font>
																		</font>
																</span>
														</p>
														<p>
																<span lang="EN-US" style="COLOR: #3366ff">
																		<font face="Times New Roman" size="3">&lt;/frameset&gt;</font>
																</span>
																<span lang="EN-US">
																</span>
														</p>
												</td>
										</tr>
								</tbody>
						</table>
				</div>
				<div>
						<font color="#ff0000">只需要注意一小点：用frame就不需要加&lt;body&gt;了！！</font>
				</div>
				<div>
						<font color="#ff0000">
						</font> </div>
				<div>
						<font color="#99cc00">
								<strong>mid.jsp就是中间width=8的小页面，它负责实现left.jsp的缩放。</strong>
						</font>
				</div>
				<div>
						<hr />
				</div>
				<div>
						<font color="#666699">&lt;body leftmargin="0" topmargin="0"&gt;<br />&lt;table width="10" height="800" bgcolor="#CCFF33"&gt;<br />&lt;tr valign="middle" onclick="folder()"&gt;&lt;td&gt;0&lt;/td&gt;&lt;/tr&gt;<br />&lt;/table&gt;<br />&lt;/body&gt;</font>
				</div>
				<div>
						<hr />
				</div>
				<div>
						<font color="#99cc00">
								<strong>
								</strong>
						</font> </div>
				<div>
						<font color="#99cc00">
								<strong>JS部分如下：</strong>
						</font>
				</div>
				<div>
						<p>
								<span lang="EN-US">
										<font face="Times New Roman" color="#000000" size="3"> </font>
								</span>
						</p>
						<table cellspacing="0" cellpadding="0" border="1">
								<tbody>
										<tr style="HEIGHT: 15pt">
												<td valign="top" width="552">
														<p>
																<font size="3">
																		<span lang="EN-US" style="COLOR: #993366">
																				<font face="Times New Roman">var counter = 0;<span>  </span>//</font>
																		</span>
																		<span style="COLOR: #993366; FONT-FAMILY: 宋体">加个计数参数</span>
																		<span lang="EN-US" style="COLOR: #993366">
																		</span>
																</font>
														</p>
														<p>
																<font size="3">
																		<span lang="EN-US" style="COLOR: #993366">
																				<font face="Times New Roman">//</font>
																		</span>
																		<span style="COLOR: #993366; FONT-FAMILY: 宋体">伸缩</span>
																		<span lang="EN-US" style="COLOR: #993366">
																				<font face="Times New Roman">frame</font>
																		</span>
																</font>
														</p>
														<p>
																<span lang="EN-US" style="COLOR: #993366">
																		<font size="3">
																				<font face="Times New Roman">function folder(){</font>
																		</font>
																</span>
														</p>
														<p>
																<span lang="EN-US" style="COLOR: #993366">
																		<font size="3">
																				<font face="Times New Roman">
																						<span>       </span>counter++;</font>
																		</font>
																</span>
														</p>
														<p>
																<font size="3">
																		<span lang="EN-US" style="COLOR: #993366">
																				<font face="Times New Roman">
																						<span>       </span>if(counter%2==1){<span>  </span>//</font>
																		</span>
																		<span style="COLOR: #993366; FONT-FAMILY: 宋体">单数点击</span>
																		<span lang="EN-US" style="COLOR: #993366">
																		</span>
																</font>
														</p>
														<p>
																<span lang="EN-US" style="COLOR: #993366">
																		<font size="3">
																				<font face="Times New Roman">
																						<span>              </span>parent.first.cols="0,10,*";</font>
																		</font>
																</span>
														</p>
														<p>
																<span lang="EN-US" style="COLOR: #993366">
																		<font size="3">
																				<font face="Times New Roman">
																						<span>       </span>}else{</font>
																		</font>
																</span>
														</p>
														<p>
																<span lang="EN-US" style="COLOR: #993366">
																		<font size="3">
																				<font face="Times New Roman">
																						<span>              </span>parent.first.cols = "260,10,*";<span>       </span></font>
																		</font>
																</span>
														</p>
														<p>
																<span lang="EN-US" style="COLOR: #993366">
																		<font size="3">
																				<font face="Times New Roman">
																						<span>       </span>}</font>
																		</font>
																</span>
														</p>
														<p>
																<span lang="EN-US" style="COLOR: #993366">
																		<font face="Times New Roman" size="3">}</font>
																</span>
														</p>
												</td>
										</tr>
								</tbody>
						</table>
				</div>
		</div>
<img src ="http://www.blogjava.net/balajinima/aggbug/209337.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/balajinima/" target="_blank">李云泽</a> 2008-06-20 10:08 <a href="http://www.blogjava.net/balajinima/articles/209337.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>js函数大全(转)</title><link>http://www.blogjava.net/balajinima/articles/201605.html</link><dc:creator>李云泽</dc:creator><author>李云泽</author><pubDate>Tue, 20 May 2008 04:20:00 GMT</pubDate><guid>http://www.blogjava.net/balajinima/articles/201605.html</guid><wfw:comment>http://www.blogjava.net/balajinima/comments/201605.html</wfw:comment><comments>http://www.blogjava.net/balajinima/articles/201605.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/balajinima/comments/commentRss/201605.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/balajinima/services/trackbacks/201605.html</trackback:ping><description><![CDATA[
		<div class="tit"> </div>
		<table style="TABLE-LAYOUT: fixed">
				<tbody>
						<tr>
								<td>
										<div class="cnt" id="blog_text">
												<div class="cnt">
														<p>1.document.write(""); 输出语句<br />2.JS中的注释为//<br />3.传统的HTML文档顺序是:document-&gt;html-&gt;(head,body)<br />4.一个浏览器窗口中的DOM顺序是:window-&gt;(navigator,screen,history,location,document)<br />5.得到表单中元素的名称和值:document.getElementById("表单中元素的ID号").name(或value)<br />6.一个小写转大写的JS: document.getElementById("output").value = document.getElementById("input").value.toUpperCase();<br />7.JS中的值类型:String,Number,Boolean,Null,Object,Function<br />8.JS中的字符型转换成数值型:parseInt(),parseFloat()<br />9.JS中的数字转换成字符型:(""+变量)<br />10.JS中的取字符串长度是:(length)<br />11.JS中的字符与字符相连接使用+号.<br />12.JS中的比较操作符有:==等于,!=不等于,&gt;,&gt;=,&lt;.&lt;=<br />13.JS中声明变量使用:var来进行声明<br />14.JS中的判断语句结构:if(condition){}else{}<br />15.JS中的循环结构:for([initial expression];[condition];[upadte expression]) {inside loop}<br />16.循环中止的命令是:break<br />17.JS中的函数定义:function functionName([parameter],...){statement[s]}<br />18.当文件中出现多个form表单时.可以用document.forms[0],document.forms[1]来代替.<br />19.窗口:打开窗口window.open(), 关闭一个窗口:window.close(), 窗口本身:self<br />20.状态栏的设置:window.status="字符";<br />21.弹出提示信息:window.alert("字符");<br />22.弹出确认框:window.confirm();<br />23.弹出输入提示框:window.prompt();<br />24.指定当前显示链接的位置:window.location.href="URL"<br />25.取出窗体中的所有表单的数量:document.forms.length<br />26.关闭文档的输出流:document.close();<br />27.字符串追加连接符:+=<br />28.创建一个文档元素:document.createElement(),document.createTextNode()<br />29.得到元素的方法:document.getElementById()<br />30.设置表单中所有文本型的成员的值为空:<br />var form = window.document.forms[0]<br />for (var i = 0; i&lt;form.elements.length;i++){<br />      if (form.elements[i].type == "text"){<br />          form.elements[i].value = "";<br />      }<br />}<br />31.复选按钮在JS中判断是否选中:document.forms[0].checkThis.checked (checked属性代表为是否选中返回TRUE或FALSE)<br />32.单选按钮组(单选按钮的名称必须相同):取单选按钮组的长度document.forms[0].groupName.length<br />33.单选按钮组判断是否被选中也是用checked.<br />34.下拉列表框的值:document.forms[0].selectName.options[n].value (n有时用下拉列表框名称加上.selectedIndex来确定被选中的值)<br />35.字符串的定义:var myString = new String("This is lightsword");<br />36.字符串转成大写:string.toUpperCase(); 字符串转成小写:string.toLowerCase();<br />37.返回字符串2在字符串1中出现的位置:String1.indexOf("String2")!=-1则说明没找到.<br />38.取字符串中指定位置的一个字符:StringA.charAt(9);<br />39.取出字符串中指定起点和终点的子字符串:stringA.substring(2,6);<br />40.数学函数:Math.PI(返回圆周率),Math.SQRT2(返回开方),Math.max(value1,value2)返回两个数中的最在 值,Math.pow(value1,10)返回value1的十次方,Math.round(value1)四舍五入函数,Math.floor (Math.random()*(n+1))返回随机数<br />41.定义日期型变量:var today = new Date();<br />42.日期函数列表:dateObj.getTime()得到时间,dateObj.getYear()得到年份, dateObj.getFullYear()得到四位的年份,dateObj.getMonth()得到月份,dateObj.getDate()得到 日,dateObj.getDay()得到日期几,dateObj.getHours()得到小时,dateObj.getMinutes()得到分, dateObj.getSeconds()得到秒,dateObj.setTime(value)设置时间,dateObj.setYear(val)设 置年,dateObj.setMonth(val)设置月,dateObj.setDate(val)设置日,dateObj.setDay(val)设 置星期几,dateObj.setHours设置小时,dateObj.setMinutes(val)设置分,dateObj.setSeconds (val)设置秒   [注意:此日期时间从0开始计]<br />43.FRAME的表示方式: [window.]frames[n].ObjFuncVarName,frames["frameName"].ObjFuncVarName,frameName.ObjFuncVarName<br />44.parent代表父亲对象,top代表最顶端对象<br />45.打开子窗口的父窗口为:opener<br />46.表示当前所属的位置:this<br />47.当在超链接中调用JS函数时用:(javascript:)来开头后面加函数名<br />48.在老的浏览器中不执行此JS:&lt;!--       //--&gt;<br />49.引用一个文件式的JS:&lt;script type="text/javascript" src="aaa.js"&gt;&lt;/script&gt;<br />50.指定在不支持脚本的浏览器显示的HTML:&lt;noscript&gt;&lt;/noscript&gt;<br />51.当超链和ONCLICK事件都有时,则老版本的浏览器转向a.html,否则转向b.html.例:&lt;a href= "a.html" onclick="location.href='b.html';return false"&gt;dfsadf&lt;/a&gt;<br />52.JS的内建对象有:Array,Boolean,Date,Error,EvalError,Function,Math,Number, Object,RangeError,ReferenceError,RegExp,String,SyntaxError,TypeError,URIError<br />53.JS中的换行:\n<br />54.窗口全屏大小:&lt;script&gt;function fullScreen(){ this.moveTo(0,0); this.outerWidth=screen.availWidth;this.outerHeight=screen.availHeight;}window.maximize=fullScreen;&lt;/script&gt;<br />55.JS中的all代表其下层的全部元素 </p>
														<p>56.JS中的焦点顺序:document.getElementByid("表单元素").tabIndex = 1<br />57.innerHTML的值是表单元素的值:如&lt;p id="para"&gt;"how are &lt;em&gt;you&lt; /em&gt;"&lt;/p&gt;,则innerHTML的值就是:how are &lt;em&gt;you&lt;/em&gt;<br />58.innerTEXT的值和上面的一样,只不过不会把&lt;em&gt;这种标记显示出来.<br />59.contentEditable可设置元素是否可被修改,isContentEditable返回是否可修改的状态.<br />60.isDisabled判断是否为禁止状态.disabled设置禁止状态<br />61.length取得长度,返回整型数值<br />62.addBehavior()是一种JS调用的外部函数文件其扩展名为.htc<br />63.window.focus()使当前的窗口在所有窗口之前.<br />64.blur()指失去焦点.与FOCUS()相反.<br />65.select()指元素为选中状态.<br />66.防止用户对文本框中输入文本:onfocus="this.blur()"<br />67.取出该元素在页面中出现的数量:document.all.tags("div(或其它HTML标记符)").length<br />68.JS中分为两种窗体输出:模态和非模态.window.showModaldialog(),window.showModeless()<br />69.状态栏文字的设置:window.status='文字',默认的状态栏文字设置:window.defaultStatus = '文字.';<br />70.添加到收藏夹:external.AddFavorite("<a href="http://www.dannyg.com/">http://www.dannyg.com","jaskdlf</a>");<br />71.JS中遇到脚本错误时不做任何操作:window.onerror = doNothing; 指定错误句柄的语法为:window.onerror = handleError;<br />72.JS中指定当前打开窗口的父窗口:window.opener,支持opener.opener...的多重继续.<br />73.JS中的self指的是当前的窗口<br />74.JS中状态栏显示内容:window.status="内容"<br />75.JS中的top指的是框架集中最顶层的框架<br />76.JS中关闭当前的窗口:window.close();<br />77.JS中提出是否确认的框:if(confirm("Are you sure?")){alert("ok");}else{alert("Not Ok");}<br />78.JS中的窗口重定向:window.navigate("<a href="http://www.sina.com.cn/">http://www.sina.com.cn</a>");<br />79.JS中的打印:window.print()<br />80.JS中的提示输入框:window.prompt("message","defaultReply");<br />81.JS中的窗口滚动条:window.scroll(x,y)<br />82.JS中的窗口滚动到位置:window.scrollby<br />83.JS中设置时间间隔:setInterval("expr",msecDelay)或setInterval(funcRef,msecDelay)或setTimeout<br />84.JS中的模态显示在IE4+行,在NN中不行:showModalDialog("URL"[,arguments][,features]);<br />85.JS中的退出之前使用的句柄:function verifyClose(){event.returnValue= "we really like you and hope you will stay longer.";}}   window.onbeforeunload=verifyClose;<br />86.当窗体第一次调用时使用的文件句柄:onload()<br />87.当窗体关闭时调用的文件句柄:onunload()<br />88.window.location的属性: protocol(http:),hostname(<a href="http://www.example.com%29,port%2880%29,host%28www.example.com/">www.example.com),port(80),host(www.example.com:80),pathname("/a/a.html"),hash("#giantGizmo</a>",指跳转到相应的锚记),href(全部的信息)<br />89.window.location.reload()刷新当前页面.<br />89-1.parent.location.reload()刷新父亲对象（用于框架）<br />89-2.opener.location.reload()刷新父窗口对象（用于单开窗口）<br />89-3.top.location.reload()刷新最顶端对象（用于多开窗口）<br />90.window.history.back()返回上一页,window.history.forward()返回下一页,window.history.go(返回第几页,也可以使用访问过的URL)<br />91.document.write()不换行的输出,document.writeln()换行输出<br />92.document.body.noWrap=true;防止链接文字折行.<br />93.变量名.charAt(第几位),取该变量的第几位的字符.<br />94."abc".charCodeAt(第几个),返回第几个字符的ASCii码值.<br />95.字符串连接:string.concat(string2),或用+=进行连接<br />96.变量.indexOf("字符",起始位置),返回第一个出现的位置(从0开始计算)<br />97.string.lastIndexOf(searchString[,startIndex])最后一次出现的位置.<br />98.string.match(regExpression),判断字符是否匹配.<br />99.string.replace(regExpression,replaceString)替换现有字符串.<br />100.string.split(分隔符)返回一个数组存储值.<br />101.string.substr(start[,length])取从第几位到指定长度的字符串.<br />102.string.toLowerCase()使字符串全部变为小写.<br />103.string.toUpperCase()使全部字符变为大写.<br />104.parseInt(string[,radix(代表进制)])强制转换成整型.<br />105.parseFloat(string[,radix])强制转换成浮点型.<br />106.isNaN(变量):测试是否为数值型.<br />107.定义常量的关键字:const,定义变量的关键字:var</p>
												</div>
										</div>
								</td>
						</tr>
				</tbody>
		</table>
<img src ="http://www.blogjava.net/balajinima/aggbug/201605.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/balajinima/" target="_blank">李云泽</a> 2008-05-20 12:20 <a href="http://www.blogjava.net/balajinima/articles/201605.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>javascript 身份证验证</title><link>http://www.blogjava.net/balajinima/articles/198734.html</link><dc:creator>李云泽</dc:creator><author>李云泽</author><pubDate>Tue, 06 May 2008 08:32:00 GMT</pubDate><guid>http://www.blogjava.net/balajinima/articles/198734.html</guid><wfw:comment>http://www.blogjava.net/balajinima/comments/198734.html</wfw:comment><comments>http://www.blogjava.net/balajinima/articles/198734.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/balajinima/comments/commentRss/198734.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/balajinima/services/trackbacks/198734.html</trackback:ping><description><![CDATA[
		<p>&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"<br />"<a href="http://www.w3.org/TR/html4/loose.dtd">http://www.w3.org/TR/html4/loose.dtd</a>"&gt;<br />&lt;html&gt;<br />&lt;head&gt;<br />&lt;meta http-equiv="Content-Type" content="text/html; charset=gb2312"&gt;<br />&lt;title&gt;无标题文档&lt;/title&gt;<br />&lt;/head&gt;<br />&lt;script&gt;<br />function check(){</p>
		<p>
				<br />//if (j==0) Xb2="男"<br /> //   else Xb2="女"<br />//var Jmsfzh1=Jmsfzh+i;<br />var  Xb2="男";<br />var Jmsfzh1="Jmsfzh1";<br /> alert(trim(document.all(Jmsfzh1).value));    <br />  <br />     if (trim(document.all(Jmsfzh1).value)==""){<br />         alert("请输入人员的居民身份证号！");<br />         document.all(Jmsfzh1).focus();<br />         return;<br />     }<br />     else<br />     {<br />     if (Jmsfzhjy(trim(document.all(Jmsfzh1).value),Xb2)=="error1"){       <br />          alert("您输入的身份证号不是数字信息!");<br />          document.all(Jmsfzh1).focus();<br />          return;<br />         }<br />     if (Jmsfzhjy(trim(document.all(Jmsfzh1).value),Xb2)=="error2"){       <br />          alert("您输入的身份证号位数不正确!");<br />          document.all(Jmsfzh1).focus();<br />          return;<br />         }<br />      if (Jmsfzhjy(trim(document.all(Jmsfzh1).value),Xb2)=="error3"){<br />          alert("您输入的身份证号年份不正确!");<br />          document.all(Jmsfzh1).focus();<br />          return;<br />         }<br />      if (Jmsfzhjy(trim(document.all(Jmsfzh1).value),Xb2)=="error4"){<br />          alert("您输入的身份证号日期不正确!");<br />          document.all(Jmsfzh1).focus();<br />          return;<br />         }<br />      if (Jmsfzhjy(trim(document.all(Jmsfzh1).value),Xb2)=="error5"){<br />          alert("您输入的身份证号性别信息不正确!");<br />          document.all(Jmsfzh1).focus();<br />          return;<br />         }<br />      }<br />alert("ok");</p>
		<p>}</p>
		<p>//判断居民身份证号输入是否正确1218<br />function Jmsfzhjy(strsfzh,xb)<br />{<br />var cd=strsfzh.length;<br />var year=-1;<br />var month=-1;<br />var day=-1;<br />for (kk=0;kk&lt;cd;kk++){<br />     if (strsfzh.charAt(kk)&gt;"9" || strsfzh.charAt(kk)&lt;"0"){<br />         h1="error1";<br />         return h1;<br />         }<br />    }<br />if (cd!=15&amp;&amp;cd!=18){<br />     h1="error2";<br />    return h1<br />    <br />   }<br />if (cd==15){<br />    s1=strsfzh.substring(0,6);<br />    s2="19"+strsfzh.substring(6,15)+"0";<br />    <br />    strsfzh=s1+s2;<br />    }<br />year=issfzhYearValid(parseInt(strsfzh.substring(6,10)));</p>
		<p>if (year==-1){<br />    h1="error3"<br />    return h1<br />    }<br />    month=parseInt(strsfzh.substring(10,12));<br />    day=isDayValid(year,month,parseInt(strsfzh.substring(12,14)));    <br />    if (day=="-1"){   <br />        h1="error4"<br />    return h1<br />    }<br />s=strsfzh.substring(16,17);</p>
		<p>if ((s%2==0&amp;&amp;xb=="男")||(s%2==1&amp;&amp;xb=="女")){<br />      h1="error5"<br />    return h1<br />    }<br />}</p>
		<p>//判断居民身份证号年份的合法性<br />function issfzhYearValid(year){<br /> var retyear=year;<br />   if (year==0 || year&lt;1900 ||year&gt;2100) retyear=-1;     <br />  return retyear;<br />}<br />//判断日期和月份的合法性<br />function isDayValid(year,month,day){<br /> var retday=day;<br />  if (day&lt;1||day&gt;31||month&lt;1||month&gt;12){<br />    retday=-1;<br />  } <br />  else {<br />    if (day==31&amp;&amp;(month==2||month==4||month==6||month==9||month==11)){<br />      retday=-1;<br />    } <br />    else {<br />      if(month==2&amp;&amp;day&gt;28&amp;&amp;!(day==29&amp;&amp;year%4==0&amp;&amp;(year%100!==0||year%400==0))){<br />        retday=-1<br />      }<br />    }<br /> }<br /> return retday;<br />}<br />function trim(string) {<br />  var temp = "";<br />  var temp1="";<br />  string = '' + string;<br />  splitstring = string.split(" ");<br />  for(i = 0; i &lt; splitstring.length; i++)<br />  temp1 += splitstring[i];<br />  splitstring = temp1.split("?");<br />  for(i = 0; i &lt; splitstring.length; i++)<br />  temp += splitstring[i];<br />  return temp;<br />  }<br />&lt;/script&gt;<br />&lt;body&gt; <br /> &lt;select id="xingbie1" &gt;<br />&lt;option value="-1"&gt;-请选择-&lt;/option&gt;<br />&lt;option value="男"&gt;男&lt;/option&gt;         <br />&lt;option value="女"&gt;女&lt;/option&gt;         <br />&lt;/select&gt;</p>
		<p>&lt;input name="Jmsfzh1"  id="Jmsfzh1" type="text" value=""&gt;<br />&lt;input value="检查"  type="button" onClick="check()"&gt;<br />&lt;/body&gt;<br />&lt;/html&gt;<br /></p>
<img src ="http://www.blogjava.net/balajinima/aggbug/198734.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/balajinima/" target="_blank">李云泽</a> 2008-05-06 16:32 <a href="http://www.blogjava.net/balajinima/articles/198734.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>js日期时间函数(经典＋完善＋实用) </title><link>http://www.blogjava.net/balajinima/articles/170590.html</link><dc:creator>李云泽</dc:creator><author>李云泽</author><pubDate>Wed, 26 Dec 2007 06:42:00 GMT</pubDate><guid>http://www.blogjava.net/balajinima/articles/170590.html</guid><wfw:comment>http://www.blogjava.net/balajinima/comments/170590.html</wfw:comment><comments>http://www.blogjava.net/balajinima/articles/170590.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/balajinima/comments/commentRss/170590.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/balajinima/services/trackbacks/170590.html</trackback:ping><description><![CDATA[
		<br />
		<div style="MARGIN-TOP: 1px; MARGIN-LEFT: 15px">
				<h2> </h2>
		</div>
		<div style="MARGIN-TOP: 5px; MARGIN-LEFT: 15px">
				<b>关键字:</b>   js 日期 时间 函数      </div>
		<div style="MARGIN-TOP: 10px; MARGIN-LEFT: 15px; OVERFLOW: auto">
				<table width="100%">
						<tbody>
								<tr>
										<td>来自http://new.dlgzy.com/bbs/show.asp?id=42&amp;bd=8&amp;totable=1<br />日期时间脚本库方法列表<br /><br />Date.prototype.isLeapYear 判断闰年<br />Date.prototype.Format 日期格式化<br />Date.prototype.DateAdd 日期计算<br />Date.prototype.DateDiff 比较日期差<br />Date.prototype.toString 日期转字符串<br />Date.prototype.toArray 日期分割为数组<br />Date.prototype.DatePart 取日期的部分信息<br />Date.prototype.MaxDayOfDate 取日期所在月的最大天数<br />Date.prototype.WeekNumOfYear 判断日期所在年的第几周<br />StringToDate 字符串转日期型<br />IsValidDate 验证日期有效性<br />CheckDateTime 完整日期时间检查<br />daysBetween 日期天数差<br /><br /><div class="code_title">js 代码</div><div class="dp-highlighter"><div class="bar"> </div><ol class="dp-c"><li class="alt"><span><span class="comment">//---------------------------------------------------</span><span>  </span></span></li><li class=""><span><span class="comment">// 判断闰年</span><span>  </span></span></li><li class="alt"><span><span class="comment">//---------------------------------------------------</span><span>  </span></span></li><li class=""><span>Date.prototype.isLeapYear = <span class="keyword">function</span><span>()   </span></span></li><li class="alt"><span>{   </span></li><li class=""><span>    <span class="keyword">return</span><span> (0==</span><span class="keyword">this</span><span>.getYear()%4&amp;&amp;((</span><span class="keyword">this</span><span>.getYear()%100!=0)||(</span><span class="keyword">this</span><span>.getYear()%400==0)));   </span></span></li><li class="alt"><span>}   </span></li><li class=""><span>  </span></li><li class="alt"><span><span class="comment">//---------------------------------------------------</span><span>  </span></span></li><li class=""><span><span class="comment">// 日期格式化</span><span>  </span></span></li><li class="alt"><span><span class="comment">// 格式 YYYY/yyyy/YY/yy 表示年份</span><span>  </span></span></li><li class=""><span><span class="comment">// MM/M 月份</span><span>  </span></span></li><li class="alt"><span><span class="comment">// W/w 星期</span><span>  </span></span></li><li class=""><span><span class="comment">// dd/DD/d/D 日期</span><span>  </span></span></li><li class="alt"><span><span class="comment">// hh/HH/h/H 时间</span><span>  </span></span></li><li class=""><span><span class="comment">// mm/m 分钟</span><span>  </span></span></li><li class="alt"><span><span class="comment">// ss/SS/s/S 秒</span><span>  </span></span></li><li class=""><span><span class="comment">//---------------------------------------------------</span><span>  </span></span></li><li class="alt"><span>Date.prototype.Format = <span class="keyword">function</span><span>(formatStr)   </span></span></li><li class=""><span>{   </span></li><li class="alt"><span>    <span class="keyword">var</span><span> str = formatStr;   </span></span></li><li class=""><span>    <span class="keyword">var</span><span> Week = ['日','一','二','三','四','五','六'];  </span></span></li><li class="alt"><span>  </span></li><li class=""><span>    str=str.replace(/yyyy|YYYY/,<span class="keyword">this</span><span>.getFullYear());   </span></span></li><li class="alt"><span>    str=str.replace(/yy|YY/,(<span class="keyword">this</span><span>.getYear() % 100)&gt;9?(</span><span class="keyword">this</span><span>.getYear() % 100).toString():'0' + (</span><span class="keyword">this</span><span>.getYear() % 100));   </span></span></li><li class=""><span>  </span></li><li class="alt"><span>    str=str.replace(/MM/,<span class="keyword">this</span><span>.getMonth()&gt;9?</span><span class="keyword">this</span><span>.getMonth().toString():'0' + </span><span class="keyword">this</span><span>.getMonth());   </span></span></li><li class=""><span>    str=str.replace(/M/g,<span class="keyword">this</span><span>.getMonth());   </span></span></li><li class="alt"><span>  </span></li><li class=""><span>    str=str.replace(/w|W/g,Week[<span class="keyword">this</span><span>.getDay()]);   </span></span></li><li class="alt"><span>  </span></li><li class=""><span>    str=str.replace(/dd|DD/,<span class="keyword">this</span><span>.getDate()&gt;9?</span><span class="keyword">this</span><span>.getDate().toString():'0' + </span><span class="keyword">this</span><span>.getDate());   </span></span></li><li class="alt"><span>    str=str.replace(/d|D/g,<span class="keyword">this</span><span>.getDate());   </span></span></li><li class=""><span>  </span></li><li class="alt"><span>    str=str.replace(/hh|HH/,<span class="keyword">this</span><span>.getHours()&gt;9?</span><span class="keyword">this</span><span>.getHours().toString():'0' + </span><span class="keyword">this</span><span>.getHours());   </span></span></li><li class=""><span>    str=str.replace(/h|H/g,<span class="keyword">this</span><span>.getHours());   </span></span></li><li class="alt"><span>    str=str.replace(/mm/,<span class="keyword">this</span><span>.getMinutes()&gt;9?</span><span class="keyword">this</span><span>.getMinutes().toString():'0' + </span><span class="keyword">this</span><span>.getMinutes());   </span></span></li><li class=""><span>    str=str.replace(/m/g,<span class="keyword">this</span><span>.getMinutes());   </span></span></li><li class="alt"><span>  </span></li><li class=""><span>    str=str.replace(/ss|SS/,<span class="keyword">this</span><span>.getSeconds()&gt;9?</span><span class="keyword">this</span><span>.getSeconds().toString():'0' + </span><span class="keyword">this</span><span>.getSeconds());   </span></span></li><li class="alt"><span>    str=str.replace(/s|S/g,<span class="keyword">this</span><span>.getSeconds());   </span></span></li><li class=""><span>  </span></li><li class="alt"><span>    <span class="keyword">return</span><span> str;   </span></span></li><li class=""><span>}   </span></li><li class="alt"><span>  </span></li><li class=""><span><span class="comment">//+---------------------------------------------------</span><span>  </span></span></li><li class="alt"><span><span class="comment">//| 求两个时间的天数差 日期格式为 YYYY-MM-dd </span><span>  </span></span></li><li class=""><span><span class="comment">//+---------------------------------------------------</span><span>  </span></span></li><li class="alt"><span><span class="keyword">function</span><span> daysBetween(DateOne,DateTwo)  </span></span></li><li class=""><span>{   </span></li><li class="alt"><span>    <span class="keyword">var</span><span> OneMonth = DateOne.substring(5,DateOne.lastIndexOf ('-'));  </span></span></li><li class=""><span>    <span class="keyword">var</span><span> OneDay = DateOne.substring(DateOne.length,DateOne.lastIndexOf ('-')+1);  </span></span></li><li class="alt"><span>    <span class="keyword">var</span><span> OneYear = DateOne.substring(0,DateOne.indexOf ('-'));  </span></span></li><li class=""><span>  </span></li><li class="alt"><span>    <span class="keyword">var</span><span> TwoMonth = DateTwo.substring(5,DateTwo.lastIndexOf ('-'));  </span></span></li><li class=""><span>    <span class="keyword">var</span><span> TwoDay = DateTwo.substring(DateTwo.length,DateTwo.lastIndexOf ('-')+1);  </span></span></li><li class="alt"><span>    <span class="keyword">var</span><span> TwoYear = DateTwo.substring(0,DateTwo.indexOf ('-'));  </span></span></li><li class=""><span>  </span></li><li class="alt"><span>    <span class="keyword">var</span><span> cha=((Date.parse(OneMonth+'/'+OneDay+'/'+OneYear)- Date.parse(TwoMonth+'/'+TwoDay+'/'+TwoYear))/86400000);   </span></span></li><li class=""><span>    <span class="keyword">return</span><span> Math.abs(cha);  </span></span></li><li class="alt"><span>}  </span></li><li class=""><span>  </span></li><li class="alt"><span>  </span></li><li class=""><span><span class="comment">//+---------------------------------------------------</span><span>  </span></span></li><li class="alt"><span><span class="comment">//| 日期计算</span><span>  </span></span></li><li class=""><span><span class="comment">//+---------------------------------------------------</span><span>  </span></span></li><li class="alt"><span>Date.prototype.DateAdd = <span class="keyword">function</span><span>(strInterval, Number) {   </span></span></li><li class=""><span>    <span class="keyword">var</span><span> dtTmp = </span><span class="keyword">this</span><span>;  </span></span></li><li class="alt"><span>    <span class="keyword">switch</span><span> (strInterval) {   </span></span></li><li class=""><span>        <span class="keyword">case</span><span> 's' :</span><span class="keyword">return</span><span> </span><span class="keyword">new</span><span> Date(Date.parse(dtTmp) + (1000 * Number));  </span></span></li><li class="alt"><span>        <span class="keyword">case</span><span> 'n' :</span><span class="keyword">return</span><span> </span><span class="keyword">new</span><span> Date(Date.parse(dtTmp) + (60000 * Number));  </span></span></li><li class=""><span>        <span class="keyword">case</span><span> 'h' :</span><span class="keyword">return</span><span> </span><span class="keyword">new</span><span> Date(Date.parse(dtTmp) + (3600000 * Number));  </span></span></li><li class="alt"><span>        <span class="keyword">case</span><span> 'd' :</span><span class="keyword">return</span><span> </span><span class="keyword">new</span><span> Date(Date.parse(dtTmp) + (86400000 * Number));  </span></span></li><li class=""><span>        <span class="keyword">case</span><span> 'w' :</span><span class="keyword">return</span><span> </span><span class="keyword">new</span><span> Date(Date.parse(dtTmp) + ((86400000 * 7) * Number));  </span></span></li><li class="alt"><span>        <span class="keyword">case</span><span> 'q' :</span><span class="keyword">return</span><span> </span><span class="keyword">new</span><span> Date(dtTmp.getFullYear(), (dtTmp.getMonth()) + Number*3, dtTmp.getDate(), dtTmp.getHours(), dtTmp.getMinutes(), dtTmp.getSeconds());  </span></span></li><li class=""><span>        <span class="keyword">case</span><span> 'm' :</span><span class="keyword">return</span><span> </span><span class="keyword">new</span><span> Date(dtTmp.getFullYear(), (dtTmp.getMonth()) + Number, dtTmp.getDate(), dtTmp.getHours(), dtTmp.getMinutes(), dtTmp.getSeconds());  </span></span></li><li class="alt"><span>        <span class="keyword">case</span><span> 'y' :</span><span class="keyword">return</span><span> </span><span class="keyword">new</span><span> Date((dtTmp.getFullYear() + Number), dtTmp.getMonth(), dtTmp.getDate(), dtTmp.getHours(), dtTmp.getMinutes(), dtTmp.getSeconds());  </span></span></li><li class=""><span>    }  </span></li><li class="alt"><span>}  </span></li><li class=""><span>  </span></li><li class="alt"><span><span class="comment">//+---------------------------------------------------</span><span>  </span></span></li><li class=""><span><span class="comment">//| 比较日期差 dtEnd 格式为日期型或者 有效日期格式字符串</span><span>  </span></span></li><li class="alt"><span><span class="comment">//+---------------------------------------------------</span><span>  </span></span></li><li class=""><span>Date.prototype.DateDiff = <span class="keyword">function</span><span>(strInterval, dtEnd) {   </span></span></li><li class="alt"><span>    <span class="keyword">var</span><span> dtStart = </span><span class="keyword">this</span><span>;  </span></span></li><li class=""><span>    <span class="keyword">if</span><span> (</span><span class="keyword">typeof</span><span> dtEnd == 'string' )</span><span class="comment">//如果是字符串转换为日期型</span><span>  </span></span></li><li class="alt"><span>    {   </span></li><li class=""><span>        dtEnd = StringToDate(dtEnd);  </span></li><li class="alt"><span>    }  </span></li><li class=""><span>    <span class="keyword">switch</span><span> (strInterval) {   </span></span></li><li class="alt"><span>        <span class="keyword">case</span><span> 's' :</span><span class="keyword">return</span><span> parseInt((dtEnd - dtStart) / 1000);  </span></span></li><li class=""><span>        <span class="keyword">case</span><span> 'n' :</span><span class="keyword">return</span><span> parseInt((dtEnd - dtStart) / 60000);  </span></span></li><li class="alt"><span>        <span class="keyword">case</span><span> 'h' :</span><span class="keyword">return</span><span> parseInt((dtEnd - dtStart) / 3600000);  </span></span></li><li class=""><span>        <span class="keyword">case</span><span> 'd' :</span><span class="keyword">return</span><span> parseInt((dtEnd - dtStart) / 86400000);  </span></span></li><li class="alt"><span>        <span class="keyword">case</span><span> 'w' :</span><span class="keyword">return</span><span> parseInt((dtEnd - dtStart) / (86400000 * 7));  </span></span></li><li class=""><span>        <span class="keyword">case</span><span> 'm' :</span><span class="keyword">return</span><span> (dtEnd.getMonth()+1)+((dtEnd.getFullYear()-dtStart.getFullYear())*12) - (dtStart.getMonth()+1);  </span></span></li><li class="alt"><span>        <span class="keyword">case</span><span> 'y' :</span><span class="keyword">return</span><span> dtEnd.getFullYear() - dtStart.getFullYear();  </span></span></li><li class=""><span>    }  </span></li><li class="alt"><span>}  </span></li><li class=""><span>  </span></li><li class="alt"><span><span class="comment">//+---------------------------------------------------</span><span>  </span></span></li><li class=""><span><span class="comment">//| 日期输出字符串，重载了系统的toString方法</span><span>  </span></span></li><li class="alt"><span><span class="comment">//+---------------------------------------------------</span><span>  </span></span></li><li class=""><span>Date.prototype.toString = <span class="keyword">function</span><span>(showWeek)  </span></span></li><li class="alt"><span>{   </span></li><li class=""><span>    <span class="keyword">var</span><span> myDate= </span><span class="keyword">this</span><span>;  </span></span></li><li class="alt"><span>    <span class="keyword">var</span><span> str = myDate.toLocaleDateString();  </span></span></li><li class=""><span>    <span class="keyword">if</span><span> (showWeek)  </span></span></li><li class="alt"><span>    {   </span></li><li class=""><span>        <span class="keyword">var</span><span> Week = ['日','一','二','三','四','五','六'];  </span></span></li><li class="alt"><span>        str += ' 星期' + Week[myDate.getDay()];  </span></li><li class=""><span>    }  </span></li><li class="alt"><span>    <span class="keyword">return</span><span> str;  </span></span></li><li class=""><span>}  </span></li><li class="alt"><span>  </span></li><li class=""><span><span class="comment">//+---------------------------------------------------</span><span>  </span></span></li><li class="alt"><span><span class="comment">//| 日期合法性验证</span><span>  </span></span></li><li class=""><span><span class="comment">//| 格式为：YYYY-MM-DD或YYYY/MM/DD</span><span>  </span></span></li><li class="alt"><span><span class="comment">//+---------------------------------------------------</span><span>  </span></span></li><li class=""><span><span class="keyword">function</span><span> IsValidDate(DateStr)   </span></span></li><li class="alt"><span>{   </span></li><li class=""><span>    <span class="keyword">var</span><span> sDate=DateStr.replace(/(^\s+|\s+$)/g,</span><span class="string">''</span><span>); </span><span class="comment">//去两边空格; </span><span>  </span></span></li><li class="alt"><span>    <span class="keyword">if</span><span>(sDate==</span><span class="string">''</span><span>) </span><span class="keyword">return</span><span> </span><span class="keyword">true</span><span>;   </span></span></li><li class=""><span>    <span class="comment">//如果格式满足YYYY-(/)MM-(/)DD或YYYY-(/)M-(/)DD或YYYY-(/)M-(/)D或YYYY-(/)MM-(/)D就替换为'' </span><span>  </span></span></li><li class="alt"><span>    <span class="comment">//数据库中，合法日期可以是:YYYY-MM/DD(2003-3/21),数据库会自动转换为YYYY-MM-DD格式 </span><span>  </span></span></li><li class=""><span>    <span class="keyword">var</span><span> s = sDate.replace(/[\d]{ 4,4 }[\-/]{ 1 }[\d]{ 1,2 }[\-/]{ 1 }[\d]{ 1,2 }/g,</span><span class="string">''</span><span>);   </span></span></li><li class="alt"><span>    <span class="keyword">if</span><span> (s==</span><span class="string">''</span><span>) </span><span class="comment">//说明格式满足YYYY-MM-DD或YYYY-M-DD或YYYY-M-D或YYYY-MM-D </span><span>  </span></span></li><li class=""><span>    {   </span></li><li class="alt"><span>        <span class="keyword">var</span><span> t=</span><span class="keyword">new</span><span> Date(sDate.replace(/\-/g,'/'));   </span></span></li><li class=""><span>        <span class="keyword">var</span><span> ar = sDate.split(/[-/:]/);   </span></span></li><li class="alt"><span>        <span class="keyword">if</span><span>(ar[0] != t.getYear() || ar[1] != t.getMonth()+1 || ar[2] != t.getDate())   </span></span></li><li class=""><span>        {   </span></li><li class="alt"><span>            <span class="comment">//alert('错误的日期格式！格式为：YYYY-MM-DD或YYYY/MM/DD。注意闰年。'); </span><span>  </span></span></li><li class=""><span>            <span class="keyword">return</span><span> </span><span class="keyword">false</span><span>;   </span></span></li><li class="alt"><span>        }   </span></li><li class=""><span>    }   </span></li><li class="alt"><span>    <span class="keyword">else</span><span>   </span></span></li><li class=""><span>    {   </span></li><li class="alt"><span>        <span class="comment">//alert('错误的日期格式！格式为：YYYY-MM-DD或YYYY/MM/DD。注意闰年。'); </span><span>  </span></span></li><li class=""><span>        <span class="keyword">return</span><span> </span><span class="keyword">false</span><span>;   </span></span></li><li class="alt"><span>    }   </span></li><li class=""><span>    <span class="keyword">return</span><span> </span><span class="keyword">true</span><span>;   </span></span></li><li class="alt"><span>}   </span></li><li class=""><span>  </span></li><li class="alt"><span><span class="comment">//+---------------------------------------------------</span><span>  </span></span></li><li class=""><span><span class="comment">//| 日期时间检查</span><span>  </span></span></li><li class="alt"><span><span class="comment">//| 格式为：YYYY-MM-DD HH:MM:SS</span><span>  </span></span></li><li class=""><span><span class="comment">//+---------------------------------------------------</span><span>  </span></span></li><li class="alt"><span><span class="keyword">function</span><span> CheckDateTime(str)  </span></span></li><li class=""><span>{   </span></li><li class="alt"><span>    <span class="keyword">var</span><span> reg = /^(\d+)-(\d{ 1,2 })-(\d{ 1,2 }) (\d{ 1,2 }):(\d{ 1,2 }):(\d{ 1,2 })$/;   </span></span></li><li class=""><span>    <span class="keyword">var</span><span> r = str.match(reg);   </span></span></li><li class="alt"><span>    <span class="keyword">if</span><span>(r==</span><span class="keyword">null</span><span>)</span><span class="keyword">return</span><span> </span><span class="keyword">false</span><span>;   </span></span></li><li class=""><span>    r[2]=r[2]-1;   </span></li><li class="alt"><span>    <span class="keyword">var</span><span> d= </span><span class="keyword">new</span><span> Date(r[1],r[2],r[3],r[4],r[5],r[6]);   </span></span></li><li class=""><span>    <span class="keyword">if</span><span>(d.getFullYear()!=r[1])</span><span class="keyword">return</span><span> </span><span class="keyword">false</span><span>;   </span></span></li><li class="alt"><span>    <span class="keyword">if</span><span>(d.getMonth()!=r[2])</span><span class="keyword">return</span><span> </span><span class="keyword">false</span><span>;   </span></span></li><li class=""><span>    <span class="keyword">if</span><span>(d.getDate()!=r[3])</span><span class="keyword">return</span><span> </span><span class="keyword">false</span><span>;   </span></span></li><li class="alt"><span>    <span class="keyword">if</span><span>(d.getHours()!=r[4])</span><span class="keyword">return</span><span> </span><span class="keyword">false</span><span>;   </span></span></li><li class=""><span>    <span class="keyword">if</span><span>(d.getMinutes()!=r[5])</span><span class="keyword">return</span><span> </span><span class="keyword">false</span><span>;   </span></span></li><li class="alt"><span>    <span class="keyword">if</span><span>(d.getSeconds()!=r[6])</span><span class="keyword">return</span><span> </span><span class="keyword">false</span><span>;   </span></span></li><li class=""><span>    <span class="keyword">return</span><span> </span><span class="keyword">true</span><span>;   </span></span></li><li class="alt"><span>}   </span></li><li class=""><span>  </span></li><li class="alt"><span><span class="comment">//+---------------------------------------------------</span><span>  </span></span></li><li class=""><span><span class="comment">//| 把日期分割成数组</span><span>  </span></span></li><li class="alt"><span><span class="comment">//+---------------------------------------------------</span><span>  </span></span></li><li class=""><span>Date.prototype.toArray = <span class="keyword">function</span><span>()  </span></span></li><li class="alt"><span>{   </span></li><li class=""><span>    <span class="keyword">var</span><span> myDate = </span><span class="keyword">this</span><span>;  </span></span></li><li class="alt"><span>    <span class="keyword">var</span><span> myArray = Array();  </span></span></li><li class=""><span>    myArray[0] = myDate.getFullYear();  </span></li><li class="alt"><span>    myArray[1] = myDate.getMonth();  </span></li><li class=""><span>    myArray[2] = myDate.getDate();  </span></li><li class="alt"><span>    myArray[3] = myDate.getHours();  </span></li><li class=""><span>    myArray[4] = myDate.getMinutes();  </span></li><li class="alt"><span>    myArray[5] = myDate.getSeconds();  </span></li><li class=""><span>    <span class="keyword">return</span><span> myArray;  </span></span></li><li class="alt"><span>}  </span></li><li class=""><span>  </span></li><li class="alt"><span><span class="comment">//+---------------------------------------------------</span><span>  </span></span></li><li class=""><span><span class="comment">//| 取得日期数据信息</span><span>  </span></span></li><li class="alt"><span><span class="comment">//| 参数 interval 表示数据类型</span><span>  </span></span></li><li class=""><span><span class="comment">//| y 年 m月 d日 w星期 ww周 h时 n分 s秒</span><span>  </span></span></li><li class="alt"><span><span class="comment">//+---------------------------------------------------</span><span>  </span></span></li><li class=""><span>Date.prototype.DatePart = <span class="keyword">function</span><span>(interval)  </span></span></li><li class="alt"><span>{   </span></li><li class=""><span>    <span class="keyword">var</span><span> myDate = </span><span class="keyword">this</span><span>;  </span></span></li><li class="alt"><span>    <span class="keyword">var</span><span> partStr=</span><span class="string">''</span><span>;  </span></span></li><li class=""><span>    <span class="keyword">var</span><span> Week = ['日','一','二','三','四','五','六'];  </span></span></li><li class="alt"><span>    <span class="keyword">switch</span><span> (interval)  </span></span></li><li class=""><span>    {   </span></li><li class="alt"><span>        <span class="keyword">case</span><span> 'y' :partStr = myDate.getFullYear();</span><span class="keyword">break</span><span>;  </span></span></li><li class=""><span>        <span class="keyword">case</span><span> 'm' :partStr = myDate.getMonth()+1;</span><span class="keyword">break</span><span>;  </span></span></li><li class="alt"><span>        <span class="keyword">case</span><span> 'd' :partStr = myDate.getDate();</span><span class="keyword">break</span><span>;  </span></span></li><li class=""><span>        <span class="keyword">case</span><span> 'w' :partStr = Week[myDate.getDay()];</span><span class="keyword">break</span><span>;  </span></span></li><li class="alt"><span>        <span class="keyword">case</span><span> 'ww' :partStr = myDate.WeekNumOfYear();</span><span class="keyword">break</span><span>;  </span></span></li><li class=""><span>        <span class="keyword">case</span><span> 'h' :partStr = myDate.getHours();</span><span class="keyword">break</span><span>;  </span></span></li><li class="alt"><span>        <span class="keyword">case</span><span> 'n' :partStr = myDate.getMinutes();</span><span class="keyword">break</span><span>;  </span></span></li><li class=""><span>        <span class="keyword">case</span><span> 's' :partStr = myDate.getSeconds();</span><span class="keyword">break</span><span>;  </span></span></li><li class="alt"><span>    }  </span></li><li class=""><span>    <span class="keyword">return</span><span> partStr;  </span></span></li><li class="alt"><span>}  </span></li><li class=""><span>  </span></li><li class="alt"><span><span class="comment">//+---------------------------------------------------</span><span>  </span></span></li><li class=""><span><span class="comment">//| 取得当前日期所在月的最大天数</span><span>  </span></span></li><li class="alt"><span><span class="comment">//+---------------------------------------------------</span><span>  </span></span></li><li class=""><span>Date.prototype.MaxDayOfDate = <span class="keyword">function</span><span>()  </span></span></li><li class="alt"><span>{   </span></li><li class=""><span>    <span class="keyword">var</span><span> myDate = </span><span class="keyword">this</span><span>;  </span></span></li><li class="alt"><span>    <span class="keyword">var</span><span> ary = myDate.toArray();  </span></span></li><li class=""><span>    <span class="keyword">var</span><span> date1 = (</span><span class="keyword">new</span><span> Date(ary[0],ary[1]+1,1));  </span></span></li><li class="alt"><span>    <span class="keyword">var</span><span> date2 = date1.dateAdd(1,'m',1);  </span></span></li><li class=""><span>    <span class="keyword">var</span><span> result = dateDiff(date1.Format('yyyy-MM-dd'),date2.Format('yyyy-MM-dd'));  </span></span></li><li class="alt"><span>    <span class="keyword">return</span><span> result;  </span></span></li><li class=""><span>}  </span></li><li class="alt"><span>  </span></li><li class=""><span><span class="comment">//+---------------------------------------------------</span><span>  </span></span></li><li class="alt"><span><span class="comment">//| 取得当前日期所在周是一年中的第几周</span><span>  </span></span></li><li class=""><span><span class="comment">//+---------------------------------------------------</span><span>  </span></span></li><li class="alt"><span>Date.prototype.WeekNumOfYear = <span class="keyword">function</span><span>()  </span></span></li><li class=""><span>{   </span></li><li class="alt"><span>    <span class="keyword">var</span><span> myDate = </span><span class="keyword">this</span><span>;  </span></span></li><li class=""><span>    <span class="keyword">var</span><span> ary = myDate.toArray();  </span></span></li><li class="alt"><span>    <span class="keyword">var</span><span> year = ary[0];  </span></span></li><li class=""><span>    <span class="keyword">var</span><span> month = ary[1]+1;  </span></span></li><li class="alt"><span>    <span class="keyword">var</span><span> day = ary[2];  </span></span></li><li class=""><span>    document.write('&lt; script language=VBScript\&gt; \n');  </span></li><li class="alt"><span>    document.write('myDate = DateValue(<span class="string">''</span><span>+month+'-'+day+'-'+year+</span><span class="string">''</span><span>) \n');  </span></span></li><li class=""><span>    document.write('result = DatePart('ww', myDate) \n');  </span></li><li class="alt"><span>    document.write(' \n');  </span></li><li class=""><span>    <span class="keyword">return</span><span> result;  </span></span></li><li class="alt"><span>}  </span></li><li class=""><span>  </span></li><li class="alt"><span><span class="comment">//+---------------------------------------------------</span><span>  </span></span></li><li class=""><span><span class="comment">//| 字符串转成日期类型 </span><span>  </span></span></li><li class="alt"><span><span class="comment">//| 格式 MM/dd/YYYY MM-dd-YYYY YYYY/MM/dd YYYY-MM-dd</span><span>  </span></span></li><li class=""><span><span class="comment">//+---------------------------------------------------</span><span>  </span></span></li><li class="alt"><span><span class="keyword">function</span><span> StringToDate(DateStr)  </span></span></li><li class=""><span>{   </span></li><li class="alt"><span>  </span></li><li class=""><span>    <span class="keyword">var</span><span> converted = Date.parse(DateStr);  </span></span></li><li class="alt"><span>    <span class="keyword">var</span><span> myDate = </span><span class="keyword">new</span><span> Date(converted);  </span></span></li><li class=""><span>    <span class="keyword">if</span><span> (isNaN(myDate))  </span></span></li><li class="alt"><span>    {   </span></li><li class=""><span>        <span class="comment">//var delimCahar = DateStr.indexOf('/')!=-1?'/':'-';</span><span>  </span></span></li><li class="alt"><span>        <span class="keyword">var</span><span> arys= DateStr.split('-');  </span></span></li><li class=""><span>        myDate = <span class="keyword">new</span><span> Date(arys[0],--arys[1],arys[2]);  </span></span></li><li class="alt"><span>    }  </span></li><li class=""><span>    <span class="keyword">return</span><span> myDate;  </span></span></li><li class="alt"><span>}  </span></li></ol></div></td>
								</tr>
						</tbody>
				</table>
		</div>
<img src ="http://www.blogjava.net/balajinima/aggbug/170590.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/balajinima/" target="_blank">李云泽</a> 2007-12-26 14:42 <a href="http://www.blogjava.net/balajinima/articles/170590.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>将多选框选中时打勾的颜色</title><link>http://www.blogjava.net/balajinima/articles/167563.html</link><dc:creator>李云泽</dc:creator><author>李云泽</author><pubDate>Thu, 13 Dec 2007 09:35:00 GMT</pubDate><guid>http://www.blogjava.net/balajinima/articles/167563.html</guid><wfw:comment>http://www.blogjava.net/balajinima/comments/167563.html</wfw:comment><comments>http://www.blogjava.net/balajinima/articles/167563.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/balajinima/comments/commentRss/167563.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/balajinima/services/trackbacks/167563.html</trackback:ping><description><![CDATA[
		<p>&lt;html&gt; <br />&lt;head&gt; <br />&lt;meta http-equiv="Content-Type" content="text/html; charset=gb2312"&gt; <br />&lt;meta http-equiv="Content-Language" content="zh-CN"&gt; <br />&lt;meta name="generator" content="editplus"&gt; <br />&lt;meta name="author" content="dron"&gt; <br />&lt;meta name="keywords" content="dron"&gt; <br />&lt;meta name="description" content="dron"&gt; <br />&lt;style type="text/css"&gt; <br />body <br />{ <br />    font-size:12px; <br />} <br />.checkbox <br />{ <br />    width:12px; <br />    height:12px; <br />    background-image:url(<a href="http://ucren.com/files/WebTex/setCheckbox/images/checkbox.gif">http://ucren.com/files/WebTex/setCheckbox/images/checkbox.gif</a>); <br />    background-color:#fff; <br />    line-height:1px; <br />    font-size:1px; <br />} <br />&lt;/style&gt; <br />&lt;/head&gt; <br />&lt;body&gt; </p>
		<p>&lt;div class="checkbox"&gt;&lt;/div&gt; <br /> <br />&lt;div class="checkbox"&gt;&lt;/div&gt; <br /> <br />&lt;div class="checkbox" checked=true&gt;&lt;/div&gt; <br /> <br />&lt;div class="checkbox"&gt;&lt;/div&gt; <br /> <br />&lt;div class="checkbox" checked=true&gt;&lt;/div&gt; <br /> </p>
		<p>&lt;div&gt;将多选框选中时打勾的颜色设为：&lt;input type="text" size="7" maxlength="7" value="#0000ff" id="colorValue"&gt;&lt;input type="button" value="试试" onclick="setActColor(document.getElementById('colorValue').value)"&gt;（注：颜色值可以自行更改）&lt;/div&gt; </p>
		<p>&lt;script type="text/javascript"&gt; <br />/*******************************************\ <br />  自定义 checkbox 打勾颜色的例子 <br />  This JavaScript was writen by Dron. <br />  @2003-2008 Ucren.com All rights reserved. <br />\*******************************************/ <br />var actColor = "#f00"; <br />var divs = document.getElementsByTagName("div"); <br />for(var i=0;i&lt;divs.length;i++) <br />{ <br />    if(divs[i].className=="checkbox") <br />    { <br />        divs[i].onclick = function() <br />        { <br />            var tempvalue = this.getAttribute("checked") ? '' : true; <br />            this.setAttribute("checked",tempvalue); <br />            return setcheck(); <br />        } <br />    } <br />} <br />function setcheck() <br />{ <br />    var divs = document.getElementsByTagName("div"); <br />    for(var i=0;i&lt;divs.length;i++) <br />    { <br />        if(divs[i].className=="checkbox"&amp;&amp;divs[i].getAttribute("checked")) <br />        { <br />            divs[i].style.backgroundColor = actColor; <br />        } <br />        if(divs[i].className=="checkbox"&amp;&amp;(!divs[i].getAttribute("checked"))) <br />        { <br />            divs[i].style.backgroundColor = "#fff"; <br />        } <br />    } <br />} <br />function setActColor(str) <br />{ <br />    var body = document.body; <br />    try <br />    { <br />        body.style.color = str; <br />        body.style.color = "#000"; <br />    } <br />    catch(e) <br />    { <br />        window.alert("填定了错误的颜色值。"); <br />        return; <br />    } <br />    actColor = str; <br />    return setcheck(); <br />} <br />setcheck(); <br />&lt;/script&gt; <br />&lt;/body&gt; <br />&lt;/html&gt;<br /></p>
<img src ="http://www.blogjava.net/balajinima/aggbug/167563.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/balajinima/" target="_blank">李云泽</a> 2007-12-13 17:35 <a href="http://www.blogjava.net/balajinima/articles/167563.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>漂亮的提示信息（带箭头）</title><link>http://www.blogjava.net/balajinima/articles/167234.html</link><dc:creator>李云泽</dc:creator><author>李云泽</author><pubDate>Wed, 12 Dec 2007 06:53:00 GMT</pubDate><guid>http://www.blogjava.net/balajinima/articles/167234.html</guid><wfw:comment>http://www.blogjava.net/balajinima/comments/167234.html</wfw:comment><comments>http://www.blogjava.net/balajinima/articles/167234.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/balajinima/comments/commentRss/167234.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/balajinima/services/trackbacks/167234.html</trackback:ping><description><![CDATA[&lt;style&gt;<br />.tableBorder7{width:800;solid; background-color: #000000;}<br />TD{font-family: 宋体;font-size: 12px;line-height : 15px ;}<br />th{background-color: #f7f7f7;color: #000000;font-size: 12px;font-weight:bold;}<br />th.th1{background-color: #333333;}<br />td.TableBody7{background-color: #B1EA45;}<br />&lt;/style&gt;<br />&lt;script language="JavaScript"&gt;<br />//more javascript from <a href="http://www.51it.org">http://www.51it.org</a><br />&lt;!--<br />var pltsPop=null;<br />var pltsoffsetX = 10;   // 弹出窗口位于鼠标左侧或者右侧的距离；3-12 合适<br />var pltsoffsetY = 15;  // 弹出窗口位于鼠标下方的距离；3-12 合适<br />var pltsPopbg="#FFFFEE"; //背景色<br />var pltsPopfg="#111111"; //前景色<br />var pltsTitle="";<br />document.write('&lt;div id=pltsTipLayer style="display: none;position: absolute; z-index:10001"&gt;&lt;/div&gt;');<br />function pltsinits()<br />{<br />    document.onmouseover   = plts;<br />    document.onmousemove = moveToMouseLoc;<br />}<br />function plts()<br />{  var o=event.srcElement;<br />    if(o.alt!=null &amp;&amp; o.alt!=""){o.dypop=o.alt;o.alt=""};<br />    if(o.title!=null &amp;&amp; o.title!=""){o.dypop=o.title;o.title=""};<br />    pltsPop=o.dypop;<br />    if(pltsPop!=null&amp;&amp;pltsPop!=""&amp;&amp;typeof(pltsPop)!="undefined")<br />    {<br />       pltsTipLayer.style.left=-1000;<br />       pltsTipLayer.style.display='';<br />       var Msg=pltsPop.replace(/\n/g,"&lt;br&gt;");<br />       Msg=Msg.replace(/\0x13/g,"&lt;br&gt;");<br />       var re=/\{(.[^\{]*)\}/ig;<br />       if(!re.test(Msg))pltsTitle="&lt;font color=#ffffff&gt;简介&lt;/font&gt;";<br />       else{<br />         re=/\{(.[^\{]*)\}(.*)/ig;<br />           pltsTitle=Msg.replace(re,"$1")+" ";<br />         re=/\{(.[^\{]*)\}/ig;<br />         Msg=Msg.replace(re,"");<br />         Msg=Msg.replace("&lt;br&gt;","");}<br />         //var attr=(document.location.toString().toLowerCase().indexOf("list.asp")&gt;0?"nowrap":"");<br />              var content =<br />             '&lt;table style="FILTER:alpha(opacity=90) shadow(color=#bbbbbb,direction=135);" id=toolTipTalbe border=0&gt;&lt;tr&gt;&lt;td width="100%"&gt;&lt;table class=tableBorder7 cellspacing="1" cellpadding="0" style="width:100%"&gt;'+<br />             '&lt;tr id=pltsPoptop &gt;&lt;th height=18 valign=bottom class=th1 &gt;&lt;b&gt;&lt;p id=topleft align=left&gt;&lt;font color=#ffffff&gt;↖&lt;/font&gt;'+pltsTitle+'&lt;/p&gt;&lt;p id=topright align=right style="display:none"&gt;'+pltsTitle+'&lt;font color=#ffffff&gt;↗&lt;/font&gt;&lt;/b&gt;&lt;/th&gt;&lt;/tr&gt;'+<br />             '&lt;tr&gt;&lt;td "+attr+" class=tablebody7 style="padding-left:14px;padding-right:14px;padding-top: 6px;padding-bottom:6px;line-height:135%"&gt;'+Msg+'&lt;/td&gt;&lt;/tr&gt;'+<br />             '&lt;tr id=pltsPopbot style="display:none"&gt;&lt;th height=18 valign=bottom class=th1&gt;&lt;b&gt;&lt;p id=botleft align=left&gt;&lt;font color=#ffffff&gt;↙&lt;/font&gt;'+pltsTitle+'&lt;/p&gt;&lt;p id=botright align=right style="display:none"&gt;'+pltsTitle+'&lt;font color=#ffffff&gt;↘&lt;/font&gt;&lt;/b&gt;&lt;/th&gt;&lt;/tr&gt;'+<br />             '&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;';<br />              pltsTipLayer.innerHTML=content;<br />              toolTipTalbe.style.width=Math.min(pltsTipLayer.clientWidth,document.body.clientWidth/2.2);<br />              moveToMouseLoc();<br />              return true;<br />       }<br />    else<br />    {<br />           pltsTipLayer.innerHTML='';<br />             pltsTipLayer.style.display='none';<br />              return true;<br />    }<br />}<br />function moveToMouseLoc()<br />{<br />       if(pltsTipLayer.innerHTML=='')return true;<br />       var MouseX=event.x;<br />       var MouseY=event.y;<br />       //window.status=event.y;<br />       var popHeight=pltsTipLayer.clientHeight;<br />       var popWidth=pltsTipLayer.clientWidth;<br />       if(MouseY+pltsoffsetY+popHeight&gt;document.body.clientHeight)<br />       {<br />                popTopAdjust=-popHeight-pltsoffsetY*1.5;<br />                pltsPoptop.style.display="none";<br />                pltsPopbot.style.display="";<br />       }<br />        else<br />       {<br />                 popTopAdjust=0;<br />                pltsPoptop.style.display="";<br />                pltsPopbot.style.display="none";<br />       }<br />       if(MouseX+pltsoffsetX+popWidth&gt;document.body.clientWidth)<br />       {<br />              popLeftAdjust=-popWidth-pltsoffsetX*2;<br />              topleft.style.display="none";<br />              botleft.style.display="none";<br />              topright.style.display="";<br />              botright.style.display="";<br />       }<br />       else<br />       {<br />              popLeftAdjust=0;<br />              topleft.style.display="";<br />              botleft.style.display="";<br />              topright.style.display="none";<br />              botright.style.display="none";<br />       }<br />       pltsTipLayer.style.left=MouseX+pltsoffsetX+document.body.scrollLeft+popLeftAdjust;<br />       pltsTipLayer.style.top=MouseY+pltsoffsetY+document.body.scrollTop+popTopAdjust;<br />         return true;<br />}<br />pltsinits();<br />//--&gt;<br />&lt;/script&gt;<br />&lt;/HEAD&gt;<br />&lt;BODY&gt;<br />&lt;div title="醉别西楼醒不记，春梦秋云，聚散真容易。&lt;br&gt;斜月半窗还少睡。画屏闲展吴山翠。&lt;br&gt;衣上酒痕诗里字，点点行行，总是凄凉意。&lt;br&gt;红烛自怜无好计，夜寒空替人垂泪。"&gt;蝶恋花&lt;/div&gt;<br />&lt;/BODY&gt;<br />&lt;/HTML&gt;<img src ="http://www.blogjava.net/balajinima/aggbug/167234.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/balajinima/" target="_blank">李云泽</a> 2007-12-12 14:53 <a href="http://www.blogjava.net/balajinima/articles/167234.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>js最大化窗口</title><link>http://www.blogjava.net/balajinima/articles/159335.html</link><dc:creator>李云泽</dc:creator><author>李云泽</author><pubDate>Fri, 09 Nov 2007 04:46:00 GMT</pubDate><guid>http://www.blogjava.net/balajinima/articles/159335.html</guid><wfw:comment>http://www.blogjava.net/balajinima/comments/159335.html</wfw:comment><comments>http://www.blogjava.net/balajinima/articles/159335.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/balajinima/comments/commentRss/159335.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/balajinima/services/trackbacks/159335.html</trackback:ping><description><![CDATA[
		<p>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "<a href="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd</a>"&gt;<br />&lt;html xmlns="<a href="http://www.w3.org/1999/xhtml">http://www.w3.org/1999/xhtml</a>"&gt;<br />&lt;head&gt;<br />&lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8" /&gt;<br />&lt;title&gt;无标题文档&lt;/title&gt;<br />&lt;script&gt;<br />window.onload=function()<br />{<br />window.moveTo(0,0) ;<br />window.resizeTo(screen.availWidth,screen.availHeight); //窗口最大化<br />//window.resizeTo(table1.clientWidth,table1.clientHeight);//窗口和表格的宽高同<br />}<br />&lt;/script&gt;</p>
		<p>&lt;/head&gt;</p>
		<p>&lt;body&gt;<br />&lt;table  id="table1"width="800" height="900" border="1"&gt;<br />  &lt;tr&gt;<br />    &lt;td&gt;&amp;nbsp;&lt;/td&gt;<br />    &lt;td&gt;&amp;nbsp;&lt;/td&gt;<br />    &lt;td&gt;&amp;nbsp;&lt;/td&gt;<br />  &lt;/tr&gt;<br />  &lt;tr&gt;<br />    &lt;td&gt;&amp;nbsp;&lt;/td&gt;<br />    &lt;td&gt;&amp;nbsp;&lt;/td&gt;<br />    &lt;td&gt;&amp;nbsp;&lt;/td&gt;<br />  &lt;/tr&gt;<br />  &lt;tr&gt;<br />    &lt;td&gt;&amp;nbsp;&lt;/td&gt;<br />    &lt;td&gt;&amp;nbsp;&lt;/td&gt;<br />    &lt;td&gt;&amp;nbsp;&lt;/td&gt;<br />  &lt;/tr&gt;<br />&lt;/table&gt;<br />&lt;/body&gt;<br />&lt;/html&gt;<br /></p>
<img src ="http://www.blogjava.net/balajinima/aggbug/159335.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/balajinima/" target="_blank">李云泽</a> 2007-11-09 12:46 <a href="http://www.blogjava.net/balajinima/articles/159335.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>window.showModalDialog 简介 </title><link>http://www.blogjava.net/balajinima/articles/158789.html</link><dc:creator>李云泽</dc:creator><author>李云泽</author><pubDate>Wed, 07 Nov 2007 04:58:00 GMT</pubDate><guid>http://www.blogjava.net/balajinima/articles/158789.html</guid><wfw:comment>http://www.blogjava.net/balajinima/comments/158789.html</wfw:comment><comments>http://www.blogjava.net/balajinima/articles/158789.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/balajinima/comments/commentRss/158789.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/balajinima/services/trackbacks/158789.html</trackback:ping><description><![CDATA[
		<u>
				<font color="#800080">window.showModalDialog 简介 </font>
		</u>   <span title="文章指数:19"><img src="http://blog.csdn.net/images/star_half.gif" border="0" /></span>  <img title="CSDN Blog推出文章指数概念，文章指数是对Blog文章综合评分后推算出的，综合评分项分别是该文章的点击量，回复次数，被网摘收录数量，文章长度和文章类型；满分100，每月更新一次。" alt="CSDN Blog推出文章指数概念，文章指数是对Blog文章综合评分后推算出的，综合评分项分别是该文章的点击量，回复次数，被网摘收录数量，文章长度和文章类型；满分100，每月更新一次。" src="http://blog.csdn.net/images/ask.gif" border="0" /><div class="postText">基本介绍：<br />showModalDialog() (IE 4+ 支持)<br />showModelessDialog() (IE 5+ 支持)<br />window.showModalDialog()方法用来创建一个显示HTML内容的模态对话框。<br />window.showModelessDialog()方法用来创建一个显示HTML内容的非模态对话框。<br /><br />使用方法： 
<div class="code">vReturnValue = window.showModalDialog(sURL [, vArguments] [,sFeatures])<br />vReturnValue = window.showModelessDialog(sURL [, vArguments] [,sFeatures])</div><br />参数说明：<br />sURL--<br />必选参数，类型：字符串。用来指定对话框要显示的文档的URL。<br />vArguments--<br />可选参数，类型：变体。用来向对话框传递参数。传递的参数类型不限，包括数组等。对话框通过window.dialogArguments来取得传递进来的参数。<br />sFeatures--<br />可选参数，类型：字符串。用来描述对话框的外观等信息，可以使用以下的一个或几个，用分号“;”隔开。<br />1.dialogHeight :对话框高度，不小于１００px，ＩＥ４中dialogHeight 和 dialogWidth 默认的单位是em，而ＩＥ５中是px，为方便其见，在定义modal方式的对话框时，用px做单位。<br />2.dialogWidth: 对话框宽度。<br />3.dialogLeft: 离屏幕左的距离。<br />4.dialogTop: 离屏幕上的距离。<br />5.center: {yes | no | 1 | 0 }：窗口是否居中，默认yes，但仍可以指定高度和宽度。<br />6.help: {yes | no | 1 | 0 }：是否显示帮助按钮，默认yes。<br />7.resizable: {yes | no | 1 | 0 } ［ＩＥ５＋］：是否可被改变大小。默认no。<br />8.status: {yes | no | 1 | 0 } ［IE5+］：是否显示状态栏。默认为yes[ Modeless]或no[Modal]。<br />9.scroll:{ yes | no | 1 | 0 | on | off }：指明对话框是否显示滚动条。默认为yes。<br />下面几个属性是用在HTA中的，在一般的网页中一般不使用。<br />10.dialogHide:{ yes | no | 1 | 0 | on | off }：在打印或者打印预览时对话框是否隐藏。默认为no。<br />11.edge:{ sunken | raised }：指明对话框的边框样式。默认为raised。<br />12.unadorned:{ yes | no | 1 | 0 | on | off }：默认为no。<br /><br />参数传递：<br />1.要想对话框传递参数，是通过vArguments来进行传递的。类型不限制，对于字符串类型，最大为4096个字符。也可以传递对象，例如：<br />-------------------------------<br />parent.htm 
<div class="code">&lt;script&gt;<br />var obj = new Object();<br />obj.name="i5tt";<br />window.showModalDialog("modal.htm",obj,"dialogWidth=200px;dialogHeight=100px");<br />&lt;/script&gt;<br />modal.htm<br />&lt;script&gt;<br />var obj = window.dialogArguments<br />alert("您传递的参数为：" + obj.name)<br />&lt;/script&gt;</div>-------------------------------<br />2.可以通过window.returnValue向打开对话框的窗口返回信息，当然也可以是对象。例如：<br />------------------------------<br />parent.htm 
<div class="code">&lt;script&gt;<br />str =window.showModalDialog("modal.htm",,"dialogWidth=200px;dialogHeight=100px");<br />alert(str);<br />&lt;/script&gt;<br />modal.htm<br />&lt;script&gt;<br />window.returnValue="http://www.i5tt.com";<br />&lt;/script&gt;</div></div><img src ="http://www.blogjava.net/balajinima/aggbug/158789.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/balajinima/" target="_blank">李云泽</a> 2007-11-07 12:58 <a href="http://www.blogjava.net/balajinima/articles/158789.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>深入认识JavaScript中的函数</title><link>http://www.blogjava.net/balajinima/articles/157686.html</link><dc:creator>李云泽</dc:creator><author>李云泽</author><pubDate>Fri, 02 Nov 2007 02:50:00 GMT</pubDate><guid>http://www.blogjava.net/balajinima/articles/157686.html</guid><wfw:comment>http://www.blogjava.net/balajinima/comments/157686.html</wfw:comment><comments>http://www.blogjava.net/balajinima/articles/157686.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/balajinima/comments/commentRss/157686.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/balajinima/services/trackbacks/157686.html</trackback:ping><description><![CDATA[
		<div class="tit"> </div>
		<table style="TABLE-LAYOUT: fixed">
				<tbody>
						<tr>
								<td>
										<div class="cnt">
												<p>概述<br />函数是进行模块化程序设计的基础，编写复杂的Ajax应用程序，必须对函数有更深入的了解。JavaScript中的函数不同于其他的语言，每个函数都是作为一个对象被维护和运行的。通过函数对象的性质，可以很方便的将一个函数赋值给一个变量或者将函数作为参数传递。在继续讲述之前，先看一下函数的使用语法：<br />function func1(…){…}<br />var func2=function(…){…};<br />var func3=function func4(…){…};<br />var func5=new Function();<br />这些都是声明函数的正确语法。它们和其他语言中常见的函数或之前介绍的函数定义方式有着很大的区别。那么在JavaScript中为什么能这么写？它所遵循的语法是什么呢？下面将介绍这些内容。<br />认识函数对象（Function Object）<br />可以用function关键字定义一个函数，并为每个函数指定一个函数名，通过函数名来进行调用。在JavaScript解释执行时，函数都是被维护为一个对象，这就是要介绍的函数对象（Function Object）。<br />函数对象与其他用户所定义的对象有着本质的区别，这一类对象被称之为内部对象，例如日期对象（Date）、数组对象（Array）、字符串对象（String）都属于内部对象。这些内置对象的构造器是由JavaScript本身所定义的：通过执行new Array()这样的语句返回一个对象，JavaScript内部有一套机制来初始化返回的对象，而不是由用户来指定对象的构造方式。<br />在JavaScript中，函数对象对应的类型是Function，正如数组对象对应的类型是Array，日期对象对应的类型是Date一样，可以通过new Function()来创建一个函数对象，也可以通过function关键字来创建一个对象。为了便于理解，我们比较函数对象的创建和数组对象的创建。先看数组对象：下面两行代码都是创建一个数组对象myArray：<br />var myArray=[];<br />//等价于<br />var myArray=new Array();<br />同样，下面的两段代码也都是创建一个函数myFunction：<br />function myFunction(a,b){<br />        return a+b;<br />}<br />//等价于<br />var myFunction=new Function("a","b","return a+b");<br />通过和构造数组对象语句的比较，可以清楚的看到函数对象本质，前面介绍的函数声明是上述代码的第一种方式，而在解释器内部，当遇到这种语法时，就会自动构造一个Function对象，将函数作为一个内部的对象来存储和运行。从这里也可以看到，一个函数对象名称（函数变量）和一个普通变量名称具有同样的规范，都可以通过变量名来引用这个变量，但是函数变量名后面可以跟上括号和参数列表来进行函数调用。<br />用new Function()的形式来创建一个函数不常见，因为一个函数体通常会有多条语句，如果将它们以一个字符串的形式作为参数传递，代码的可读性差。下面介绍一下其使用语法：<br />var funcName=new Function(p1,p2,...,pn,body);<br />参数的类型都是字符串，p1到pn表示所创建函数的参数名称列表，body表示所创建函数的函数体语句，funcName就是所创建函数的名称。可以不指定任何参数创建一个空函数，不指定funcName创建一个无名函数，当然那样的函数没有任何意义。<br />需要注意的是，p1到pn是参数名称的列表，即p1不仅能代表一个参数，它也可以是一个逗号隔开的参数列表，例如下面的定义是等价的：<br />new Function("a", "b", "c", "return a+b+c")<br />new Function("a, b, c", "return a+b+c")<br />new Function("a,b", "c", "return a+b+c")<br />JavaScript引入Function类型并提供new Function()这样的语法是因为函数对象添加属性和方法就必须借助于Function这个类型。<br />函数的本质是一个内部对象，由JavaScript解释器决定其运行方式。通过上述代码创建的函数，在程序中可以使用函数名进行调用。本节开头列出的函数定义问题也得到了解释。注意可直接在函数声明后面加上括号就表示创建完成后立即进行函数调用，例如：<br />var i=function (a,b){<br />         return a+b;<br />}(1,2);<br />alert(i);<br />这段代码会显示变量i的值等于3。i是表示返回的值，而不是创建的函数，因为括号“(”比等号“=”有更高的优先级。这样的代码可能并不常用，但当用户想在很长的代码段中进行模块化设计或者想避免命名冲突，这是一个不错的解决办法。<br />需要注意的是，尽管下面两种创建函数的方法是等价的：<br />function funcName(){<br />         //函数体<br />}<br />//等价于<br />var funcName=function(){<br />         //函数体<br />}<br />但前面一种方式创建的是有名函数，而后面是创建了一个无名函数，只是让一个变量指向了这个无名函数。在使用上仅有一点区别，就是：对于有名函数，它可以出现在调用之后再定义；而对于无名函数，它必须是在调用之前就已经定义。例如：<br />&lt;script language="JavaScript" type="text/javascript"&gt;<br />&lt;!--<br />func();<br />var func=function(){<br />         alert(1)<br />}<br />//--&gt;<br />&lt;/script&gt;<br />这段语句将产生func未定义的错误，而：<br />&lt;script language="JavaScript" type="text/javascript"&gt;<br />&lt;!--<br />func();<br />function func(){<br />        alert(1)<br />}<br />//--&gt;<br />&lt;/script&gt;<br />则能够正确执行，下面的语句也能正确执行：<br />&lt;script language="JavaScript" type="text/javascript"&gt;<br />&lt;!--<br />func();<br />var someFunc=function func(){<br />        alert(1)<br />}<br />//--&gt;<br />&lt;/script&gt;<br />由此可见，尽管JavaScript是一门解释型的语言，但它会在函数调用时，检查整个代码中是否存在相应的函数定义，这个函数名只有是通过function funcName()形式定义的才会有效，而不能是匿名函数。<br />函数对象和其他内部对象的关系<br />除了函数对象，还有很多内部对象，比如：Object、Array、Date、RegExp、Math、Error。这些名称实际上表示一个类型，可以通过new操作符返回一个对象。然而函数对象和其他对象不同，当用typeof得到一个函数对象的类型时，它仍然会返回字符串“function”，而typeof一个数组对象或其他的对象时，它会返回字符串“object”。下面的代码示例了typeof不同类型的情况：<br />alert(typeof(Function)));<br />alert(typeof(new Function()));<br />alert(typeof(Array));<br />alert(typeof(Object));<br />alert(typeof(new Array()));<br />alert(typeof(new Date()));<br />alert(typeof(new Object()));<br />运行这段代码可以发现：前面4条语句都会显示“function”，而后面3条语句则显示“object”，可见new一个function实际上是返回一个函数。这与其他的对象有很大的不同。其他的类型Array、Object等都会通过new操作符返回一个普通对象。尽管函数本身也是一个对象，但它与普通的对象还是有区别的，因为它同时也是对象构造器，也就是说，可以new一个函数来返回一个对象，这在前面已经介绍。所有typeof返回“function”的对象都是函数对象。也称这样的对象为构造器（constructor），因而，所有的构造器都是对象，但不是所有的对象都是构造器。<br />既然函数本身也是一个对象，它们的类型是function，联想到C++、Java等面向对象语言的类定义，可以猜测到Function类型的作用所在，那就是可以给函数对象本身定义一些方法和属性，借助于函数的prototype对象，可以很方便地修改和扩充Function类型的定义，例如下面扩展了函数类型Function，为其增加了method1方法，作用是弹出对话框显示"function"：<br />Function.prototype.method1=function(){<br />        alert("function");<br />}<br />function func1(a,b,c){<br />        return a+b+c;<br />}<br />func1.method1();<br />func1.method1.method1();<br />注意最后一个语句：func1.method1.mehotd1()，它调用了method1这个函数对象的method1方法。虽然看上去有点容易混淆，但仔细观察一下语法还是很明确的：这是一个递归的定义。因为method1本身也是一个函数，所以它同样具有函数对象的属性和方法，所有对Function类型的方法扩充都具有这样的递归性质。<br />Function是所有函数对象的基础，而Object则是所有对象（包括函数对象）的基础。在JavaScript中，任何一个对象都是Object的实例，因此，可以修改Object这个类型来让所有的对象具有一些通用的属性和方法，修改Object类型是通过prototype来完成的：<br />Object.prototype.getType=function(){<br />         return typeof(this);<br />}<br />var array1=new Array();<br />function func1(a,b){<br />        return a+b;<br />}<br />alert(array1.getType());<br />alert(func1.getType());<br />上面的代码为所有的对象添加了getType方法，作用是返回该对象的类型。两条alert语句分别会显示“object”和“function”。<br />将函数作为参数传递<br />在前面已经介绍了函数对象本质，每个函数都被表示为一个特殊的对象，可以方便的将其赋值给一个变量，再通过这个变量名进行函数调用。作为一个变量，它可以以参数的形式传递给另一个函数，这在前面介绍JavaScript事件处理机制中已经看到过这样的用法，例如下面的程序将func1作为参数传递给func2：<br />function func1(theFunc){<br />        theFunc();<br />}<br />function func2(){<br />        alert("ok");<br />}<br />func1(func2);<br />在最后一条语句中，func2作为一个对象传递给了func1的形参theFunc，再由func1内部进行theFunc的调用。事实上，将函数作为参数传递，或者是将函数赋值给其他变量是所有事件机制的基础。<br />例如，如果需要在页面载入时进行一些初始化工作，可以先定义一个init的初始化函数，再通过window.onload=init;语句将其绑定到页面载入完成的事件。这里的init就是一个函数对象，它可以加入window的onload事件列表。<br />传递给函数的隐含参数：arguments<br />当进行函数调用时，除了指定的参数外，还创建一个隐含的对象——arguments。arguments是一个类似数组但不是数组的对象，说它类似是因为它具有数组一样的访问性质，可以用arguments[index]这样的语法取值，拥有数组长度属性length。arguments对象存储的是实际传递给函数的参数，而不局限于函数声明所定义的参数列表，例如：<br />function func(a,b){<br />       alert(a);<br />       alert(b);<br />       for(var i=0;i&lt;arguments.length;i++){<br />             alert(arguments[i]);<br />       }<br />}<br />func(1,2,3);<br />代码运行时会依次显示：1，2，1，2，3。因此，在定义函数的时候，即使不指定参数列表，仍然可以通过arguments引用到所获得的参数，这给编程带来了很大的灵活性。arguments对象的另一个属性是callee，它表示对函数对象本身的引用，这有利于实现无名函数的递归或者保证函数的封装性，例如使用递归来计算1到n的自然数之和：<br />var sum=function(n){<br />        if(1==n)return 1;<br />        else return n+sum(n-1);<br />}<br />alert(sum(100));<br />其中函数内部包含了对sum自身的调用，然而对于JavaScript来说，函数名仅仅是一个变量名，在函数内部调用sum即相当于调用一个全局变量，不能很好的体现出是调用自身，所以使用arguments.callee属性会是一个较好的办法：<br />var sum=function(n){<br />        if(1==n)return 1;<br />        else return n+arguments.callee(n-1);<br />}<br />alert(sum(100));<br />callee属性并不是arguments不同于数组对象的惟一特征，下面的代码说明了arguments不是由Array类型创建：<br />Array.prototype.p1=1;<br />alert(new Array().p1);<br />function func(){<br />         alert(arguments.p1);<br />}<br />func();<br />运行代码可以发现，第一个alert语句显示为1，即表示数组对象拥有属性p1，而func调用则显示为“undefined”，即p1不是arguments的属性，由此可见，arguments并不是一个数组对象。<br />函数的apply、call方法和length属性<br />JavaScript为函数对象定义了两个方法：apply和call，它们的作用都是将函数绑定到另外一个对象上去运行，两者仅在定义参数的方式有所区别：<br />Function.prototype.apply(thisArg,argArray);<br />Function.prototype.call(thisArg[,arg1[,arg2…]]);<br />从函数原型可以看到，第一个参数都被取名为thisArg，即所有函数内部的this指针都会被赋值为thisArg，这就实现了将函数作为另外一个对象的方法运行的目的。两个方法除了thisArg参数，都是为Function对象传递的参数。下面的代码说明了apply和call方法的工作方式：<br />//定义一个函数func1，具有属性p和方法A<br />function func1(){<br />        this.p="func1-";<br />        this.A=function(arg){<br />              alert(this.p+arg);<br />        }<br />}<br />//定义一个函数func2，具有属性p和方法B<br />function func2(){<br />        this.p="func2-";<br />        this.B=function(arg){<br />               alert(this.p+arg);<br />        }<br />}<br />var obj1=new func1();<br />var obj2=new func2();<br />obj1.A("byA");      //显示func1-byA<br />obj2.B("byB");      //显示func2-byB<br />obj1.A.apply(obj2,["byA"]); //显示func2-byA，其中[“byA”]是仅有一个元素的数组，下同<br />obj2.B.apply(obj1,["byB"]); //显示func1-byB<br />obj1.A.call(obj2,"byA");    //显示func2-byA<br />obj2.B.call(obj1,"byB");    //显示func1-byB<br />可以看出，obj1的方法A被绑定到obj2运行后，整个函数A的运行环境就转移到了obj2，即this指针指向了obj2。同样obj2的函数B也可以绑定到obj1对象去运行。代码的最后4行显示了apply和call函数参数形式的区别。<br />与arguments的length属性不同，函数对象还有一个属性length，它表示函数定义时所指定参数的个数，而非调用时实际传递的参数个数。例如下面的代码将显示2：<br />function sum(a,b){<br />        return a+b;<br />}<br />alert(sum.length);</p>
												<p>深入认识JavaScript中的this指针<br />this指针是面向对象程序设计中的一项重要概念，它表示当前运行的对象。在实现对象的方法时，可以使用this指针来获得该对象自身的引用。<br />和其他面向对象的语言不同，JavaScript中的this指针是一个动态的变量，一个方法内的this指针并不是始终指向定义该方法的对象的，在上一节讲函数的apply和call方法时已经有过这样的例子。为了方便理解，再来看下面的例子：<br />&lt;script language="JavaScript" type="text/javascript"&gt;<br />&lt;!--<br />//创建两个空对象<br />var obj1=new Object();<br />var obj2=new Object();<br />//给两个对象都添加属性p，并分别等于1和2<br />obj1.p=1;<br />obj2.p=2;<br />//给obj1添加方法，用于显示p的值<br />obj1.getP=function(){<br />        alert(this.p); //表面上this指针指向的是obj1<br />}<br />//调用obj1的getP方法<br />obj1.getP();<br />//使obj2的getP方法等于obj1的getP方法<br />obj2.getP=obj1.getP;<br />//调用obj2的getP方法<br />obj2.getP();<br />//--&gt;<br />&lt;/script&gt;<br />从代码的执行结果看，分别弹出对话框显示1和2。由此可见，getP函数仅定义了一次，在不同的场合运行，显示了不同的运行结果，这是有this指针的变化所决定的。在obj1的getP方法中，this就指向了obj1对象，而在obj2的getP方法中，this就指向了obj2对象，并通过this指针引用到了两个对象都具有的属性p。<br />由此可见，JavaScript中的this指针是一个动态变化的变量，它表明了当前运行该函数的对象。由this指针的性质，也可以更好的理解JavaScript中对象的本质：一个对象就是由一个或多个属性（方法）组成的集合。每个集合元素不是仅能属于一个集合，而是可以动态的属于多个集合。这样，一个方法（集合元素）由谁调用，this指针就指向谁。实际上，前面介绍的apply方法和call方法都是通过强制改变this指针的值来实现的，使this指针指向参数所指定的对象，从而达到将一个对象的方法作为另一个对象的方法运行。<br />每个对象集合的元素（即属性或方法）也是一个独立的部分，全局函数和作为一个对象方法定义的函数之间没有任何区别，因为可以把全局函数和变量看作为window对象的方法和属性。也可以使用new操作符来操作一个对象的方法来返回一个对象，这样一个对象的方法也就可以定义为类的形式，其中的this指针则会指向新创建的对象。在后面可以看到，这时对象名可以起到一个命名空间的作用，这是使用JavaScript进行面向对象程序设计的一个技巧。例如：<br />var namespace1=new Object();<br />namespace1.class1=function(){<br />       //初始化对象的代码<br />}<br />var obj1=new namespace1.class1();<br />这里就可以把namespace1看成一个命名空间。<br />由于对象属性（方法）的动态变化特性，一个对象的两个属性（方法）之间的互相引用，必须要通过this指针，而其他语言中，this关键字是可以省略的。如上面的例子中：<br />obj1.getP=function(){<br />        alert(this.p); //表面上this指针指向的是obj1<br />}<br />这里的this关键字是不可省略的，即不能写成alert(p)的形式。这将使得getP函数去引用上下文环境中的p变量，而不是obj1的属性。</p>
										</div>
								</td>
						</tr>
				</tbody>
		</table>
<img src ="http://www.blogjava.net/balajinima/aggbug/157686.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/balajinima/" target="_blank">李云泽</a> 2007-11-02 10:50 <a href="http://www.blogjava.net/balajinima/articles/157686.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>javascript常用整理</title><link>http://www.blogjava.net/balajinima/articles/157672.html</link><dc:creator>李云泽</dc:creator><author>李云泽</author><pubDate>Fri, 02 Nov 2007 02:32:00 GMT</pubDate><guid>http://www.blogjava.net/balajinima/articles/157672.html</guid><wfw:comment>http://www.blogjava.net/balajinima/comments/157672.html</wfw:comment><comments>http://www.blogjava.net/balajinima/articles/157672.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/balajinima/comments/commentRss/157672.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/balajinima/services/trackbacks/157672.html</trackback:ping><description><![CDATA[
		<div class="tit"> </div>
		<table style="TABLE-LAYOUT: fixed">
				<tbody>
						<tr>
								<td>
										<div class="cnt">
												<font size="2">1.document.write(""); 输出语句<br />2.JS中的注释为//<br />3.传统的HTML文档顺序是:document-&gt;html-&gt;(head,body)<br />4.一个浏览器窗口中的DOM顺序是:window-&gt;(navigator,screen,history,location,document)<br />5.得到表单中元素的名称和值:document.getElementById("表单中元素的ID号").name(或value)<br />6.一个小写转大写的JS: document.getElementById("output").value = document.getElementById("input").value.toUpperCase();<br />7.JS中的值类型:String,Number,Boolean,Null,Object,Function<br />8.JS中的字符型转换成数值型:parseInt(),parseFloat()<br />9.JS中的数字转换成字符型:(""+变量)<br />10.JS中的取字符串长度是:(length)<br />11.JS中的字符与字符相连接使用+号.<br />12.JS中的比较操作符有:==等于,!=不等于,&gt;,&gt;=,&lt;.&lt;=<br />13.JS中声明变量使用:var来进行声明<br />14.JS中的判断语句结构:if(condition){}else{}<br />15.JS中的循环结构:for([initial expression];[condition];[upadte expression]) {inside loop}<br />16.循环中止的命令是:break<br />17.JS中的函数定义:function functionName([parameter],...){statement[s]}<br />18.当文件中出现多个form表单时.可以用document.forms[0],document.forms[1]来代替.<br />19.窗口:打开窗口window.open(), 关闭一个窗口:window.close(), 窗口本身:self<br />20.状态栏的设置:window.status="字符";<br />21.弹出提示信息:window.alert("字符");<br />22.弹出确认框:window.confirm();<br />23.弹出输入提示框:window.prompt();<br />24.指定当前显示链接的位置:window.location.href="URL"<br />25.取出窗体中的所有表单的数量:document.forms.length<br />26.关闭文档的输出流:document.close();<br />27.字符串追加连接符:+=<br />28.创建一个文档元素:document.createElement(),document.createTextNode()<br />29.得到元素的方法:document.getElementById()<br />30.设置表单中所有文本型的成员的值为空:<br />var form = window.document.forms[0]<br />for (var i = 0; i&lt;form.elements.length;i++){<br />   if (form.elements.type == "text"){<br />       form.elements.value = "";<br />   }<br />}<br />31.复选按钮在JS中判断是否选中:document.forms[0].checkThis.checked (checked属性代表为是否选中返回TRUE或FALSE)<br />32.单选按钮组(单选按钮的名称必须相同):取单选按钮组的长度document.forms[0].groupName.length<br />33.单选按钮组判断是否被选中也是用checked.<br />34.下拉列表框的值:document.forms[0].selectName.options[n].value (n有时用下拉列表框名称加上.selectedIndex来确定被选中的值)<br />35.字符串的定义:var myString = new String("This is lightsword");<br />36.字符串转成大写:string.toUpperCase(); 字符串转成小写:string.toLowerCase();<br />37.返回字符串2在字符串1中出现的位置:String1.indexOf("String2")!=-1则说明没找到.<br />38.取字符串中指定位置的一个字符:StringA.charAt(9);<br />39.取出字符串中指定起点和终点的子字符串:stringA.substring(2,6);<br />40.数学函数:Math.PI(返回圆周率),Math.SQRT2(返回开方),Math.max(value1,value2)返回两个数中的最在值,Math.pow(value1,10)返回value1的十次方,Math.round(value1)四舍五入函数,Math.floor(Math.random()*(n+1))返回随机数<br />41.定义日期型变量:var today = new Date();<br />42.日期函数列表:dateObj.getTime()得到时间,dateObj.getYear()得到年份,dateObj.getFullYear()得到四位的年份,dateObj.getMonth()得到月份,dateObj.getDate()得到日,dateObj.getDay()得到日期几,dateObj.getHours()得到小时,dateObj.getMinutes()得到分,dateObj.getSeconds()得到秒,dateObj.setTime(value)设置时间,dateObj.setYear(val)设置年,dateObj.setMonth(val)设置月,dateObj.setDate(val)设置日,dateObj.setDay(val)设置星期几,dateObj.setHours设置小时,dateObj.setMinutes(val)设置分,dateObj.setSeconds(val)设置秒 [注意:此日期时间从0开始计]<br />43.FRAME的表示方式: [window.]frames[n].ObjFuncVarName,frames["frameName"].ObjFuncVarName,frameName.ObjFuncVarName<br />44.parent代表父亲对象,top代表最顶端对象<br />45.打开子窗口的父窗口为:opener<br />46.表示当前所属的位置:this<br />47.当在超链接中调用JS函数时用:(javascript:)来开头后面加函数名<br />48.在老的浏览器中不执行此JS:&lt;!--      //--&gt;<br />49.引用一个文件式的JS:&lt;script type="text/javascript" src="aaa.js"&gt;&lt;/script&gt;<br />50.指定在不支持脚本的浏览器显示的HTML:&lt;noscript&gt;&lt;/noscript&gt;<br />51.当超链和ONCLICK事件都有时,则老版本的浏览器转向a.html,否则转向b.html.例:&lt;a href="a.html" onclick="location.href='b.html';return false"&gt;dfsadf&lt;/a&gt;<br />52.JS的内建对象有:Array,Boolean,Date,Error,EvalError,Function,Math,Number,Object,RangeError,ReferenceError,RegExp,String,SyntaxError,TypeError,URIError<br />53.JS中的换行:\n<br />54.窗口全屏大小:&lt;script&gt;function fullScreen(){ this.moveTo(0,0);this.outerWidth=screen.availWidth;this.outerHeight=screen.availHeight;}window.maximize=fullScreen;&lt;/script&gt;<br />55.JS中的all代表其下层的全部元素<br />56.JS中的焦点顺序:document.getElementByid("表单元素").tabIndex = 1<br />57.innerHTML的值是表单元素的值:如&lt;p id="para"&gt;"how are &lt;em&gt;you&lt;/em&gt;"&lt;/p&gt;,则innerHTML的值就是:how are &lt;em&gt;you&lt;/em&gt;<br />58.innerTEXT的值和上面的一样,只不过不会把&lt;em&gt;这种标记显示出来.<br />59.contentEditable可设置元素是否可被修改,isContentEditable返回是否可修改的状态.<br />60.isDisabled判断是否为禁止状态.disabled设置禁止状态<br />61.length取得长度,返回整型数值<br />62.addBehavior()是一种JS调用的外部函数文件其扩展名为.htc<br />63.window.focus()使当前的窗口在所有窗口之前.<br />64.blur()指失去焦点.与FOCUS()相反.<br />65.select()指元素为选中状态.<br />66.防止用户对文本框中输入文本:onfocus="this.blur()"<br />67.取出该元素在页面中出现的数量:document.all.tags("div(或其它HTML标记符)").length<br />68.JS中分为两种窗体输出:模态和非模态.window.showModaldialog(),window.showModeless()<br />69.状态栏文字的设置:window.status='文字',默认的状态栏文字设置:window.defaultStatus = '文字.';<br />70.添加到收藏夹:external.AddFavorite("</font>
												<a href="http://www.dannyg.com/">
														<font size="2">http://www.dannyg.com/</font>
												</a>
												<font size="2">");<br />71.JS中遇到脚本错误时不做任何操作:window.onerror = doNothing; 指定错误句柄的语法为:window.onerror = handleError;<br />72.JS中指定当前打开窗口的父窗口:window.opener,支持opener.opener...的多重继续.<br />73.JS中的self指的是当前的窗口<br />74.JS中状态栏显示内容:window.status="内容"<br />75.JS中的top指的是框架集中最顶层的框架<br />76.JS中关闭当前的窗口:window.close();<br />77.JS中提出是否确认的框:if(confirm("Are you sure?")){alert("ok");}else{alert("Not Ok");}<br />78.JS中的窗口重定向:window.navigate("</font>
												<a href="http://www.sina.com.cn/">
														<font size="2">http://www.sina.com.cn/</font>
												</a>
												<font size="2">");<br />79.JS中的打印:window.print()<br />80.JS中的提示输入框:window.prompt("message","defaultReply");<br />81.JS中的窗口滚动条:window.scroll(x,y)<br />82.JS中的窗口滚动到位置:window.scrollby<br />83.JS中设置时间间隔:setInterval("expr",msecDelay)或setInterval(funcRef,msecDelay)或setTimeout<br />84.JS中的模态显示在IE4+行,在NN中不行:showModalDialog("URL"[,arguments][,features]);<br />85.JS中的退出之前使用的句柄:function verifyClose(){event.returnValue="we really like you and hope you will stay longer.";}} window.onbeforeunload=verifyClose;<br />86.当窗体第一次调用时使用的文件句柄:onload()<br />87.当窗体关闭时调用的文件句柄:onunload()<br />88.window.location的属性: protocol(http:),hostname(</font>
												<a href="http://www.example.com),port(80),host(www.example.com:80),pathname(/">
														<font size="2">http://www.example.com),port(80),host(www.example.com:80),pathname(/</font>
												</a>
												<font size="2">",指跳转到相应的锚记),href(全部的信息)<br />89.window.location.reload()刷新当前页面.<br />90.window.history.back()返回上一页,window.history.forward()返回下一页,window.history.go(返回第几页,也可以使用访问过的URL)<br />91.document.write()不换行的输出,document.writeln()换行输出<br />92.document.body.noWrap=true;防止链接文字折行.<br />93.变量名.charAt(第几位),取该变量的第几位的字符.<br />94."abc".charCodeAt(第几个),返回第几个字符的ASCii码值.<br />95.字符串连接:string.concat(string2),或用+=进行连接<br />96.变量.indexOf("字符",起始位置),返回第一个出现的位置(从0开始计算)<br />97.string.lastIndexOf(searchString[,startIndex])最后一次出现的位置.<br />98.string.match(regExpression),判断字符是否匹配.<br />99.string.replace(regExpression,replaceString)替换现有字符串.<br />100.string.split(分隔符)返回一个数组存储值.<br />101.string.substr(start[,length])取从第几位到指定长度的字符串.<br />102.string.toLowerCase()使字符串全部变为小写.<br />103.string.toUpperCase()使全部字符变为大写.<br />104.parseInt(string[,radix(代表进制)])强制转换成整型.<br />105.parseFloat(string[,radix])强制转换成浮点型.<br />106.isNaN(变量):测试是否为数值型.<br />107.定义常量的关键字:const,定义变量的关键字:var<br /></font>
										</div>
								</td>
						</tr>
				</tbody>
		</table>
<img src ="http://www.blogjava.net/balajinima/aggbug/157672.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/balajinima/" target="_blank">李云泽</a> 2007-11-02 10:32 <a href="http://www.blogjava.net/balajinima/articles/157672.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>正则表达式--JavaScript 实现基础</title><link>http://www.blogjava.net/balajinima/articles/156896.html</link><dc:creator>李云泽</dc:creator><author>李云泽</author><pubDate>Tue, 30 Oct 2007 03:57:00 GMT</pubDate><guid>http://www.blogjava.net/balajinima/articles/156896.html</guid><wfw:comment>http://www.blogjava.net/balajinima/comments/156896.html</wfw:comment><comments>http://www.blogjava.net/balajinima/articles/156896.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/balajinima/comments/commentRss/156896.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/balajinima/services/trackbacks/156896.html</trackback:ping><description><![CDATA[
		<font face="Verdana" size="2">    正则表达式用来从某一段字符串中匹配所需要的字符，这些字符可以非常简单，也可以非常复杂。JavaScript生来就对正则表达式有着良好的支持，在网络的字符搜索匹配中发挥着重要的作用。<br /><br />    JavaScript通过RegExp类来支持正则表达式，举一个最简单的例子：<br />  <br /></font>
		<div style="BORDER-RIGHT: rgb(204,204,204) 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: rgb(204,204,204) 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: rgb(204,204,204) 1px solid; WIDTH: 98%; PADDING-TOP: 4px; BORDER-BOTTOM: rgb(204,204,204) 1px solid; BACKGROUND-COLOR: rgb(238,238,238)">
				<a href="/Images/OutliningIndicators/None.gif" target="_blank">
						<font face="Verdana" size="2">
								<img onmousewheel="return bbimg(this)" title="点击在新窗口查看原始图片" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" onload="java_script_:if(this.width&gt;500)this.width=500" align="top" border="0" />
						</font>
				</a>
				<font size="2">
						<font face="Verdana">
								<span style="COLOR: rgb(0,0,255)">var</span>
								<span style="COLOR: rgb(0,0,0)"> regApple </span>
								<span style="COLOR: rgb(0,0,0)">=</span>
								<span style="COLOR: rgb(0,0,0)"> </span>
								<span style="COLOR: rgb(0,0,255)">new</span>
								<span style="COLOR: rgb(0,0,0)"> RegExp(</span>
								<span style="COLOR: rgb(0,0,0)">"</span>
								<span style="COLOR: rgb(0,0,0)">apple</span>
								<span style="COLOR: rgb(0,0,0)">"</span>
								<span style="COLOR: rgb(0,0,0)">);</span>
						</font>
				</font>
		</div>
		<font face="Verdana" size="2">
				<br />    它可以匹配一个字符串中出现的第一个"apple"字符串，并且对大小写敏感。在构造方法中加入第二个参数"g"则代表的搜索出字符串中所有的 "apple"，这里"g"代表"global"。如果第二个参数为"i"，则代表着case-insensitive，匹配过程中将不考虑字母的大小写。将上述两者综合起来，可以搜索出所有"apple"字符串，并且不考虑大小写问题。<br /><br /></font>
		<div style="BORDER-RIGHT: rgb(204,204,204) 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: rgb(204,204,204) 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: rgb(204,204,204) 1px solid; WIDTH: 98%; PADDING-TOP: 4px; BORDER-BOTTOM: rgb(204,204,204) 1px solid; BACKGROUND-COLOR: rgb(238,238,238)">
				<font face="Verdana" size="2">
						<a href="/Images/OutliningIndicators/None.gif" target="_blank">
								<img onmousewheel="return bbimg(this)" title="点击在新窗口查看原始图片" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" onload="java_script_:if(this.width&gt;500)this.width=500" align="top" border="0" />
						</a>
						<span style="COLOR: rgb(0,0,255)">var</span>
						<span style="COLOR: rgb(0,0,0)"> regApple </span>
						<span style="COLOR: rgb(0,0,0)">=</span>
						<span style="COLOR: rgb(0,0,0)"> </span>
						<span style="COLOR: rgb(0,0,255)">new</span>
						<span style="COLOR: rgb(0,0,0)"> RegExp(</span>
						<span style="COLOR: rgb(0,0,0)">"</span>
						<span style="COLOR: rgb(0,0,0)">apple</span>
						<span style="COLOR: rgb(0,0,0)">"</span>
						<span style="COLOR: rgb(0,0,0)">, </span>
						<span style="COLOR: rgb(0,0,0)">"</span>
						<span style="COLOR: rgb(0,0,0)">gi</span>
						<span style="COLOR: rgb(0,0,0)">"</span>
						<span style="COLOR: rgb(0,0,0)">); </span>
				</font>
		</div>
		<font face="Verdana" size="2">
				<br />    正则表达式有着并不唯一的表示方法，使用Perl语言中的语法，可以将上述表达式表示为：<br /><br /></font>
		<div style="BORDER-RIGHT: rgb(204,204,204) 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: rgb(204,204,204) 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: rgb(204,204,204) 1px solid; WIDTH: 98%; PADDING-TOP: 4px; BORDER-BOTTOM: rgb(204,204,204) 1px solid; BACKGROUND-COLOR: rgb(238,238,238)">
				<font face="Verdana" size="2">
						<a href="/Images/OutliningIndicators/None.gif" target="_blank">
								<img onmousewheel="return bbimg(this)" title="点击在新窗口查看原始图片" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" onload="java_script_:if(this.width&gt;500)this.width=500" align="top" border="0" />
						</a>
						<span style="COLOR: rgb(0,0,255)">var</span>
						<span style="COLOR: rgb(0,0,0)"> regApple </span>
						<span style="COLOR: rgb(0,0,0)">=</span>
						<span style="COLOR: rgb(0,0,0)"> </span>
						<span style="COLOR: rgb(0,0,0)">/</span>
						<span style="COLOR: rgb(0,0,0)">apple</span>
						<span style="COLOR: rgb(0,0,0)">/</span>
						<span style="COLOR: rgb(0,0,0)">gi;</span>
				</font>
		</div>
		<font face="Verdana" size="2">
				<br />    创建了一个RegExp对象后，RegExp的方法可以构造出不同的匹配方式，因为正则表达式是对字符串进行的操作，所以String的一些方法在构造正则表达式的过程中也扮演着重要角色。<br /><br />    <strong>RegExp对象的方法</strong> <br /><br /></font>
		<div style="BORDER-RIGHT: rgb(204,204,204) 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: rgb(204,204,204) 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: rgb(204,204,204) 1px solid; WIDTH: 98%; PADDING-TOP: 4px; BORDER-BOTTOM: rgb(204,204,204) 1px solid; BACKGROUND-COLOR: rgb(238,238,238)">
				<font face="Verdana" size="2">
						<a href="/Images/OutliningIndicators/None.gif" target="_blank">
								<img onmousewheel="return bbimg(this)" title="点击在新窗口查看原始图片" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" onload="java_script_:if(this.width&gt;500)this.width=500" align="top" border="0" />
						</a>
						<span style="COLOR: rgb(0,0,255)">var</span>
						<span style="COLOR: rgb(0,0,0)"> sampleString </span>
						<span style="COLOR: rgb(0,0,0)">=</span>
						<span style="COLOR: rgb(0,0,0)"> </span>
						<span style="COLOR: rgb(0,0,0)">"</span>
						<span style="COLOR: rgb(0,0,0)">Greenapple</span>
						<span style="COLOR: rgb(0,0,0)">"</span>
						<span style="COLOR: rgb(0,0,0)">;<br /><a href="/Images/OutliningIndicators/None.gif" target="_blank"><img onmousewheel="return bbimg(this)" title="点击在新窗口查看原始图片" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" onload="java_script_:if(this.width&gt;500)this.width=500" align="top" border="0" /></a></span>
						<span style="COLOR: rgb(0,0,255)">var</span>
						<span style="COLOR: rgb(0,0,0)"> regApple </span>
						<span style="COLOR: rgb(0,0,0)">=</span>
						<span style="COLOR: rgb(0,0,0)"> </span>
						<span style="COLOR: rgb(0,0,0)">/</span>
						<span style="COLOR: rgb(0,0,0)">apple</span>
						<span style="COLOR: rgb(0,0,0)">/</span>
						<span style="COLOR: rgb(0,0,0)">;<br /><a href="/Images/OutliningIndicators/None.gif" target="_blank"><img onmousewheel="return bbimg(this)" title="点击在新窗口查看原始图片" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" onload="java_script_:if(this.width&gt;500)this.width=500" align="top" border="0" /></a>alert(regApple.test(sampleString));</span>
				</font>
		</div>
		<font face="Verdana" size="2">
				<br />    上面代码输出的结果是"true"，因为sampleString中包含了需要匹配的字符串"apple"，这是最简单的检测方式。有时，我们需要知道匹配的详细结果，例如：<br /><br /></font>
		<div style="BORDER-RIGHT: rgb(204,204,204) 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: rgb(204,204,204) 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: rgb(204,204,204) 1px solid; WIDTH: 98%; PADDING-TOP: 4px; BORDER-BOTTOM: rgb(204,204,204) 1px solid; BACKGROUND-COLOR: rgb(238,238,238)">
				<font face="Verdana" size="2">
						<a href="/Images/OutliningIndicators/None.gif" target="_blank">
								<img onmousewheel="return bbimg(this)" title="点击在新窗口查看原始图片" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" onload="java_script_:if(this.width&gt;500)this.width=500" align="top" border="0" />
						</a>
						<span style="COLOR: rgb(0,0,255)">var</span>
						<span style="COLOR: rgb(0,0,0)"> sampleString </span>
						<span style="COLOR: rgb(0,0,0)">=</span>
						<span style="COLOR: rgb(0,0,0)"> </span>
						<span style="COLOR: rgb(0,0,0)">"</span>
						<span style="COLOR: rgb(0,0,0)">green apples, red apples</span>
						<span style="COLOR: rgb(0,0,0)">"</span>
						<span style="COLOR: rgb(0,0,0)">;<br /><a href="/Images/OutliningIndicators/None.gif" target="_blank"><img onmousewheel="return bbimg(this)" title="点击在新窗口查看原始图片" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" onload="java_script_:if(this.width&gt;500)this.width=500" align="top" border="0" /></a></span>
						<span style="COLOR: rgb(0,0,255)">var</span>
						<span style="COLOR: rgb(0,0,0)"> regApple </span>
						<span style="COLOR: rgb(0,0,0)">=</span>
						<span style="COLOR: rgb(0,0,0)"> </span>
						<span style="COLOR: rgb(0,0,0)">/</span>
						<span style="COLOR: rgb(0,0,0)">apple</span>
						<span style="COLOR: rgb(0,0,0)">/</span>
						<span style="COLOR: rgb(0,0,0)">g;<br /><a href="/Images/OutliningIndicators/None.gif" target="_blank"><img onmousewheel="return bbimg(this)" title="点击在新窗口查看原始图片" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" onload="java_script_:if(this.width&gt;500)this.width=500" align="top" border="0" /></a></span>
						<span style="COLOR: rgb(0,0,255)">var</span>
						<span style="COLOR: rgb(0,0,0)"> arr </span>
						<span style="COLOR: rgb(0,0,0)">=</span>
						<span style="COLOR: rgb(0,0,0)"> regApple.exec(sampleString);</span>
				</font>
		</div>
		<font face="Verdana" size="2">
				<br />    通过使用exec()方法，返回的arr是关于匹配结果的一个数组，包括每一个匹配的值及其所在的段，例如上例中是"green apples"还是"red apples"。match()方法有着和exec()相同的功能，只是表达方式不同：<br /><br /></font>
		<div style="BORDER-RIGHT: rgb(204,204,204) 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: rgb(204,204,204) 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: rgb(204,204,204) 1px solid; WIDTH: 98%; PADDING-TOP: 4px; BORDER-BOTTOM: rgb(204,204,204) 1px solid; BACKGROUND-COLOR: rgb(238,238,238)">
				<font face="Verdana" size="2">
						<a href="/Images/OutliningIndicators/None.gif" target="_blank">
								<img onmousewheel="return bbimg(this)" title="点击在新窗口查看原始图片" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" onload="java_script_:if(this.width&gt;500)this.width=500" align="top" border="0" />
						</a>
						<span style="COLOR: rgb(0,0,255)">var</span>
						<span style="COLOR: rgb(0,0,0)"> sampleString </span>
						<span style="COLOR: rgb(0,0,0)">=</span>
						<span style="COLOR: rgb(0,0,0)"> </span>
						<span style="COLOR: rgb(0,0,0)">"</span>
						<span style="COLOR: rgb(0,0,0)">green apples, red apples</span>
						<span style="COLOR: rgb(0,0,0)">"</span>
						<span style="COLOR: rgb(0,0,0)">;<br /><a href="/Images/OutliningIndicators/None.gif" target="_blank"><img onmousewheel="return bbimg(this)" title="点击在新窗口查看原始图片" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" onload="java_script_:if(this.width&gt;500)this.width=500" align="top" border="0" /></a></span>
						<span style="COLOR: rgb(0,0,255)">var</span>
						<span style="COLOR: rgb(0,0,0)"> regApple </span>
						<span style="COLOR: rgb(0,0,0)">=</span>
						<span style="COLOR: rgb(0,0,0)"> </span>
						<span style="COLOR: rgb(0,0,0)">/</span>
						<span style="COLOR: rgb(0,0,0)">apple</span>
						<span style="COLOR: rgb(0,0,0)">/</span>
						<span style="COLOR: rgb(0,0,0)">g;<br /><a href="/Images/OutliningIndicators/None.gif" target="_blank"><img onmousewheel="return bbimg(this)" title="点击在新窗口查看原始图片" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" onload="java_script_:if(this.width&gt;500)this.width=500" align="top" border="0" /></a></span>
						<span style="COLOR: rgb(0,0,255)">var</span>
						<span style="COLOR: rgb(0,0,0)"> arr </span>
						<span style="COLOR: rgb(0,0,0)">=</span>
						<span style="COLOR: rgb(0,0,0)"> sampleString.match(regApple);</span>
				</font>
		</div>
		<font face="Verdana" size="2">
				<br />    search()方法和indexOf()比较类似，返回第一个匹配的字符串所在的位置：<br /><br /></font>
		<div style="BORDER-RIGHT: rgb(204,204,204) 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: rgb(204,204,204) 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: rgb(204,204,204) 1px solid; WIDTH: 98%; PADDING-TOP: 4px; BORDER-BOTTOM: rgb(204,204,204) 1px solid; BACKGROUND-COLOR: rgb(238,238,238)">
				<font face="Verdana" size="2">
						<a href="/Images/OutliningIndicators/None.gif" target="_blank">
								<img onmousewheel="return bbimg(this)" title="点击在新窗口查看原始图片" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" onload="java_script_:if(this.width&gt;500)this.width=500" align="top" border="0" />
						</a>
						<span style="COLOR: rgb(0,0,255)">var</span>
						<span style="COLOR: rgb(0,0,0)"> sampleString </span>
						<span style="COLOR: rgb(0,0,0)">=</span>
						<span style="COLOR: rgb(0,0,0)"> </span>
						<span style="COLOR: rgb(0,0,0)">"</span>
						<span style="COLOR: rgb(0,0,0)">green apples, red apples</span>
						<span style="COLOR: rgb(0,0,0)">"</span>
						<span style="COLOR: rgb(0,0,0)">;<br /><a href="/Images/OutliningIndicators/None.gif" target="_blank"><img onmousewheel="return bbimg(this)" title="点击在新窗口查看原始图片" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" onload="java_script_:if(this.width&gt;500)this.width=500" align="top" border="0" /></a></span>
						<span style="COLOR: rgb(0,0,255)">var</span>
						<span style="COLOR: rgb(0,0,0)"> regApple </span>
						<span style="COLOR: rgb(0,0,0)">=</span>
						<span style="COLOR: rgb(0,0,0)"> </span>
						<span style="COLOR: rgb(0,0,0)">/</span>
						<span style="COLOR: rgb(0,0,0)">apple</span>
						<span style="COLOR: rgb(0,0,0)">/</span>
						<span style="COLOR: rgb(0,0,0)">gi;<br /><a href="/Images/OutliningIndicators/None.gif" target="_blank"><img onmousewheel="return bbimg(this)" title="点击在新窗口查看原始图片" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" onload="java_script_:if(this.width&gt;500)this.width=500" align="top" border="0" /></a>alert(sampleString.search(regApple));  </span>
						<span style="COLOR: rgb(0,128,0)">//</span>
						<span style="COLOR: rgb(0,128,0)">输出"6"</span>
				</font>
		</div>
		<font face="Verdana" size="2">
				<br />    <strong>String的方法<br /></strong><br />    String的replace()方法可以将指定的字符串替换为另一个字符串：<br /><br /></font>
		<div style="BORDER-RIGHT: rgb(204,204,204) 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: rgb(204,204,204) 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: rgb(204,204,204) 1px solid; WIDTH: 98%; PADDING-TOP: 4px; BORDER-BOTTOM: rgb(204,204,204) 1px solid; BACKGROUND-COLOR: rgb(238,238,238)">
				<font face="Verdana" size="2">
						<a href="/Images/OutliningIndicators/None.gif" target="_blank">
								<img onmousewheel="return bbimg(this)" title="点击在新窗口查看原始图片" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" onload="java_script_:if(this.width&gt;500)this.width=500" align="top" border="0" />
						</a>
						<span style="COLOR: rgb(0,0,255)">var</span>
						<span style="COLOR: rgb(0,0,0)"> sampleString </span>
						<span style="COLOR: rgb(0,0,0)">=</span>
						<span style="COLOR: rgb(0,0,0)"> </span>
						<span style="COLOR: rgb(0,0,0)">"</span>
						<span style="COLOR: rgb(0,0,0)">There is a green apple.</span>
						<span style="COLOR: rgb(0,0,0)">"</span>
						<span style="COLOR: rgb(0,0,0)">;<br /><a href="/Images/OutliningIndicators/None.gif" target="_blank"><img onmousewheel="return bbimg(this)" title="点击在新窗口查看原始图片" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" onload="java_script_:if(this.width&gt;500)this.width=500" align="top" border="0" /></a>alert(sampleString.replace(</span>
						<span style="COLOR: rgb(0,0,0)">"</span>
						<span style="COLOR: rgb(0,0,0)">green</span>
						<span style="COLOR: rgb(0,0,0)">"</span>
						<span style="COLOR: rgb(0,0,0)">, </span>
						<span style="COLOR: rgb(0,0,0)">"</span>
						<span style="COLOR: rgb(0,0,0)">red</span>
						<span style="COLOR: rgb(0,0,0)">"</span>
						<span style="COLOR: rgb(0,0,0)">));  </span>
						<span style="COLOR: rgb(0,128,0)">//</span>
						<span style="COLOR: rgb(0,128,0)">输出"There is a red apple."</span>
				</font>
		</div>
		<font face="Verdana" size="2">
				<br />    将replace()的第一个参数替换为一个正则表达式，可以达到同样的效果：<br /><br /></font>
		<div style="BORDER-RIGHT: rgb(204,204,204) 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: rgb(204,204,204) 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: rgb(204,204,204) 1px solid; WIDTH: 98%; PADDING-TOP: 4px; BORDER-BOTTOM: rgb(204,204,204) 1px solid; BACKGROUND-COLOR: rgb(238,238,238)">
				<font face="Verdana" size="2">
						<a href="/Images/OutliningIndicators/None.gif" target="_blank">
								<img onmousewheel="return bbimg(this)" title="点击在新窗口查看原始图片" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" onload="java_script_:if(this.width&gt;500)this.width=500" align="top" border="0" />
						</a>
						<span style="COLOR: rgb(0,0,255)">var</span>
						<span style="COLOR: rgb(0,0,0)"> sampleString </span>
						<span style="COLOR: rgb(0,0,0)">=</span>
						<span style="COLOR: rgb(0,0,0)"> </span>
						<span style="COLOR: rgb(0,0,0)">"</span>
						<span style="COLOR: rgb(0,0,0)">There is a green apple.</span>
						<span style="COLOR: rgb(0,0,0)">"</span>
						<span style="COLOR: rgb(0,0,0)">;<br /><a href="/Images/OutliningIndicators/None.gif" target="_blank"><img onmousewheel="return bbimg(this)" title="点击在新窗口查看原始图片" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" onload="java_script_:if(this.width&gt;500)this.width=500" align="top" border="0" /></a></span>
						<span style="COLOR: rgb(0,0,255)">var</span>
						<span style="COLOR: rgb(0,0,0)"> regApple </span>
						<span style="COLOR: rgb(0,0,0)">=</span>
						<span style="COLOR: rgb(0,0,0)"> </span>
						<span style="COLOR: rgb(0,0,0)">/</span>
						<span style="COLOR: rgb(0,0,0)">apple</span>
						<span style="COLOR: rgb(0,0,0)">/</span>
						<span style="COLOR: rgb(0,0,0)">;<br /><a href="/Images/OutliningIndicators/None.gif" target="_blank"><img onmousewheel="return bbimg(this)" title="点击在新窗口查看原始图片" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" onload="java_script_:if(this.width&gt;500)this.width=500" align="top" border="0" /></a>alert(sampleString.replace(regApple, </span>
						<span style="COLOR: rgb(0,0,0)">"</span>
						<span style="COLOR: rgb(0,0,0)">red</span>
						<span style="COLOR: rgb(0,0,0)">"</span>
						<span style="COLOR: rgb(0,0,0)">));  </span>
						<span style="COLOR: rgb(0,128,0)">//</span>
						<span style="COLOR: rgb(0,128,0)">输出"There is a red apple."</span>
				</font>
		</div>
		<font face="Verdana" size="2">
				<br />    replace()的第二个参数可以替换为一个function()，该function()接受一个匹配字符串作为参数，返回一个替换字符串。(存在疑问)<br /><br />    使用正则表达式可以实现String的split()方法相同的功能。<br /><br /></font>
		<div style="BORDER-RIGHT: rgb(204,204,204) 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: rgb(204,204,204) 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: rgb(204,204,204) 1px solid; WIDTH: 98%; PADDING-TOP: 4px; BORDER-BOTTOM: rgb(204,204,204) 1px solid; BACKGROUND-COLOR: rgb(238,238,238)">
				<font face="Verdana" size="2">
						<a href="/Images/OutliningIndicators/None.gif" target="_blank">
								<img onmousewheel="return bbimg(this)" title="点击在新窗口查看原始图片" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" onload="java_script_:if(this.width&gt;500)this.width=500" align="top" border="0" />
						</a>
						<span style="COLOR: rgb(0,0,255)">var</span>
						<span style="COLOR: rgb(0,0,0)"> fruit </span>
						<span style="COLOR: rgb(0,0,0)">=</span>
						<span style="COLOR: rgb(0,0,0)"> </span>
						<span style="COLOR: rgb(0,0,0)">"</span>
						<span style="COLOR: rgb(0,0,0)">apple,pear,lemon</span>
						<span style="COLOR: rgb(0,0,0)">"</span>
						<span style="COLOR: rgb(0,0,0)">;<br /><a href="/Images/OutliningIndicators/None.gif" target="_blank"><img onmousewheel="return bbimg(this)" title="点击在新窗口查看原始图片" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" onload="java_script_:if(this.width&gt;500)this.width=500" align="top" border="0" /></a></span>
						<span style="COLOR: rgb(0,0,255)">var</span>
						<span style="COLOR: rgb(0,0,0)"> arr </span>
						<span style="COLOR: rgb(0,0,0)">=</span>
						<span style="COLOR: rgb(0,0,0)"> fruit.split(</span>
						<span style="COLOR: rgb(0,0,0)">"</span>
						<span style="COLOR: rgb(0,0,0)">,</span>
						<span style="COLOR: rgb(0,0,0)">"</span>
						<span style="COLOR: rgb(0,0,0)">);</span>
				</font>
		</div>
		<font face="Verdana" size="2">
				<br />    使用正则表达式：<br /><br /></font>
		<div style="BORDER-RIGHT: rgb(204,204,204) 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: rgb(204,204,204) 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: rgb(204,204,204) 1px solid; WIDTH: 98%; PADDING-TOP: 4px; BORDER-BOTTOM: rgb(204,204,204) 1px solid; BACKGROUND-COLOR: rgb(238,238,238)">
				<font face="Verdana" size="2">
						<a href="/Images/OutliningIndicators/None.gif" target="_blank">
								<img onmousewheel="return bbimg(this)" title="点击在新窗口查看原始图片" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" onload="java_script_:if(this.width&gt;500)this.width=500" align="top" border="0" />
						</a>
						<span style="COLOR: rgb(0,0,255)">var</span>
						<span style="COLOR: rgb(0,0,0)"> fruit </span>
						<span style="COLOR: rgb(0,0,0)">=</span>
						<span style="COLOR: rgb(0,0,0)"> </span>
						<span style="COLOR: rgb(0,0,0)">"</span>
						<span style="COLOR: rgb(0,0,0)">apple,pear,lemon</span>
						<span style="COLOR: rgb(0,0,0)">"</span>
						<span style="COLOR: rgb(0,0,0)">;<br /><a href="/Images/OutliningIndicators/None.gif" target="_blank"><img onmousewheel="return bbimg(this)" title="点击在新窗口查看原始图片" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" onload="java_script_:if(this.width&gt;500)this.width=500" align="top" border="0" /></a></span>
						<span style="COLOR: rgb(0,0,255)">var</span>
						<span style="COLOR: rgb(0,0,0)"> reg </span>
						<span style="COLOR: rgb(0,0,0)">=</span>
						<span style="COLOR: rgb(0,0,0)"> </span>
						<span style="COLOR: rgb(0,0,0)">/</span>
						<span style="COLOR: rgb(0,0,0)">\,</span>
						<span style="COLOR: rgb(0,0,0)">/</span>
						<span style="COLOR: rgb(0,0,0)">;<br /><a href="/Images/OutliningIndicators/None.gif" target="_blank"><img onmousewheel="return bbimg(this)" title="点击在新窗口查看原始图片" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" onload="java_script_:if(this.width&gt;500)this.width=500" align="top" border="0" /></a></span>
						<span style="COLOR: rgb(0,0,255)">var</span>
						<span style="COLOR: rgb(0,0,0)"> arr </span>
						<span style="COLOR: rgb(0,0,0)">=</span>
						<span style="COLOR: rgb(0,0,0)"> fruit.split(reg);</span>
				</font>
		</div>
		<font face="Verdana" size="2">
				<br />    以上这些都是JavaScript正则表达式最基本的一些特性，实现了一些最基本的功能，这些都不是正则表达式真正的强大之处，在作者接下来的随笔中会继续介绍。</font>
<img src ="http://www.blogjava.net/balajinima/aggbug/156896.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/balajinima/" target="_blank">李云泽</a> 2007-10-30 11:57 <a href="http://www.blogjava.net/balajinima/articles/156896.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>一个Javascript 的类库，用于table内容排序</title><link>http://www.blogjava.net/balajinima/articles/156616.html</link><dc:creator>李云泽</dc:creator><author>李云泽</author><pubDate>Mon, 29 Oct 2007 03:15:00 GMT</pubDate><guid>http://www.blogjava.net/balajinima/articles/156616.html</guid><wfw:comment>http://www.blogjava.net/balajinima/comments/156616.html</wfw:comment><comments>http://www.blogjava.net/balajinima/articles/156616.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/balajinima/comments/commentRss/156616.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/balajinima/services/trackbacks/156616.html</trackback:ping><description><![CDATA[
		<p> 一个Javascript 的类库，用于table内容排序。使用很方便，不用每次都去调用数据库了。</p>
		<p>特别适合多表查询的排序。加上&lt;tbody&gt;的style.display 切换，也可以实现分页。</p>
		<p>
				<a href="http://www.blueidea.com/articleimg/2006/07/3799/index.htm" target="_blank">
						<strong>效果演示</strong>
				</a>
		</p>
		<p>
				<strong>用法:</strong>
		</p>
		<p>1.添加JS</p>
		<p>
				<strong>QUOTE:</strong>
				<br />
				<span class="code">&lt;SCRIPT src="sorttable.js" type="text/javascript"&gt;&lt;/SCRIPT&gt;</span>
		</p>
		<p>2.添加TABLE,注意的是：一定要有ID,class为"sortable"</p>
		<p>
				<strong>QUOTE:</strong>
				<br />
				<span class="code">&lt;table class="sortable" id="mytable"&gt;</span>
		</p>
		<p>OK,可以了，简单的吧</p>
		<p>如果觉得太单调，自己加点CSS吧，官方给出了改HEAD的CSS</p>
		<p>
				<strong>QUOTE:</strong>
				<br />
				<span class="code">/* Sortable tables */<br />table.sortable a.sortheader {<br />    background-color:#eee;<br />    color:#666666;<br />    font-weight: bold;<br />    text-decoration: none;<br />    display: block;<br />}<br />table.sortable span.sortarrow {<br />    color:black;<br />    text-decoration: none;<br />}</span>
		</p>
		<p>
				<a href="http://www.blueidea.com/articleimg/2006/07/3799/sorttable.js" target="_blank">
						<strong>JS文件下载</strong>
				</a>
		</p>
<img src ="http://www.blogjava.net/balajinima/aggbug/156616.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/balajinima/" target="_blank">李云泽</a> 2007-10-29 11:15 <a href="http://www.blogjava.net/balajinima/articles/156616.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>js禁止报错</title><link>http://www.blogjava.net/balajinima/articles/155861.html</link><dc:creator>李云泽</dc:creator><author>李云泽</author><pubDate>Thu, 25 Oct 2007 06:25:00 GMT</pubDate><guid>http://www.blogjava.net/balajinima/articles/155861.html</guid><wfw:comment>http://www.blogjava.net/balajinima/comments/155861.html</wfw:comment><comments>http://www.blogjava.net/balajinima/articles/155861.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/balajinima/comments/commentRss/155861.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/balajinima/services/trackbacks/155861.html</trackback:ping><description><![CDATA[可以屏蔽掉一些没用的报错<br />&lt;script&gt;<br />function killerrors() {<br />        return true;<br />}<br />window.onerror = killerrors;<br />&lt;/script&gt;<img src ="http://www.blogjava.net/balajinima/aggbug/155861.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/balajinima/" target="_blank">李云泽</a> 2007-10-25 14:25 <a href="http://www.blogjava.net/balajinima/articles/155861.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>escape,encodeURI,encodeURIComponent函数比较</title><link>http://www.blogjava.net/balajinima/articles/149560.html</link><dc:creator>李云泽</dc:creator><author>李云泽</author><pubDate>Sat, 29 Sep 2007 05:56:00 GMT</pubDate><guid>http://www.blogjava.net/balajinima/articles/149560.html</guid><wfw:comment>http://www.blogjava.net/balajinima/comments/149560.html</wfw:comment><comments>http://www.blogjava.net/balajinima/articles/149560.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/balajinima/comments/commentRss/149560.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/balajinima/services/trackbacks/149560.html</trackback:ping><description><![CDATA[
		<div class="tit"> </div>
		<table style="TABLE-LAYOUT: fixed">
				<tbody>
						<tr>
								<td>
										<div class="cnt">js对文字进行编码涉及3个函数：escape,encodeURI,encodeURIComponent，相应3个解码函数：unescape,decodeURI,decodeURIComponent 
<p>1、     传递参数时需要使用encodeURIComponent，这样组合的url才不会被#等特殊字符截断。                            </p><p>例如：&lt;script language="javascript"&gt;document.write('&lt;a href="<a href="http://passport.baidu.com/?logout&amp;aid=7&amp;u= +encodeURIComponent(&quot;http://cang.baidu.com/bruce42&quot;)+">http://passport.baidu.com/?logout&amp;aid=7&amp;u='+encodeURIComponent("http://cang.baidu.com/bruce42")+'</a>"&gt;退出&lt;/a&gt;');&lt;/script&gt;</p><p>2、     进行url跳转时可以整体使用encodeURI</p><p>例如：Location.href=encodeURI("<a href="http://cang.baidu.com/do/s?word">http://cang.baidu.com/do/s?word</a>=百度&amp;ct=21");</p><p>3、     js使用数据时可以使用escape</p><p>例如：搜藏中history纪录。</p><p>4、     escape对0-255以外的unicode值进行编码时输出%u****格式，其它情况下escape，encodeURI，encodeURIComponent编码结果相同。</p><p><br />最多使用的应为encodeURIComponent，它是将中文、韩文等特殊字符转换成utf-8格式的url编码，所以如果给后台传递参数需要使用encodeURIComponent时需要后台解码对utf-8支持（form中的编码方式和当前页面编码方式相同）</p><p>escape不编码字符有69个：*，+，-，.，/，@，_，0-9，a-z，A-Z</p><p>encodeURI不编码字符有82个：!，#，$，&amp;，'，(，)，*，+，,，-，.，/，:，;，=，?，@，_，~，0-9，a-z，A-Z</p><p>encodeURIComponent不编码字符有71个：!， '，(，)，*，-，.，_，~，0-9，a-z，A-Z</p><p>escape 方法<br />对 String 对象编码以便它们能在所有计算机上可读， </p><p>escape(charString)</p><p>必选项 charstring 参数是要编码的任意 String 对象或文字。 </p><p>说明<br />escape 方法返回一个包含了 charstring 内容的字符串值（ Unicode 格式）。所有空格、标点、重音符号以及其他非 ASCII 字符都用 %xx 编码代替，其中 xx 等于表示该字符的十六进制数。例如，空格返回的是 "%20" 。</p><p>字符值大于 255 的以 %uxxxx 格式存储。 </p><p>注意      escape 方法不能够用来对统一资源标示码 (URI) 进行编码。对其编码应使用 encodeURI 和encodeURIComponent 方法。</p><p>encodeURI 方法<br />将文本字符串编码为一个有效的统一资源标识符 (URI)。</p><p>encodeURI(URIString)</p><p>必选的 URIString 参数代表一个已编码的 URI。</p><p>说明<br />encodeURI 方法返回一个编码的 URI。如果您将编码结果传递给 decodeURI，那么将返回初始的字符串。encodeURI 方法不会对下列字符进行编码：":"、"/"、";" 和 "?"。请使用 encodeURIComponent 方法对这些字符进行编码。</p><p>encodeURIComponent 方法<br />将文本字符串编码为一个统一资源标识符 (URI) 的一个有效组件。</p><p>encodeURIComponent(encodedURIString)</p><p>必选的 encodedURIString 参数代表一个已编码的 URI 组件。</p><p>说明<br />encodeURIComponent 方法返回一个已编码的 URI。如果您将编码结果传递给 decodeURIComponent，那么将返回初始的字符串。因为 encodeURIComponent 方法对所有的字符编码，请注意，如果该字符串代表一个路径，例如 /folder1/folder2/default.html，其中的斜杠也将被编码。这样一来，当该编码结果被作为请求发送到 web 服务器时将是无效的。如果字符串中包含不止一个 URI 组件，请使用 encodeURI 方法进行</p></div>
								</td>
						</tr>
				</tbody>
		</table>
<img src ="http://www.blogjava.net/balajinima/aggbug/149560.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/balajinima/" target="_blank">李云泽</a> 2007-09-29 13:56 <a href="http://www.blogjava.net/balajinima/articles/149560.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Javascript高级应用：文件操作篇</title><link>http://www.blogjava.net/balajinima/articles/148012.html</link><dc:creator>李云泽</dc:creator><author>李云泽</author><pubDate>Tue, 25 Sep 2007 03:31:00 GMT</pubDate><guid>http://www.blogjava.net/balajinima/articles/148012.html</guid><wfw:comment>http://www.blogjava.net/balajinima/comments/148012.html</wfw:comment><comments>http://www.blogjava.net/balajinima/articles/148012.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/balajinima/comments/commentRss/148012.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/balajinima/services/trackbacks/148012.html</trackback:ping><description><![CDATA[
		<div class="style4" style="FONT-SIZE: 20px; PADDING-TOP: 5px" align="center" valign="top">
				<strong>Javascript高级应用：文件操作篇</strong>
		</div>
		<div>
				<p>
						<font size="2">
								<p>    Javascript是网页制作中离不开的脚本语言，依靠它，一个网页的内容才生动活泼、富有朝气。但也许你还没有发现并应用它的一些更高级的功能吧？比如，对文件和文件夹进行读、写和删除，就象在VB、VC等高级语言中经常做的工作一样。怎么样，你是否需要了解这方面的知识？那就请跟我来，本文将详细描述如何使用Javascript语言进行文件操作。 <br />一、功能实现核心：FileSystemObject 对象 <br />其实，要在Javascript中实现文件操作功能，主要就是依靠FileSystemobject对象。<br />二、FileSystemObject编程三部曲 <br />使用FileSystemObject 对象进行编程很简单，一般要经过如下的步骤： 创建FileSystemObject对象、应用相关方法、访问对象相关属性 。 <br />（一）创建FileSystemObject对象 <br />创建FileSystemObject对象的代码只要1行： <br />var fso = new ActiveXObject("Scripting.FileSystemObject"); <br />上述代码执行后，fso就成为一个FileSystemObject对象实例。 <br />（二）应用相关方法 <br />创建对象实例后，就可以使用对象的相关方法了。比如，使用CreateTextFile方法创建一个文本文件： <br />var fso = new ActiveXObject("Scripting.FileSystemObject"); <br />var f1 = fso.createtextfile("c:\\myjstest.txt",true); <br />（三）访问对象相关属性 <br />要访问对象的相关属性，首先要建立指向对象的句柄，这就要通过get系列方法实现：GetDrive负责获取驱动器信息，GetFolder负责获取文件夹信息，GetFile负责获取文件信息。比如，指向下面的代码后，f1就成为指向文件c:\test.txt的句柄： <br />var fso = new ActiveXObject("Scripting.FileSystemObject"); <br />var f1 = fso.GetFile("c:\\myjstest.txt"); <br />然后，使用f1访问对象的相关属性。比如： <br />var fso = new ActiveXObject("Scripting.FileSystemObject"); <br />var f1 = fso.GetFile("c:\\myjstest.txt"); <br />alert("File last modified: " + f1.DateLastModified); <br />执行上面最后一句后，将显示c:\myjstest.txt的最后修改日期属性值。 <br />但有一点请注意：对于使用create方法建立的对象，就不必再使用get方法获取对象句柄了，这时直接使用create方法建立的句柄名称就可以： <br />var fso = new ActiveXObject("Scripting.FileSystemObject"); <br />var f1 = fso.createtextfile("c:\\myjstest.txt",true); <br />alert("File last modified: " + f1.DateLastModified); <br />三、操作驱动器（Drives） <br />使用FileSystemObject对象来编程操作驱动器（Drives）和文件夹（Folders）很容易，这就象在Windows文件浏览器中对文件进行交互操作一样，比如：拷贝、移动文件夹，获取文件夹的属性。 <br />（一）Drives对象属性 <br />Drive对象负责收集系统中的物理或逻辑驱动器资源内容，它具有如下属性： <br />l TotalSize：以字节（byte）为单位计算的驱动器大小。 <br />l AvailableSpace或FreeSpace：以字节（byte）为单位计算的驱动器可用空间。 <br />l DriveLetter：驱动器字母。 <br />l DriveType：驱动器类型，取值为：removable（移动介质）、fixed（固定介质）、network（网络资源）、CD-ROM或者RAM盘。 <br />l SerialNumber：驱动器的系列码。 <br />l FileSystem：所在驱动器的文件系统类型，取值为FAT、FAT32和NTFS。 <br />l IsReady：驱动器是否可用。 <br />l ShareName：共享名称。 <br />l VolumeName：卷标名称。 <br />l Path和RootFolder：驱动器的路径或者根目录名称。 <br />（二）Drive对象操作例程 <br />下面的例程显示驱动器C的卷标、总容量和可用空间等信息： <br />var fso, drv, s =""; <br />fso = new ActiveXObject("Scripting.FileSystemObject"); <br />drv = fso.GetDrive(fso.GetDriveName("c:\\")); <br />s += "Drive C:" + " - "; <br />s += drv.VolumeName + "\n"; <br />s += "Total Space: " + drv.TotalSize / 1024; <br />s += " Kb" + "\n"; <br />s += "Free Space: " + drv.FreeSpace / 1024; <br />s += " Kb" + "\n"; <br />alert(s); <br />四、操作文件夹（Folders） <br />涉及到文件夹的操作包括创建、移动、删除以及获取相关属性。 <br />Folder对象操作例程 :<br />下面的例程将练习获取父文件夹名称、创建文件夹、删除文件夹、判断是否为根目录等操作： <br />var fso, fldr, s = ""; <br />// 创建FileSystemObject对象实例 <br />fso = new ActiveXObject("Scripting.FileSystemObject"); <br />// 获取Drive 对象 <br />fldr = fso.GetFolder("c:\\"); <br />// 显示父目录名称 <br />alert("Parent folder name is: " + fldr + "\n"); <br />// 显示所在drive名称 <br />alert("Contained on drive " + fldr.Drive + "\n"); <br />// 判断是否为根目录 <br />if (fldr.IsRootFolder) <br />alert("This is the root folder."); <br />else <br />alert("This folder isn't a root folder."); <br />alert("\n\n"); <br />// 创建新文件夹 <br />fso.CreateFolder ("C:\\Bogus"); <br />alert("Created folder C:\\Bogus" + "\n"); <br />// 显示文件夹基础名称，不包含路径名 <br />alert("Basename = " + fso.GetBaseName("c:\\bogus") + "\n"); <br />// 删除创建的文件夹 <br />fso.DeleteFolder ("C:\\Bogus"); <br />alert("Deleted folder C:\\Bogus" + "\n"); <br />五、操作文件（Files） <br />对文件进行的操作要比以上介绍的驱动器（Drive）和文件夹（Folder）操作复杂些，基本上分为以下两个类别：对文件的创建、拷贝、移动、删除操作和对文件内容的创建、添加、删除和读取操作。下面分别详细介绍。 <br />（一）创建文件 <br />一共有3种方法可用于创建一个空文本文件，这种文件有时候也叫做文本流（text stream）。 <br />第一种是使用CreateTextFile方法。代码如下： <br />var fso, f1; <br />fso = new ActiveXObject("Scripting.FileSystemObject"); <br />f1 = fso.CreateTextFile("c:\\testfile.txt", true); <br />第二种是使用OpenTextFile方法，并添加上ForWriting属性，ForWriting的值为2。代码如下： <br />var fso, ts; <br />var ForWriting= 2; <br />fso = new ActiveXObject("Scripting.FileSystemObject"); <br />ts = fso.OpenTextFile("c:\\test.txt", ForWriting, true); <br />第三种是使用OpenAsTextStream方法，同样要设置好ForWriting属性。代码如下： <br />var fso, f1, ts; <br />var ForWriting = 2; <br />fso = new ActiveXObject("Scripting.FileSystemObject"); <br />fso.CreateTextFile ("c:\\test1.txt"); <br />f1 = fso.GetFile("c:\\test1.txt"); <br />ts = f1.OpenAsTextStream(ForWriting, true); <br />（二）添加数据到文件 <br />当文件被创建后，一般要按照“打开文件－&gt;填写数据－&gt;关闭文件”的步骤实现添加数据到文件的目的。 <br />打开文件可使用FileSystemObject对象的OpenTextFile方法，或者使用File对象的OpenAsTextStream方法。 <br />填写数据要使用到TextStream对象的Write、WriteLine或者WriteBlankLines方法。在同是实现写入数据的功能下，这3者的区别在于：Write方法不在写入数据末尾添加新换行符，WriteLine方法要在最后添加一个新换行符，而WriteBlankLines则增加一个或者多个空行。 <br />关闭文件可使用TextStream对象的Close方法。 <br />（三）创建文件及添加数据例程 <br />下面的代码将创建文件、添加数据、关闭文件几个步骤结合起来进行应用： <br />var fso, tf; <br />fso = new ActiveXObject("Scripting.FileSystemObject"); <br />// 创建新文件 <br />tf = fso.CreateTextFile("c:\\testfile.txt", true); <br />// 填写数据，并增加换行符 <br />tf.WriteLine("Testing 1, 2, 3.") ; <br />// 增加3个空行 <br />tf.WriteBlankLines(3) ; <br />// 填写一行，不带换行符 <br />tf.Write ("This is a test."); <br />// 关闭文件 <br />tf.Close(); <br />（四）读取文件内容 <br />从文本文件中读取数据要使用TextStream对象的Read、ReadLine或ReadAll 方法。Read方法用于读取文件中指定数量的字符；ReadLine方法读取一整行，但不包括换行符；ReadAll方法则读取文本文件的整个内容。读取的内容存放于字符串变量中，用于显示、分析。在使用Read或ReadLine方法读取文件内容时，如果要跳过一些部分，就要用到Skip或SkipLine方法。 <br />下面的代码演示打开文件、填写数据，然后读取数据： <br />var fso, f1, ts, s; <br />var ForReading = 1; <br />fso = new ActiveXObject("Scripting.FileSystemObject"); <br />// 创建文件 <br />f1 = fso.CreateTextFile("c:\\testfile.txt", true); <br />// 填写一行数据 <br />f1.WriteLine("Hello World"); <br />f1.WriteBlankLines(1); <br />// 关闭文件 <br />f1.Close(); <br />// 打开文件 <br />ts = fso.OpenTextFile("c:\\testfile.txt", ForReading); <br />// 读取文件一行内容到字符串 <br />s = ts.ReadLine(); <br />// 显示字符串信息 <br />alert("File contents = '" + s + "'"); <br />// 关闭文件 <br />ts.Close(); <br />（五）移动、拷贝和删除文件 <br />对于以上三种文件操作，Javascript各有两种对应的方法：File.Move 或 FileSystemObject.MoveFile用于移动文件；File.Copy 或 FileSystemObject.CopyFile用于拷贝文件；File.Delete 或 FileSystemObject.DeleteFile用于删除文件。 <br />下面的代码演示在驱动器C的根目录下创建一个文本文件，填写一些内容，然后将文件移动到\tmp目录下，再在目录\temp下面建立一个文件拷贝，最后删除这两个目录的文件： <br />var fso, f1, f2, s; <br />fso = new ActiveXObject("Scripting.FileSystemObject"); <br />f1 = fso.CreateTextFile("c:\\testfile.txt", true); <br />// 写一行 <br />f1.Write("This is a test."); <br />// 关闭文件 <br />f1.Close(); <br />// 获取C:\根目录下的文件句柄 <br />f2 = fso.GetFile("c:\\testfile.txt"); <br />// 移动文件到\tmp目录下 <br />f2.Move ("c:\\tmp\\testfile.txt"); <br />// 拷贝文件到\temp目录下 <br />f2.Copy ("c:\\temp\\testfile.txt"); <br />// 获取文件句柄 <br />f2 = fso.GetFile("c:\\tmp\\testfile.txt"); <br />f3 = fso.GetFile("c:\\temp\\testfile.txt"); <br />// 删除文件 <br />f2.Delete(); <br />f3.Delete(); <br />六、结 语 <br />通过以上对FileSystemObject的各种对象、属性和方法的介绍和示例，相信你已经对如何使用JavaScript语言在页面中操作驱动器、文件和文件夹有了清晰的认识。但是上述提及的例程都非常简单，要全面、灵活地掌握JavaScript文件操作技术，还需要大量的实践练习。而且还有一点提醒大家，由于涉及到在浏览器中进行文件读写这样的高级操作，对于默认的浏览器安全级别而言，在代码运行前都会有一个信息提示，这点请在实际环境中提示访问者注意。</p>
						</font>
				</p>
				<p>
				</p>
				<p>
				</p>
				<p>
				</p>
		</div>
<img src ="http://www.blogjava.net/balajinima/aggbug/148012.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/balajinima/" target="_blank">李云泽</a> 2007-09-25 11:31 <a href="http://www.blogjava.net/balajinima/articles/148012.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>40种网页常用小技巧 </title><link>http://www.blogjava.net/balajinima/articles/146908.html</link><dc:creator>李云泽</dc:creator><author>李云泽</author><pubDate>Thu, 20 Sep 2007 12:14:00 GMT</pubDate><guid>http://www.blogjava.net/balajinima/articles/146908.html</guid><wfw:comment>http://www.blogjava.net/balajinima/comments/146908.html</wfw:comment><comments>http://www.blogjava.net/balajinima/articles/146908.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/balajinima/comments/commentRss/146908.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/balajinima/services/trackbacks/146908.html</trackback:ping><description><![CDATA[
		<br />
		<div style="MARGIN-TOP: 1px; MARGIN-LEFT: 15px">
				<h2>
						<a title="永久链接：40种网页常用小技巧" href="http://kenshinlk.javaeye.com/blog/59099">
								<font color="#002c99">40种网页常用小技巧</font>
						</a>
				</h2>
		</div>
		<div style="MARGIN-TOP: 5px; MARGIN-LEFT: 15px">
				<b>关键字:</b>   40种网页常用小技巧     </div>
		<div style="MARGIN-TOP: 10px; MARGIN-LEFT: 15px; OVERFLOW: auto">
				<table width="100%">
						<tbody>
								<tr>
										<td>
												<p>40种网页常用小技巧</p>
												<p>-------------------------------------------------------------------------------- <br /><br />【字体：大 中 小】 【打印本稿】 2006-5-24 19:21:47 www.okajax.com (6730) </p>
												<p>下面是javascript的40个网页常用小技巧，对网站开发人员相信会有帮助。</p>
												<p>1. oncontextmenu="window.event.returnValue=false" 将彻底屏蔽鼠标右键 <br />&lt;table border oncontextmenu=return(false)&gt;&lt;td&gt;no&lt;/table&gt; 可用于Table</p>
												<p>2. &lt;body onselectstart="return false"&gt; 取消选取、防止复制</p>
												<p>3. onpaste="return false" 不准粘贴</p>
												<p>4. oncopy="return false;" oncut="return false;" 防止复制</p>
												<p>5. &lt;link rel="Shortcut Icon" href="favicon.ico"&gt; IE地址栏前换成自己的图标</p>
												<p>6. &lt;link rel="Bookmark" href="favicon.ico"&gt; 可以在收藏夹中显示出你的图标</p>
												<p>7. &lt;input style="ime-mode:disabled"&gt; 关闭输入法</p>
												<p>8. 永远都会带着框架 <br />&lt;script language="JavaScript"&gt;&lt;!-- <br />if (window == top)top.location.href="frames.htm"; //frames.htm为框架网页 <br />// --&gt;&lt;/script&gt;</p>
												<p>9. 防止被人frame <br />&lt;SCRIPT LANGUAGE=JAVASCRIPT&gt;&lt;!-- <br />if (top.location != self.location)top.location=self.location; <br />// --&gt;&lt;/SCRIPT&gt;</p>
												<p>10. 网页将不能被另存为 <br />&lt;noscript&gt;&lt;iframe src="/blog/*.html&gt;";&lt;/iframe&gt;&lt;/noscript&gt; </p>
												<p>11. &lt;input type=button value=查看网页源代码 <br />onclick="window.location = "view-source:"+ "http://www.williamlong.info""&gt;</p>
												<p>12.删除时确认 <br />&lt;a href="javascript:if(confirm("确实要删除吗?"))location="boos.asp?&amp;areyou=删除&amp;page=1""&gt;删除&lt;/a&gt; </p>
												<p>13. 取得控件的绝对位置 <br />//Javascript <br />&lt;script language="Javascript"&gt; <br />function getIE(e){ <br />var t=e.offsetTop; <br />var l=e.offsetLeft; <br />while(e=e.offsetParent) <br />alert("top="+t+"/nleft="+l); <br />} <br />&lt;/script&gt;</p>
												<p>//VBScript <br />&lt;script language="VBScript"&gt;&lt;!-- <br />function getIE() <br />dim t,l,a,b <br />set a=document.all.img1 <br />t=document.all.img1.offsetTop <br />l=document.all.img1.offsetLeft <br />while a.tagName&lt;&gt;"BODY" <br />set a = a.offsetParent <br />t=t+a.offsetTop <br />l=l+a.offsetLeft <br />wend <br />msgbox "top="&amp;t&amp;chr(13)&amp;"left="&amp;l,64,"得到控件的位置" <br />end function <br />--&gt;&lt;/script&gt;</p>
												<p>14. 光标是停在文本框文字的最后 <br />&lt;script language="javascript"&gt; <br />function cc() <br />{ <br />var e = event.srcElement; <br />var r =e.createTextRange(); <br />r.moveStart("character",e.value.length); <br />r.collapse(true); <br />r.select(); <br />} <br />&lt;/script&gt; <br />&lt;input type=text name=text1 value="123" onfocus="cc()"&gt;</p>
												<p>15. 判断上一页的来源 <br />javascript: <br />document.referrer</p>
												<p>16. 最小化、最大化、关闭窗口 <br />&lt;object id=hh1 classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11"&gt; <br />&lt;param name="Command" value="Minimize"&gt;&lt;/object&gt; <br />&lt;object id=hh2 classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11"&gt; <br />&lt;param name="Command" value="Maximize"&gt;&lt;/object&gt; <br />&lt;OBJECT id=hh3 classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11"&gt; <br />&lt;PARAM NAME="Command" VALUE="Close"&gt;&lt;/OBJECT&gt; <br />&lt;input type=button value=最小化 onclick=hh1.Click()&gt; <br />&lt;input type=button value=最大化 onclick=hh2.Click()&gt; <br />&lt;input type=button value=关闭 onclick=hh3.Click()&gt; <br />本例适用于IE</p>
												<p>17.屏蔽功能键Shift,Alt,Ctrl <br />&lt;script&gt; <br />function look(){ <br />if(event.shiftKey) <br />alert("禁止按Shift键!"); //可以换成ALT　CTRL <br />} <br />document.onkeydown=look; <br />&lt;/script&gt;</p>
												<p>18. 网页不会被缓存 <br />&lt;META HTTP-EQUIV="pragma" CONTENT="no-cache"&gt; <br />&lt;META HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate"&gt; <br />&lt;META HTTP-EQUIV="expires" CONTENT="Wed, 26 Feb 1997 08:21:57 GMT"&gt; <br />或者&lt;META HTTP-EQUIV="expires" CONTENT="0"&gt;</p>
												<p>19.怎样让表单没有凹凸感？ <br />&lt;input type=text style="border:1 solid #000000"&gt; <br />或 <br />&lt;input type=text style="border-left:none; border-right:none; border-top:none; border-bottom: </p>
												<p>1 solid #000000"&gt;&lt;/textarea&gt;</p>
												<p>20.&lt;div&gt;&lt;span&gt;&amp;&lt;layer&gt;的区别？ <br />&lt;div&gt;(division)用来定义大段的页面元素，会产生转行 <br />&lt;span&gt;用来定义同一行内的元素，跟&lt;div&gt;的唯一区别是不产生转行 <br />&lt;layer&gt;是ns的标记，ie不支持，相当于&lt;div&gt;</p>
												<p>21.让弹出窗口总是在最上面: <br />&lt;body onblur="this.focus();"&gt;</p>
												<p>22.不要滚动条? <br />让竖条没有: <br />&lt;body style="overflow:scroll;overflow-y:hidden"&gt; <br />&lt;/body&gt; <br />让横条没有: <br />&lt;body style="overflow:scroll;overflow-x:hidden"&gt; <br />&lt;/body&gt; <br />两个都去掉？更简单了 <br />&lt;body scroll="no"&gt; <br />&lt;/body&gt; </p>
												<p>23.怎样去掉图片链接点击后，图片周围的虚线？ <br />&lt;a href="#" onFocus="this.blur()"&gt;&lt;img src="/blog/logo.jpg" border=0&gt;&lt;/a&gt;</p>
												<p>24.电子邮件处理提交表单 <br />&lt;form name="form1" method="post" action="mailto:****@***.com" enctype="text/plain"&gt; <br />&lt;input type=submit&gt; <br />&lt;/form&gt;</p>
												<p>25.在打开的子窗口刷新父窗口的代码里如何写？ <br />window.opener.location.reload()</p>
												<p>26.如何设定打开页面的大小 <br />&lt;body onload="top.resizeTo(300,200);"&gt; <br />打开页面的位置&lt;body onload="top.moveBy(300,200);"&gt;</p>
												<p>27.在页面中如何加入不是满铺的背景图片,拉动页面时背景图不动 <br />&lt;STYLE&gt; <br />body <br />{background-image:url(/blog/logo.gif); background-repeat:no-repeat; <br />background-position:center;background-attachment: fixed} <br />&lt;/STYLE&gt; </p>
												<p>28. 检查一段字符串是否全由数字组成 <br />&lt;script language="Javascript"&gt;&lt;!-- <br />function checkNum(str){return str.match(//D/)==null} <br />alert(checkNum("1232142141")) <br />alert(checkNum("123214214a1")) <br />// --&gt;&lt;/script&gt;</p>
												<p>29. 获得一个窗口的大小 <br />document.body.clientWidth; document.body.clientHeight</p>
												<p>30. 怎么判断是否是字符 <br />if (/[^/x00-/xff]/g.test(s)) alert("含有汉字"); <br />else alert("全是字符");</p>
												<p>31.TEXTAREA自适应文字行数的多少 <br />&lt;textarea rows=1 name=s1 cols=27 onpropertychange="this.style.posHeight=this.scrollHeight"&gt; <br />&lt;/textarea&gt;</p>
												<p>32. 日期减去天数等于第二个日期 <br />&lt;script language=Javascript&gt; <br />function cc(dd,dadd) <br />{ <br />//可以加上错误处理 <br />var a = new Date(dd) <br />a = a.valueOf() <br />a = a - dadd * 24 * 60 * 60 * 1000 <br />a = new Date(a) <br />alert(a.getFullYear() + "年" + (a.getMonth() + 1) + "月" + a.getDate() + "日") <br />} <br />cc("12/23/2002",2) <br />&lt;/script&gt;</p>
												<p>33. 选择了哪一个Radio <br />&lt;HTML&gt;&lt;script language="vbscript"&gt; <br />function checkme() <br />for each ob in radio1 <br />if ob.checked then window.alert ob.value <br />next <br />end function <br />&lt;/script&gt;&lt;BODY&gt; <br />&lt;INPUT name="radio1" type="radio" value="style" checked&gt;Style <br />&lt;INPUT name="radio1" type="radio" value="barcode"&gt;Barcode <br />&lt;INPUT type="button" value="check" onclick="checkme()"&gt; <br />&lt;/BODY&gt;&lt;/HTML&gt;</p>
												<p>34.脚本永不出错 <br />&lt;SCRIPT LANGUAGE="JavaScript"&gt; <br />&lt;!-- Hide <br />function killErrors() { <br />return true; <br />} <br />window.onerror = killErrors; <br />// --&gt; <br />&lt;/SCRIPT&gt;</p>
												<p>35.ENTER键可以让光标移到下一个输入框 <br />&lt;input onkeydown="if(event.keyCode==13)event.keyCode=9"&gt;</p>
												<p>36. 检测某个网站的链接速度： <br />把如下代码加入&lt;body&gt;区域中: <br />&lt;script language=Javascript&gt; <br />tim=1 <br />setInterval("tim++",100) <br />b=1 <br />var autourl=new Array() <br />autourl[1]="www.njcatv.net" <br />autourl[2]="javacool.3322.net" <br />autourl[3]="www.sina.com.cn" <br />autourl[4]="www.nuaa.edu.cn" <br />autourl[5]="www.cctv.com" <br />function butt(){ <br />document.write("&lt;form name=autof&gt;") <br />for(var i=1;i&lt;autourl.length;i++) <br />document.write("&lt;input type=text name=txt"+i+" size=10 value="/blog/测试中......&gt;" =》&lt;input type=text <br />name=url"+i+" size=40&gt; =》&lt;input type=button value=GO </p>
												<p>onclick=window.open(this.form.url"+i+".value)&gt;&lt;br&gt;") <br />document.write("&lt;input type=submit value=刷新&gt;&lt;/form&gt;") <br />} <br />butt() <br />function auto(url) <br />else</p>
												<p>b++ <br />} <br />function run(){for(var i=1;i&lt;autourl.length;i++)document.write("&lt;img src=http://"+autourl+"/"+Math.random()+" width=1 height=1 </p>
												<p>onerror=auto("http://"+autourl+"")&gt;")} <br />run()&lt;/script&gt;</p>
												<p>37. 各种样式的光标 <br />auto ：标准光标 <br />default ：标准箭头 <br />hand ：手形光标 <br />wait ：等待光标 <br />text ：I形光标 <br />vertical-text ：水平I形光标 <br />no-drop ：不可拖动光标 <br />not-allowed ：无效光标 <br />help ：?帮助光标 <br />all-scroll ：三角方向标 <br />move ：移动标 <br />crosshair ：十字标 <br />e-resize <br />n-resize <br />nw-resize <br />w-resize <br />s-resize <br />se-resize <br />sw-resize</p>
												<p>38.页面进入和退出的特效 <br />进入页面&lt;meta http-equiv="Page-Enter" content="revealTrans(duration=x, transition=y)"&gt; <br />推出页面&lt;meta http-equiv="Page-Exit" content="revealTrans(duration=x, transition=y)"&gt; <br />这个是页面被载入和调出时的一些特效。duration表示特效的持续时间，以秒为单位。transition表示使用哪种特效，取值为1-23: <br />　　0 矩形缩小 <br />　　1 矩形扩大 <br />　　2 圆形缩小 <br />　　3 圆形扩大 <br />　　4 下到上刷新 <br />　　5 上到下刷新 <br />　　6 左到右刷新 <br />　　7 右到左刷新 <br />　　8 竖百叶窗 <br />　　9 横百叶窗 <br />　　10 错位横百叶窗 <br />　　11 错位竖百叶窗 <br />　　12 点扩散 <br />　　13 左右到中间刷新 <br />　　14 中间到左右刷新 <br />　　15 中间到上下 <br />　　16 上下到中间 <br />　　17 右下到左上 <br />　　18 右上到左下 <br />　　19 左上到右下 <br />　　20 左下到右上 <br />　　21 横条 <br />　　22 竖条 <br />　　23 以上22种随机选择一种</p>
												<p>39.在规定时间内跳转 <br />&lt;META http-equiv=V="REFRESH" content="5;URL=http://www.williamlong.info"&gt; </p>
												<p>40.网页是否被检索 <br />&lt;meta name="ROBOTS" content="属性值"&gt; <br />　　其中属性值有以下一些: <br />　　属性值为"all": 文件将被检索，且页上链接可被查询； <br />　　属性值为"none": 文件不被检索，而且不查询页上的链接； <br />　　属性值为"index": 文件将被检索； <br />　　属性值为"follow": 查询页上的链接； <br />　　属性值为"noindex": 文件不检索，但可被查询链接； <br />　　属性值为"nofollow": 文件不被检索，但可查询页上的链接。</p>
												<p>最大化窗口？ <br />&lt;script language="JavaScript"&gt; <br />&lt;!-- <br />self.moveTo(0,0) <br />self.resizeTo(screen.availWidth,screen.availHeight) <br />//--&gt; <br />&lt;/script&gt;</p>
												<p>
												</p>
												<p>解决问题：由于层与下拉框之间的优先级是：下拉框 &gt; 层，因此在显示的时候，会因为优先级的次序而会出现如上问题。（如果几个元素都是层的话，我们可以通过层的 z-index 属性来设置）解决办法就是：给层中放一个优先级比下拉框更高的元素（iframe），从而解决此问题！具体解决代码如下：</p>
												<p>&lt;div id="menu" style="position:absolute; visibility:hidden; top:20px; left:20px; width:100px; height:200px; background-color:#6699cc;"&gt; <br />&lt;table&gt; <br />&lt;tr&gt;&lt;td&gt;item 1&lt;/td&gt;&lt;/tr&gt; <br />&lt;tr&gt;&lt;td&gt;item 2&lt;/td&gt;&lt;/tr&gt; <br />&lt;tr&gt;&lt;td&gt;item 3&lt;/td&gt;&lt;/tr&gt; <br />&lt;tr&gt;&lt;td&gt;item 4&lt;/td&gt;&lt;/tr&gt; <br />&lt;tr&gt;&lt;td&gt;item 5&lt;/td&gt;&lt;/tr&gt; <br />&lt;/table&gt; <br />&lt;iframe src="/blog/javascript:false" style="position:absolute; visibility:inherit; top:0px; left:0px; width:100px; height:200px; z-index:-1; filter='progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0)';"&gt;&lt;/iframe&gt; <br />&lt;/div&gt;</p>
												<p>&lt;a href="#" onclick="document.getElementById('menu').style.visibility='visible'"&gt;menu&lt;/a&gt;</p>
												<p>&lt;form&gt; <br />&lt;select&gt;&lt;option&gt;A form selection list&lt;/option&gt;&lt;/select&gt; <br />&lt;/form&gt;</p>
												<p>输入框也可以做的很漂亮了 <br />&lt;div align="center"&gt;&lt;input type="hidden" name="hao" value="yes"&gt; <br />外向数：&lt;input <br />name=answer <br />style="color: rgb(255,0,0); border-left: medium none; border-right: medium none; border-top: medium none; border-bottom: 1px solid rgb(192,192,192)"&gt; <br />　没回答的题数：&lt;input <br />name=unanswer id="unanswer" <br />style="color: rgb(255,0,0); border-left: medium none; border-right: medium none; border-top: medium none; border-bottom: 1px solid rgb(192,192,192)"&gt; <br />&lt;br&gt; <br />总得分: <br />&lt;input <br />name=score id="score" <br />style="color: rgb(255,0,0); border-left: medium none; border-right: medium none; border-top: medium none; border-bottom: 1px solid rgb(192,192,192)"&gt; <br />　结　　　　论: <br />&lt;input <br />name=xgjg id="xgjg" <br />style="color: rgb(255,0,0); border-left: medium none; border-right: medium none; border-top: medium none; border-bottom: 1px solid rgb(192,192,192)"&gt; <br />&lt;br&gt; <br />&lt;br&gt; <br /><br />&lt;input onClick=processForm(this.form) style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt" type=button value=查看结果 name="button"&gt; <br />&lt;input type="reset" name="Submit" value="重做"&gt; <br />&lt;/div&gt; </p>
										</td>
								</tr>
						</tbody>
				</table>
		</div>
<img src ="http://www.blogjava.net/balajinima/aggbug/146908.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/balajinima/" target="_blank">李云泽</a> 2007-09-20 20:14 <a href="http://www.blogjava.net/balajinima/articles/146908.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>动态提示的下拉框</title><link>http://www.blogjava.net/balajinima/articles/146672.html</link><dc:creator>李云泽</dc:creator><author>李云泽</author><pubDate>Thu, 20 Sep 2007 01:02:00 GMT</pubDate><guid>http://www.blogjava.net/balajinima/articles/146672.html</guid><wfw:comment>http://www.blogjava.net/balajinima/comments/146672.html</wfw:comment><comments>http://www.blogjava.net/balajinima/articles/146672.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/balajinima/comments/commentRss/146672.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/balajinima/services/trackbacks/146672.html</trackback:ping><description><![CDATA[
		<p>&lt;html&gt;<br />&lt;head&gt;<br />&lt;meta http-equiv="Content-Type" content="text/html; charset=gb2312"&gt;</p>
		<p>&lt;title&gt;动态提示的下拉框&lt;/title&gt;<br />&lt;style&gt;<br />a{color:red;text-decoration:none;font-size:12px}<br />&lt;/style&gt;<br />&lt;/head&gt;<br />&lt;body onLoad="Init()"&gt;<br />&lt;center&gt;<br />&lt;h2&gt;动态提示的下拉框&lt;/h2&gt;<br />&lt;hr&gt;<br />&lt;form name=frm&gt;<br />&lt;table&gt;<br />  &lt;tr&gt;<br />    &lt;td&gt;请输入1或2或3或4或5进行测试：&lt;br&gt;&lt;input name="txt" style="width:100px" onKeyUp="SelectTip(0)"&gt; &lt;input type="button" </p>
		<p>value="reset" onClick="SelectTip(1)"&gt;&lt;/td&gt;<br />  &lt;/tr&gt;<br />  &lt;tr&gt;<br />    &lt;td&gt;<br />    &lt;span id="demo"&gt;&lt;select name="demo" style="width:100px" size=10 onChange="txt.value=options[selectedIndex].text;"&gt;<br /> &lt;option value="1"&gt;1&lt;/option&gt;<br />        &lt;option value="1"&gt;1中&lt;/option&gt;<br /> &lt;option value="12"&gt;12&lt;/option&gt;<br /> &lt;option value="123"&gt;123&lt;/option&gt;<br /> &lt;option value="1234"&gt;1234&lt;/option&gt;<br /> &lt;option value="2"&gt;2&lt;/option&gt;<br /> &lt;option value="23"&gt;23&lt;/option&gt;<br /> &lt;option value="234"&gt;234&lt;/option&gt;<br /> &lt;option value="2345"&gt;2345&lt;/option&gt;<br /> &lt;option value="3"&gt;3&lt;/option&gt;<br /> &lt;option value="34"&gt;34&lt;/option&gt;<br /> &lt;option value="345"&gt;345&lt;/option&gt;<br /> &lt;option value="3456"&gt;3456&lt;/option&gt;<br /> &lt;option value="5"&gt;5&lt;/option&gt;<br /> &lt;option value="51"&gt;51&lt;/option&gt;<br /> &lt;option value="51w"&gt;51w&lt;/option&gt;<br /> &lt;option value="51wi"&gt;51wi&lt;/option&gt;<br /> &lt;option value="51win"&gt;51win&lt;/option&gt;<br /> &lt;option value="51windows"&gt;51windows&lt;/option&gt;<br /> &lt;/select&gt;&lt;/span&gt;<br />    &lt;/td&gt;<br />  &lt;/tr&gt;<br /> &lt;/form&gt;<br />&lt;/table&gt;<br />&lt;hr&gt;<br />&lt;script language="javascript"&gt;<br />var TempArr=[];//存贮option</p>
		<p>function Init(){<br />var SelectObj=document.frm.elements["demo"]<br />/*先将数据存入数组*/<br />with(SelectObj)<br /> for(i=0;i&lt;length;i++)TempArr[i]=[options[i].text,options[i].value]<br />}</p>
		<p>function SelectTip(flag){<br />var TxtObj=document.frm.elements["txt"]<br />var SelectObj=document.getElementById("demo")<br />var Arr=[]<br />with(SelectObj){<br /> var SelectHTML=innerHTML.match(/&lt;[^&gt;]*&gt;/)[0]<br /> for(i=0;i&lt;TempArr.length;i++)<br /> if(TempArr[i][0].indexOf(TxtObj.value)==0||flag)//若找到以txt的内容开头的，添option。若flag为true,对下拉框初始化<br /> Arr[Arr.length]="&lt;option value='"+TempArr[i][1]+"'&gt;"+TempArr[i][0]+"&lt;/option&gt;"<br /> innerHTML=SelectHTML+Arr.join()+"&lt;/SELECT&gt;"<br />}<br />}<br />&lt;/script&gt;<br />&lt;/body&gt;</p>
<img src ="http://www.blogjava.net/balajinima/aggbug/146672.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/balajinima/" target="_blank">李云泽</a> 2007-09-20 09:02 <a href="http://www.blogjava.net/balajinima/articles/146672.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>