﻿<?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-wjywilliam-随笔分类-Html</title><link>http://www.blogjava.net/wjywilliam/category/17470.html</link><description /><language>zh-cn</language><lastBuildDate>Fri, 02 Mar 2007 06:30:26 GMT</lastBuildDate><pubDate>Fri, 02 Mar 2007 06:30:26 GMT</pubDate><ttl>60</ttl><item><title>常用网页javascript特效</title><link>http://www.blogjava.net/wjywilliam/archive/2006/11/19/82098.html</link><dc:creator>wjywilliam</dc:creator><author>wjywilliam</author><pubDate>Sun, 19 Nov 2006 12:59:00 GMT</pubDate><guid>http://www.blogjava.net/wjywilliam/archive/2006/11/19/82098.html</guid><wfw:comment>http://www.blogjava.net/wjywilliam/comments/82098.html</wfw:comment><comments>http://www.blogjava.net/wjywilliam/archive/2006/11/19/82098.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wjywilliam/comments/commentRss/82098.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wjywilliam/services/trackbacks/82098.html</trackback:ping><description><![CDATA[
		<p>
				<br />
				<strong>列出些常用的javascript，大家可以把这些做成一个类，方便在项目中重复的调用。</strong>
		</p>
		<p>
				<font size="2">
						<strong>1．让文字不停地滚动</strong>
				</font>
		</p>
		<p>
				<font size="2">　　&lt;MARQUEE&gt;滚动文字&lt;/MARQUEE&gt; </font>
		</p>
		<p>
				<font size="2">
						<strong>2．记录并显示网页的最后修改时间</strong> </font>
				<font size="2">
						<br />
						<br />         document．write("最后更新时间: " + document．lastModified + "") <br /></font>
		</p>
		<p>
				<font size="2">
						<strong>3．关闭当前窗口</strong>
				</font>
		</p>
		<p>
				<font size="2">　　&lt;a href="/"onClick="javascript：window.close();return false;"&gt;关闭窗口&lt;/a&gt; </font>
		</p>
		<p>
				<font size="2">
						<strong>4．5秒后关闭当前页</strong>
				</font>
		</p>
		<p>
				<font size="2">　　&lt;!-- 　　setTimeout(''window.close();'',5000); 　　--&gt; <br /><br /></font>
				<font size="2">
						<strong>5．2秒后载入指定网页</strong>
				</font>
		</p>
		<p>
				<font size="2">　　&lt;head&gt; 　　&lt;meta http-equiv="refresh" content="2;URL=http://你的网址"&gt; 　　&lt;/head&gt; </font>
		</p>
		<p>
				<font size="2">
						<strong>6．添加到收藏夹</strong> </font>
				<font size="2">
						<br />
						<br />        function bookmarkit() { 　　<br /><br />            window.external.addFavorite(''http://你的网址'',''你的网站名称'') 　　<br /><br />        } 　　<br /><br />        if (document．all)<br /><br />            document．write(''&lt;a href="#" onClick="bookmarkit()"&gt;加入收藏夹&lt;/a&gt;'') <br /></font>
		</p>
		<p>
				<font size="2">
						<strong>7．让超链接不显示下划线 </strong>
				</font>
		</p>
		<p>
				<font size="2">　　&lt;style type="text/css"&gt; 　　<br /><br />        &lt;!- 　　a:link{text-decoration:none} 　　a:hover{text-decoration:none} 　　a:visited{text-decoration:none} 　　-&gt; 　　<br /><br />        &lt;/style&gt; </font>
		</p>
		<p>
				<font size="2">
						<strong>8．禁止鼠标右键的动作</strong>
				</font>
		</p>
		<p>
				<font size="2">　  function click() { <br /><br />          if (event.button==2||event.button==3) {<br /><br />              alert(''禁止鼠标右键''); 　　<br /><br />          } <br /><br />      document．onmousedown=click // --&gt; 　　<br /><br /></font>
				<font size="2">
						<strong>9．设置该页为首页</strong>
				</font>
		</p>
		<p>
				<font size="2">　　&lt;body bgcolor="#FFFFFF" text="#000000"&gt; 　　&lt;!-- 网址：http://你的网址--&gt; <br /><br />        &lt;a class="chlnk" style="cursor:hand" HREF 　　onClick="this.style.behavior=''url(#default#homepage)''; 　　this.setHomePage(''你的网站名称);"&gt;&lt;font     color="000000"   size="2"             face="宋体"&gt;设为首页&lt;/font&gt;&lt;/a&gt; 　　<br /><br />       &lt;/body&gt;</font>
		</p>
		<p>
				<font size="2">
						<strong>10．节日倒计时 </strong>
				</font>
		</p>
		<p>
				<font size="2">　　&lt;Script Language="javascript"&gt; 　　<br /><br />        var timedate= new Date("December 25,2003"); <br /><br />        var times="圣诞节";<br /><br />        var now = new Date(); <br /><br />        var date = timedate.getTime() - now.getTime(); <br /><br />        var time = Math.floor(date / (1000 * 60 * 60 * 24)); 　　<br /><br />        if (time &gt;= 0) 　　<br /><br />             document．write("现在离"+times+"还有: "+time +"天")<br /><br />        &lt;/Script&gt; </font>
		</p>
		<p>
				<font size="2">
						<strong>11．单击按钮打印出当前页</strong>
				</font>
		</p>
		<p>
				<font size="2">　　&lt;Script Language="javascript"&gt; 　　<br /><br />        &lt;!-- Begin 　　if (window.print) { 　　document．write(''&lt;form&gt;'' 　　+ ''&lt;input type=button name=print value="打印本页" '' 　　+ ''onClick="javascript：window.print()"&gt;&lt;/form&gt;''); 　　} 　　// End --&gt; 　　<br /><br />        &lt;/Script&gt; </font>
		</p>
		<p>
				<font size="2">
						<strong>12．单击按钮‘另存为’当前页</strong>
				</font>
		</p>
		<p>
				<font size="2">　　&lt;input type="button" name="Button" value="保存本页" 　　onClick="document．all.button.ExecWB(4,1)"&gt; <br /><br />        &lt;object id="button" 　　width=0 　　height=0 　　classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"&gt; 　　&lt;embed width="0" height="0"&gt;&lt;/embed&gt; 　　&lt;/object&gt; </font>
		</p>
		<p>
				<font size="2">
						<strong>13．显示系统当前日期</strong>
				</font>
		</p>
		<p>
				<font size="2">　　&lt;script language=javascript&gt; <br /><br />        today=new Date(); <br /><br />        function date(){ <br /><br />　　   this.length=date.arguments.length <br /><br />　　   for(var i=0;i&lt;this.length;i++) <br /><br />　　       this[i+1]=date.arguments<br /> <br />         }<br /> <br />　　var d=new date("星期日","星期一","星期二","星期三","星期四","星期五","星期六"); <br /><br />　　document．write( 　　"&lt;font color=##000000 style=''font-size:9pt;font-family: 宋体''&gt; ", <br /><br />　　today.getYear(),"年",today.getMonth()+1,"月",today.getDate(),"日", <br /><br />　　d[today.getDay()+1],"&lt;/font&gt;" ); 　　&lt;/script&gt; </font>
		</p>
		<p>
				<font size="2">
						<strong>14．不同时间段显示不同问候语</strong>
				</font>
		</p>
		<p>
				<font size="2">　　&lt;Script Language="javascript"&gt; <br /><br />　　&lt;!-- 　　var text=""; day = new Date( ); time = day.getHours( ); <br /><br />　　if (( time&gt;=0) &amp;&amp; (time &lt; 7 )) <br /><br />　　　　text="夜猫子，要注意身体哦！ " <br /><br />　　if (( time &gt;= 7 ) &amp;&amp; (time &lt; 12))<br /> <br />　　　　text="今天天气……哈哈哈，不去玩吗？" <br /><br />　　if (( time &gt;= 12) &amp;&amp; (time &lt; 14)) <br /><br />　　　　text="午休时间哦，朋友一定是不习惯午睡的吧？！" <br /><br />　　if (( time &gt;=14) &amp;&amp; (time &lt; 18)) <br /><br />　　　　text="下午茶的时间到了，休息一下吧！ " <br /><br />　　if ((time &gt;= 18) &amp;&amp; (time &lt;= 22)) <br /><br />　　　　text="您又来了，可别和MM聊太久哦！"<br /> <br />　　if ((time &gt;= 22) &amp;&amp; (time &lt; 24)) <br /><br />　　　　text="很晚了哦，注意休息呀！" <br /><br />　　document．write(text) 　　//---&gt; <br /><br />　　&lt;/Script&gt; </font>
		</p>
		<p>
				<font size="2">
						<strong>15．水中倒影效果</strong>
				</font>
		</p>
		<p>
				<font size="2">　　&lt;img id="reflect" src="你自己的图片文件名" width="175" height="59"&gt;<br /> <br />　　&lt;script language="javascript"&gt;<br /> <br />　　function f1() 　　{<br /> <br />　　　　setInterval("mdiv.filters.wave.phase+=10",100); 　　}<br /> <br />　　if (document．all) 　　{ <br /><br />　　　　document．write(''&lt;img id=mdiv src="''+document．all.reflect.src+''" <br /><br />　　　　style="filter:wave(strength=3,freq=3,phase=0,lightstrength=30) blur() flipv()"&gt;'') <br /><br />　　　　window.onload=f1 <br /><br />　　}<br /> <br />　　&lt;/script&gt; </font>
		</p>
		<p>
				<font size="2">
						<strong>16．慢慢变大的窗口</strong>
				</font>
		</p>
		<p>
				<font size="2">　　&lt;Script Language="javascript"&gt;<br /> <br />　　&lt;!-- 　　var Windowsheight=100<br /> <br />　　var Windowswidth=100<br /> <br />　　var numx=5 <br /><br />　　function openwindow(thelocation){ <br /><br />　　temploc=thelocation <br /><br />　　if 　　(!(window.resizeTo&amp;&amp;document．all)&amp;&amp;!(window.resizeTo&amp;&amp;document．getElementById)) 　　{<br /> <br />　　　　window.open(thelocation) <br /><br />　　　　return 　　} <br /><br />　　windowsize=window.open("","","scrollbars")<br /> <br />　　windowsize.moveTo(0,0)<br /> <br />　　windowsize.resizeTo(100,100)<br /> <br />　　tenumxt() 　　} <br /><br />　　function tenumxt(){<br /> <br />　　if (Windowsheight&gt;=screen.availHeight-3) <br /><br />　　　　numx=0<br /> <br />　　windowsize.resizeBy(5,numx)<br /> <br />　　Windowsheight+=5 <br /><br />　　Windowswidth+=5<br /> <br />　　if (Windowswidth&gt;=screen.width-5) 　　{<br /> <br />　　　　windowsize.location=temploc<br /> <br />　　　　Windowsheight=100<br /> <br />　　　　Windowswidth=100 <br /><br />　　　　numx=5 <br /><br />　　　　return <br /><br />　　} <br /><br />　　setTimeout("tenumxt()",50)<br /> <br />　　} <br /><br />　　//--&gt; <br /><br />　　&lt;/script&gt; <br /><br />　　&lt;p&gt;&lt;a href="javascript：openwindow(</font>
				<a href="http://www.xxx.com/">
						<font size="2">http://www.xxx.com</font>
				</a>
				<font size="2">)"&gt;进入&lt;/a&gt; </font>
		</p>
		<p>
				<font size="2">17．改变IE地址栏的IE图标 </font>
		</p>
		<p>
				<font size="2">　　我们要先做一个16*16的icon（图标文件），保存为index.ico。把这个图标文件上传到根目录下并在首页&lt;head&gt;&lt;/head&gt;之间加上如下代码：           &lt;link REL = "Shortcut Icon" href="/index.ico"&gt;</font>
		</p>
		<p>
				<font size="2">转载自：</font>
				<a class="headermaintitle" id="Header1_HeaderTitle" href="http://www.cnblogs.com/microtea/">
						<font size="2">microtea的小屋</font>
				</a>
				<font size="2"> </font>
				<a class="postTitle2" id="viewpost1_TitleUrl" href="http://www.cnblogs.com/microtea/archive/2005/07/28/202198.html">
						<font size="2">常用javascript</font>
				</a>
				<font size="2">
						<br />
				</font>
		</p>
<img src ="http://www.blogjava.net/wjywilliam/aggbug/82098.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wjywilliam/" target="_blank">wjywilliam</a> 2006-11-19 20:59 <a href="http://www.blogjava.net/wjywilliam/archive/2006/11/19/82098.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>网页表单相关特效整理</title><link>http://www.blogjava.net/wjywilliam/archive/2006/11/19/82094.html</link><dc:creator>wjywilliam</dc:creator><author>wjywilliam</author><pubDate>Sun, 19 Nov 2006 12:43:00 GMT</pubDate><guid>http://www.blogjava.net/wjywilliam/archive/2006/11/19/82094.html</guid><wfw:comment>http://www.blogjava.net/wjywilliam/comments/82094.html</wfw:comment><comments>http://www.blogjava.net/wjywilliam/archive/2006/11/19/82094.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wjywilliam/comments/commentRss/82094.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wjywilliam/services/trackbacks/82094.html</trackback:ping><description><![CDATA[
		<p>
				<strong>
						<font face="Verdana" color="#800080" size="5">网页表单相关特效整理</font>
				</strong>
				<font size="2">(转载自......忘记了，谢谢原作者)</font>
		</p>
		<p>
				<strong>只能是一些限定的东西</strong>
		</p>
		<p>运行代码框<br /><textarea class="codeTextarea" style="WIDTH: 510px; HEIGHT: 235px" name="S1" rows="1">ENTER键可以让光标移到下一个输入框 
&lt;input onkeydown="if(event.keyCode==13)event.keyCode=9" &gt; &lt;br&gt;

只能是中文&lt;input onkeyup="value=value.replace(/[ -~]/g,'')" onkeydown="if(event.keyCode==13)event.keyCode=9"&gt; &lt;br&gt;

屏蔽输入法&lt;input style="ime-mode:disabled" onkeydown="if(event.keyCode==13)event.keyCode=9"&gt; &lt;br&gt;

只能输入英文和数字&lt;input onkeyup="value=value.replace(/[\W]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))" onkeydown="if(event.keyCode==13)event.keyCode=9"&gt; &lt;br&gt;

只能是数字&lt;input onkeyup="value=value.replace(/[^\d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"&gt;&lt;br&gt;

只能显示，不能修改&lt;input readonly value="只能显示，不能修改"&gt;

</textarea><br /> [Ctrl+A 全部选择 提示：你可先修改部分代码，再按运行]</p>
		<p>
				<strong>只能是数字，判断按键的值。</strong>
		</p>
		<p>运行代码框<br /><textarea class="codeTextarea" style="WIDTH: 510px; HEIGHT: 183px" name="S2" rows="1">&lt;script  language=javascript&gt;
function  onlyNum()
{
if(!((event.keyCode&gt;=48&amp;&amp;event.keyCode&lt;=57)||(event.keyCode&gt;=96&amp;&amp;event.keyCode&lt;=105)||(event.keyCode==8)))
event.returnValue=false;
}
&lt;/script&gt;
&lt;input  onkeydown="onlyNum();"&gt;  
  </textarea><br /> [Ctrl+A 全部选择 提示：你可先修改部分代码，再按运行]</p>
		<p>
				<strong>附：获取键盘的KeyCode</strong>
		</p>
		<p>运行代码框<br /><textarea class="codeTextarea" style="WIDTH: 510px; HEIGHT: 215px" name="S3" rows="1">&lt;html&gt;
&lt;head&gt;
&lt;script language="javascript"&gt;
  ns4 = (document.layers) ? true : false;
  ie4 = (document.all) ? true : false;
function keyDown(e){
  if(ns4){
  var nkey=e.which;
  var iekey='现在是ns浏览器';
  var realkey=String.fromCharCode(e.which);
}
  if(ie4){
  var iekey=event.keyCode;
  var nkey='现在是ie浏览器';
  var realkey=String.fromCharCode(event.keyCode);
  if(event.keyCode==32){realkey='\' 空格\''}
  if(event.keyCode==13){realkey='\' 回车\''}
  if(event.keyCode==27){realkey='\' Esc\''}
  if(event.keyCode==16){realkey='\' Shift\''}
  if(event.keyCode==17){realkey='\' Ctrl\''}
  if(event.keyCode==18){realkey='\' Alt\''}
}
  alert('ns浏览器中键值:'+nkey+'\n'+'ie浏览器中键值:'+iekey+'\n'+'实际键为'+realkey);
}
document.onkeydown = keyDown;
if(ns4){
document.captureEvents(Event.KEYDOWN);}
&lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;
//Javascript Document.
&lt;hr&gt;
&lt;center&gt;
&lt;h3&gt;请按任意一个键。。。。&lt;/h3&gt;
&lt;/center&gt;
&lt;/body&gt;
&lt;/html&gt;
</textarea><br /> [Ctrl+A 全部选择 提示：你可先修改部分代码，再按运行]</p>
		<p>
				<strong>限制网页用键盘</strong>
		</p>
		<p>运行代码框<br /><textarea class="codeTextarea" style="WIDTH: 510px; HEIGHT: 83px" name="S4" rows="1">&lt;body onkeydown="alert('禁用');return false;"&gt;
限制键盘的某个键：body onkeydown="if(event.keyCode==num){alert('禁用');return false;}
</textarea><br /> [Ctrl+A 全部选择 提示：你可先修改部分代码，再按运行]</p>
		<p>
				<strong>再加个找按键的值</strong>
		</p>
		<p>
				<strong>运行代码框<br /><textarea class="codeTextarea" style="WIDTH: 510px; HEIGHT: 125px" name="S5" rows="1">&lt;script&gt;
function show(){
  alert("ASCII代码是："+event.keyCode);
}
&lt;/script&gt;
&lt;body onkeydown="show()"&gt;
</textarea><br /> [Ctrl+A 全部选择 提示：你可先修改部分代码，再按运行]</strong>
		</p>
		<p>
				<strong>只能是IP地址</strong>
		</p>
		<p>运行代码框<br /><textarea class="codeTextarea" style="WIDTH: 510px; HEIGHT: 240px" name="S6" rows="1">&lt;html&gt;

&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html; charset=gb2312"&gt;
&lt;meta name="GENERATOR" content="Microsoft FrontPage 4.0"&gt;
&lt;meta name="ProgId" content="FrontPage.Editor.Document"&gt;
&lt;style&gt;
.a3{width:30;border:0;text-align:center}
&lt;/style&gt;
&lt;script&gt;
function mask(obj){
obj.value=obj.value.replace(/[^\d]/g,'')
key1=event.keyCode
if (key1==37 || key1==39)
{ obj.blur();
nextip=parseInt(obj.name.substr(2,1))
nextip=key1==37?nextip-1:nextip+1;
nextip=nextip&gt;=5?1:nextip
nextip=nextip&lt;=0?4:nextip
eval("ip"+nextip+".focus()")
} 
if(obj.value.length&gt;=3) 
if(parseInt(obj.value)&gt;=256 || parseInt(obj.value)&lt;=0)
{
alert(parseInt(obj.value)+"IP地址错误！")
obj.value=""
obj.focus()
return false;
}
else 
{ obj.blur();
nextip=parseInt(obj.name.substr(2,1))+1
nextip=nextip&gt;=5?1:nextip
nextip=nextip&lt;=0?4:nextip
eval("ip"+nextip+".focus()")
}
}
function mask_c(obj)
{
clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))
}

&lt;/script&gt;
&lt;title&gt;IP地址输入&lt;/title&gt;

&lt;/head&gt;
&lt;body&gt;IP地址输入
&lt;div style="border-width:1;border-color:balck;border-style:solid;width:165;font-size:9pt"&gt;
&lt;input type=text name=ip1 maxlength=3 class=a3 onkeyup="mask(this)" onbeforepaste=mask_c()&gt;.
&lt;input type=text name=ip2 maxlength=3 class=a3 onkeyup="mask(this)" onbeforepaste=mask_c()&gt;.
&lt;input type=text name=ip3 maxlength=3 class=a3 onkeyup="mask(this)" onbeforepaste=mask_c()&gt;.
&lt;input type=text name=ip4 maxlength=3 class=a3 onkeyup="mask(this)" onbeforepaste=mask_c()&gt;
&lt;/div&gt;
&lt;/body&gt;

&lt;/html&gt;
</textarea><br /> [Ctrl+A 全部选择 提示：你可先修改部分代码，再按运行]</p>
		<p>
				<strong>用#default#savehistory防止后退清空text文本框：</strong> </p>
		<p>运行代码框<br /><textarea class="codeTextarea" style="WIDTH: 510px; HEIGHT: 212px" name="S7" rows="1">&lt;HTML&gt;
&lt;HEAD&gt;
&lt;META NAME="save" CONTENT="history"&gt;
&lt;STYLE&gt;
  .saveHistory {behavior:url(#default#savehistory);}
&lt;/STYLE&gt;
&lt;/HEAD&gt;
&lt;BODY&gt;
&lt;INPUT class=saveHistory type=text id=oPersistInput&gt;
&lt;input type=button onclick='javascript:location.href="http://www.cnbruce.com/red/"' value='点击进入,再按后退键试试？'&gt;
&lt;/BODY&gt;
&lt;/HTML&gt;
</textarea><br /> [Ctrl+A 全部选择 提示：你可先修改部分代码，再按运行]</p>
		<p>
				<strong>TEXTAREA自适应文字行数的多少</strong>
		</p>
		<p>运行代码框<br /><textarea class="codeTextarea" style="WIDTH: 510px; HEIGHT: 111px" name="S8" rows="1">&lt;textarea rows=1 name=s1 cols=27 onpropertychange="this.style.posHeight=this.scrollHeight"&gt; 
</textarea><br /> [Ctrl+A 全部选择 提示：你可先修改部分代码，再按运行]</p>
		<p>
				<strong>上传预览图片</strong>
		</p>
		<p>运行代码框<br /><textarea class="codeTextarea" style="WIDTH: 510px; HEIGHT: 147px" name="S9" rows="1">&lt;img id=pic  src=http://www.cnbruce.com/images/logo.gif&gt;
&lt;input type=file name=file&gt;&lt;input type=button onclick=pic.src=file.value value=预览图片&gt;
&lt;input type=button onclick=alert(file.value) value=图片地址&gt;
&lt;input type=button onclick="file.outerHTML=file.outerHTML.replace(/value=\w/g,'')" value="清除file里字"&gt;
</textarea><br /> [Ctrl+A 全部选择 提示：你可先修改部分代码，再按运行]</p>
		<p>
				<strong>去掉下拉选项的边框</strong>
		</p>
		<p>运行代码框<br /><textarea class="codeTextarea" style="WIDTH: 510px; HEIGHT: 185px" name="S10" rows="1">&lt;div style="position: absolute; left: 10px; top: 10px; width: 115px; height: 20px;  clip:rect(2 114 20 2);"&gt; 
   &lt;select&gt;
    &lt;option &gt;cnpeople&lt;/option&gt;
    &lt;option &gt;cnrose&lt;/option&gt;
   &lt;option &gt;cnbruce&lt;/option&gt;  
  &lt;/select&gt;
  &lt;/font&gt;
&lt;/div&gt;
</textarea><br /> [Ctrl+A 全部选择 提示：你可先修改部分代码，再按运行]</p>
		<p>
				<strong>下拉列表打开窗口</strong>
		</p>
		<p>运行代码框<br /><textarea class="codeTextarea" style="WIDTH: 510px; HEIGHT: 149px" name="S11" rows="1">&lt;select  onChange="if(this.selectedIndex &amp;&amp; this.selectedIndex!=0){window.open(this.value);}this.selectedIndex=0;"&gt;
&lt;option selected&gt;更多链接……&lt;/option&gt;
&lt;option value="http://www.cnbruce.com"&gt;cnbruce&lt;/option&gt;
&lt;option value="http://daonet.myrice.com/old/"&gt;daonet&lt;/option&gt;
&lt;option value="http://www.blueidea.com"&gt;blue!dea
&lt;/select&gt;
</textarea><br /> [Ctrl+A 全部选择 提示：你可先修改部分代码，再按运行]</p>
		<p>
				<strong>通过下拉菜单传递跳转(触发submit)</strong>
		</p>
		<p>运行代码框<br /><textarea class="codeTextarea" style="WIDTH: 510px; HEIGHT: 140px" name="S12" rows="1">&lt;form action="showlog.asp?" &gt;
&lt;select name="cat_id" onpropertychange="form.submit();"&gt;
&lt;option value=""&gt;==请选择==&lt;/option&gt;
&lt;option value="11"&gt;11&lt;/option&gt;
&lt;option value="22"&gt;22&lt;/option&gt;
&lt;/select&gt;
&lt;/form&gt;
</textarea><br /> [Ctrl+A 全部选择 提示：你可先修改部分代码，再按运行]</p>
		<p>
				<strong>TAB键在文本域中的体现</strong>
		</p>
		<p>运行代码框<br /><textarea class="codeTextarea" style="WIDTH: 510px; HEIGHT: 158px" name="S13" rows="1">&lt;script&gt;
function editTab()
{
    var code, sel, tmp, r
    var tabs=""
    event.returnValue = false
    sel =event.srcElement.document.selection.createRange()
    r = event.srcElement.createTextRange()

    switch (event.keyCode)
    {
        case (8)    :
            if (!(sel.getClientRects().length &gt; 1))
            {
                event.returnValue = true
                return
            }
            code = sel.text
            tmp = sel.duplicate()
            tmp.moveToPoint(r.getBoundingClientRect().left, sel.getClientRects()[0].top)
            sel.setEndPoint("startToStart", tmp)
            sel.text = sel.text.replace(/^\t/gm, "")
            code = code.replace(/^\t/gm, "").replace(/\r\n/g, "\r")
            r.findText(code)
            r.select()
            break
        case (9)    :
            if (sel.getClientRects().length &gt; 1)
            {
                code = sel.text
                tmp = sel.duplicate()
                tmp.moveToPoint(r.getBoundingClientRect().left, sel.getClientRects()[0].top)
                sel.setEndPoint("startToStart", tmp)
                sel.text = "\t"+sel.text.replace(/\r\n/g, "\r\t")
                code = code.replace(/\r\n/g, "\r\t")
                r.findText(code)
                r.select()
            }
            else
            {
                sel.text = "\t"
                sel.select()
            }
            break
        case (13)    :
            tmp = sel.duplicate()
            tmp.moveToPoint(r.getBoundingClientRect().left, sel.getClientRects()[0].top)
            tmp.setEndPoint("endToEnd", sel)

            for (var i=0; tmp.text.match(/^[\t]+/g) &amp;&amp; i&lt;tmp.text.match(/^[\t]+/g)[0].length; i++)    tabs += "\t"
            sel.text = "\r\n"+tabs
            sel.select()
            break
        default        :
            event.returnValue = true
            break
    }
}
&lt;/script&gt;

&lt;textarea cols=75 rows=20 onkeydown="editTab()"&gt;
&lt;script&gt;
alert("ok")
&lt;/script&gt;&lt;/textarea&gt;
</textarea><br /> [Ctrl+A 全部选择 提示：你可先修改部分代码，再按运行]</p>
		<p>
				<strong>文本框的上/下拉</strong>
		</p>
		<p>运行代码框<br /><textarea class="codeTextarea" style="WIDTH: 510px; HEIGHT: 197px" name="S14" rows="1">&lt;form name="cnbruce"&gt;
&lt;textarea name="com"&gt;
&lt;/textarea&gt;
&lt;/form&gt;
&lt;SPAN title='放大输入框' style='FONT-SIZE: 12px; CURSOR: hand'  onclick=document.cnbruce.com.rows+=4&gt;向下&lt;/SPAN&gt;
 &lt;SPAN title='缩小输入框' style='FONT-SIZE: 12px; CURSOR: hand' class='arrow' onclick='if(document.cnbruce.com.rows&gt;=4)document.cnbruce.com.rows-=4;else return false'&gt;向上&lt;/SPAN&gt;
</textarea><br /> [Ctrl+A 全部选择 提示：你可先修改部分代码，再按运行]</p>
		<p>
				<strong>一个复选框，点击之后一组复选框全部都选上</strong>
		</p>
		<p>
				<strong>运行代码框<br /><textarea class="codeTextarea" style="WIDTH: 510px; HEIGHT: 173px" name="S15" rows="1">&lt;input type="checkbox" name="checkA" onpropertychange="for(i=0;i&lt;A.children.length;i++){A.children[i].checked=this.checked}"&gt;a
&lt;br&gt;
&lt;span id="A"&gt;
&lt;input type="checkbox" name="A1"&gt;
&lt;input type="checkbox" name="A2"&gt;
&lt;input type="checkbox" name="A3"&gt;
&lt;/span&gt;
</textarea><br /> [Ctrl+A 全部选择 提示：你可先修改部分代码，再按运行]</strong>
		</p>
		<p>
				<strong>Debug Textarea：在线写 js 脚本的时候，用来即时查错的东西！</strong>
		</p>
		<p>运行代码框<br /><textarea class="codeTextarea" style="WIDTH: 510px; HEIGHT: 252px" name="S16" rows="1">&lt;HTML&gt;
&lt;HEAD&gt;
&lt;TITLE&gt;Debug Textarea&lt;/TITLE&gt;
&lt;meta http-equiv='Content-Type' content='text/html; charset=gb2312'&gt;
&lt;/HEAD&gt;
&lt;style&gt;
* {
    font-size: 12px
}
body {
    margin: 10px; padding: 0px
}
table.list{
    cursor: default;
    border:1px solid #cccccc
    background-color: #cccccc;
    border-collapse: collapse;
    border-Color: #cccccc;
}
&lt;/style&gt;
&lt;script language="javascript"&gt;
// Coded by windy_sk &lt;windy_sk@126.com&gt; 20040205

function reportError(msg,url,line) {
    var str = "You have found an error as below: \n\n";
    str += "Err: " + msg + " on line: " + line;
    alert(str);
    return true;
}

window.onerror = reportError;


document.onkeydown = function() {
    if(event.ctrlKey){
        switch(event.keyCode) {
            case 82: //r
                runcode();
                break;
            case 83: //s
                savecode();
                break;
            case 71: //g
                goto(prompt('Please input the line number', '1'));
                break;
            case 65: //a
                document.execCommand("SelectAll");
                break;
            case 67: //c
                document.execCommand("Copy");
                break;
            case 88: //x
                document.execCommand("Cut");
                break;
            case 86: //v
                document.execCommand("Paste");
                break;
            case 90: //z
                document.execCommand("Undo");
                break;
            case 89: //y
                document.execCommand("Redo");
                break;
            default:
                break;
        }
        event.keyCode = 0;
        event.returnValue = false;
    }
    return;
}


function show_ln(){
    var txt_ln     = document.getElementById('txt_ln');
    var txt_main     = document.getElementById('txt_main');
    txt_ln.scrollTop = txt_main.scrollTop;
    while(txt_ln.scrollTop != txt_main.scrollTop) {
        txt_ln.value += (i++) + '\n';
        txt_ln.scrollTop = txt_main.scrollTop;
    }
    return;
}


function editTab(){
    var code, sel, tmp, r
    var tabs=''
    event.returnValue = false
    sel =event.srcElement.document.selection.createRange()
    r = event.srcElement.createTextRange()

    switch (event.keyCode){
        case (8)    :
            if (!(sel.getClientRects().length &gt; 1)){
                event.returnValue = true
                return
            }
            code = sel.text
            tmp = sel.duplicate()
            tmp.moveToPoint(r.getBoundingClientRect().left, sel.getClientRects()[0].top)
            // 出错检验代码~~~~~~
            if(sel.parentElement() != tmp.parentElement()) return;
            sel.setEndPoint('startToStart', tmp)
            sel.text = sel.text.replace(/^\t/gm, '')
            code = code.replace(/^\t/gm, '').replace(/\r\n/g, '\r')
            r.findText(code)
            r.select()
            break
        case (9)    :
            if (sel.getClientRects().length &gt; 1){
                code = sel.text
                tmp = sel.duplicate()
                tmp.moveToPoint(r.getBoundingClientRect().left, sel.getClientRects()[0].top)
                // 出错检验代码~~~~~~
                if(sel.parentElement() != tmp.parentElement()) return;
                sel.setEndPoint('startToStart', tmp)
                sel.text = '\t'+sel.text.replace(/\r\n/g, '\r\t')
                code = code.replace(/\r\n/g, '\r\t')
                r.findText(code)
                r.select()
            }else{
                sel.text = '\t'
                sel.select()
            }
            break
        case (13)    :
            tmp = sel.duplicate()
            tmp.moveToPoint(r.getBoundingClientRect().left, sel.getClientRects()[0].top)
            // 出错检验代码~~~~~~
            if(sel.parentElement() != tmp.parentElement()) return;
            tmp.setEndPoint('endToEnd', sel)
            for (var i=0; tmp.text.match(/^[\t]+/g) &amp;&amp; i&lt;tmp.text.match(/^[\t]+/g)[0].length; i++)    tabs += '\t'
            sel.text = '\r\n'+tabs
            sel.select()
            break
        default        :
            event.returnValue = true
            break;
    }
    return;
}


function runcode() {
    var str = document.getElementById("txt_main").value;
    var code_win = window.open('about:blank');
    code_win.document.open();
    code_win.document.writeln("&lt;script&gt;");
    code_win.document.writeln("function reportError(msg,url,line){\nline-=14;\nvar str='You have found an error as below: \\n\\n';\nstr+='Err: '+msg+' on line: '+(line);\nalert(str);\nopener.goto(line);\nopener.focus();\nwindow.onerror=null;\nsetTimeout('self.close()',10);\nreturn true;\n}");
    code_win.document.writeln("window.onerror = reportError;");
    code_win.document.writeln("&lt;\/script&gt;");
    code_win.document.writeln(str);
    code_win.document.close();
    return;
}


function savecode() {
    var str = document.getElementById("txt_main").value;
    var code_win = window.open('about:blank','_blank','top=10000');
    code_win.document.open();
    code_win.document.writeln(str);
    code_win.document.close();
    code_win.document.execCommand('saveas','','code.html');
    code_win.close();
    return;
}


function goto(ln) {
    if(!/^\d+$/.test(ln)) return;
    var obj = document.getElementById("txt_main");
    var rng = obj.createTextRange();
    var arr = obj.value.replace(/\r/, "").split(/\n/);
    if(ln&gt;arr.length) ln = arr.length;
    var str_tmp = "";
    for(var i=0; i&lt;ln-1; i++) {
        str_tmp += arr[i];
    }
    rng.moveStart('character',str_tmp.length+1);
    str_tmp = "";
    for(i=ln; i&lt;arr.length; i++) {
        str_tmp += arr[i];
    }
    rng.moveEnd('character',-str_tmp.length); 
    rng.select();
    return;
}

window.onload = function() {document.getElementById("txt_main").value = "&lt;script&gt;\nalert(')\n&lt;\/script&gt;";}
&lt;/script&gt;
&lt;BODY&gt;
&lt;table width='600' class='list' border='1' bgcolor='#eeeeee' bordercolorlight='#000000' bordercolordark='#FFFFFF' cellpadding='0' cellspacing='0'&gt;
  &lt;tr bgcolor='#cccccc'&gt; 
    &lt;td colspan='2' height='20' align='center'&gt;&lt;b&gt;Debug Textarea&lt;/b&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt; 
    &lt;td colspan='2'&gt;
        &lt;table width='95%' border='0' align='center' &gt;
      &lt;tr&gt; 
        &lt;td align='center'&gt;&lt;br /&gt;
          &lt;textarea id='txt_ln' name='content' rows='10' style='width:40px;overflow:hidden;height:200px;border-right:0px;text-align:right;line-height:14px' onselectstart='this.nextSibling.focus();return false' readonly&gt;&lt;/textarea&gt;&lt;textarea id='txt_main' name='content' rows='10' cols='80' onkeydown='editTab()' onkeyup='show_ln()' onscroll='show_ln()' wrap='off' style='overflow:auto;height:200px;padding-left:5px;border-left:0px;line-height:14px'&gt;&lt;/textarea&gt;
          &lt;script&gt;for(var i=1; i&lt;=20; i++) document.getElementById('txt_ln').value += i + '\n';&lt;/script&gt;
        &lt;/td&gt;
      &lt;/tr&gt;
          &lt;tr&gt; 
            &lt;td align='center'&gt;&lt;br /&gt;
              &lt;input type='button' value=' 运 行 ' onclick='runcode()' accesskey='r'&gt;&amp;nbsp;&amp;nbsp;
              &lt;input type='button' value=' 保 存 ' onclick='savecode()' accesskey='s'&gt;&amp;nbsp;&amp;nbsp;
              &lt;input type='button' value=' 跳 转 ' onclick="goto(prompt('Please input the line number', '1'))"  accesskey='g'&gt;&amp;nbsp;&amp;nbsp;
			  &lt;input type='button' value=' 清 空 ' onclick='txt_main.value=""' accesskey='c'&gt;&amp;nbsp;&amp;nbsp;
            &lt;/td&gt;
          &lt;/tr&gt;
        &lt;/table&gt;
    &lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;
&lt;/BODY&gt;
&lt;/HTML&gt;
</textarea><br /> [Ctrl+A 全部选择 提示：你可先修改部分代码，再按运行] </p>
<img src ="http://www.blogjava.net/wjywilliam/aggbug/82094.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wjywilliam/" target="_blank">wjywilliam</a> 2006-11-19 20:43 <a href="http://www.blogjava.net/wjywilliam/archive/2006/11/19/82094.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>