﻿<?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-成家荣的JavaBlog-文章分类-javascript</title><link>http://www.blogjava.net/yunye/category/34202.html</link><description>  ... 能够在宁静的晚上，在心爱的电脑前搭建自己的程序...也是多么惬意的一件事情.....
          </description><language>zh-cn</language><lastBuildDate>Sun, 31 Aug 2008 07:47:24 GMT</lastBuildDate><pubDate>Sun, 31 Aug 2008 07:47:24 GMT</pubDate><ttl>60</ttl><item><title>W3C School ----Javascript</title><link>http://www.blogjava.net/yunye/articles/225684.html</link><dc:creator>成家荣</dc:creator><author>成家荣</author><pubDate>Fri, 29 Aug 2008 19:31:00 GMT</pubDate><guid>http://www.blogjava.net/yunye/articles/225684.html</guid><wfw:comment>http://www.blogjava.net/yunye/comments/225684.html</wfw:comment><comments>http://www.blogjava.net/yunye/articles/225684.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/yunye/comments/commentRss/225684.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/yunye/services/trackbacks/225684.html</trackback:ping><description><![CDATA[
		<a href="http://www.w3school.com.cn/js/index.asp">http://www.w3school.com.cn/js/index.asp</a>
<img src ="http://www.blogjava.net/yunye/aggbug/225684.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/yunye/" target="_blank">成家荣</a> 2008-08-30 03:31 <a href="http://www.blogjava.net/yunye/articles/225684.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>javascript的IE和Firefox兼容性汇编</title><link>http://www.blogjava.net/yunye/articles/225683.html</link><dc:creator>成家荣</dc:creator><author>成家荣</author><pubDate>Fri, 29 Aug 2008 19:28:00 GMT</pubDate><guid>http://www.blogjava.net/yunye/articles/225683.html</guid><wfw:comment>http://www.blogjava.net/yunye/comments/225683.html</wfw:comment><comments>http://www.blogjava.net/yunye/articles/225683.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/yunye/comments/commentRss/225683.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/yunye/services/trackbacks/225683.html</trackback:ping><description><![CDATA[
		<p>
				<font size="2">1. document.form.item 问题<br />(1)现有问题：<br />现有代码中存在许多 document.formName.item("itemName") 这样的语句，不能在 MF 下运行<br />(2)解决方法：<br />改用 document.formName.elements["elementName"]<br />(3)其它<br />参见 2 </font>
		</p>
		<p>
				<font size="2">2. 集合类对象问题<br />(1)现有问题：<br />现有代码中许多集合类对象取用时使用 ()，IE 能接受，MF 不能。<br />(2)解决方法：<br />改用 [] 作为下标运算。如：document.forms("formName") 改为 document.forms["formName"]。<br />又如：document.getElementsByName("inputName")(1) 改为 document.getElementsByName("inputName")[1] </font>
		</p>
		<p>
				<font size="2">3. window.event<br />(1)现有问题：<br />使用 window.event 无法在 MF 上运行<br />(2)解决方法：<br />MF 的 event 只能在事件发生的现场使用，此问题暂无法解决。可以这样变通：<br />原代码(可在IE中运行)：<br /></font>
				<input type="button" value="提交" name="someButton" />
				<br />
				<font size="2">...<br /><script language="javascript"><br /><![CDATA[unction gotoSubmit() {<BR>...<BR>alert(window.event); // use window.event<BR>...<BR>}<BR>]]&gt;</script></font>
		</p>
		<p>
				<font size="2">新代码(可在IE和MF中运行)：<br /></font>
				<input type="button" value="提交" name="someButton" />
				<br />
				<font size="2">...<br /><script language="javascript"><br /><![CDATA[unction gotoSubmit(evt) {<BR>evt = evt ? evt : (window.event ? window.event : null);<BR>...<BR>alert(evt); // use evt<BR>...<BR>}<BR>]]&gt;</script><br />此外，如果新代码中第一行不改，与老代码一样的话(即 gotoSubmit 调用没有给参数)，则仍然只能在IE中运行，但不会出错。所以，这种方案 tpl 部分仍与老代码兼容。 </font>
		</p>
		<p>
				<font size="2">4. HTML 对象的 id 作为对象名的问题<br />(1)现有问题<br />在 IE 中，HTML 对象的 ID 可以作为 document 的下属对象变量名直接使用。在 MF 中不能。<br />(2)解决方法<br />用 getElementById("idName") 代替 idName 作为对象变量使用。 </font>
		</p>
		<p>
				<font size="2">5. 用idName字符串取得对象的问题<br />(1)现有问题<br />在IE中，利用 eval(idName) 可以取得 id 为 idName 的 HTML 对象，在MF 中不能。<br />(2)解决方法<br />用 getElementById(idName) 代替 eval(idName)。 </font>
		</p>
		<p>
				<font size="2">6. 变量名与某 HTML 对象 id 相同的问题<br />(1)现有问题<br />在 MF 中，因为对象 id 不作为 HTML 对象的名称，所以可以使用与 HTML 对象 id 相同的变量名，IE 中不能。<br />(2)解决方法<br />在声明变量时，一律加上 var ，以避免歧义，这样在 IE 中亦可正常运行。<br />此外，最好不要取与 HTML 对象 id 相同的变量名，以减少错误。<br />(3)其它<br />参见 问题4 </font>
		</p>
		<p>
				<font size="2">[NextPage] </font>
		</p>
		<p>
				<font size="2">7. event.x 与 event.y 问题<br />(1)现有问题<br />在IE 中，event 对象有 x, y 属性，MF中没有。<br />(2)解决方法<br />在MF中，与event.x 等效的是 event.pageX。但event.pageX IE中没有。<br />故采用 event.clientX 代替 event.x。在IE 中也有这个变量。<br />event.clientX 与 event.pageX 有微妙的差别（当整个页面有滚动条的时候），不过大多数时候是等效的。 </font>
		</p>
		<p>
				<font size="2">如果要完全一样，可以稍麻烦些：<br />mX = event.x ? event.x : event.pageX;<br />然后用 mX 代替 event.x<br />(3)其它<br />event.layerX 在 IE 与 MF 中都有，具体意义有无差别尚未试验。 </font>
		</p>
		<p>
				<font size="2">8. 关于frame<br />(1)现有问题<br />在 IE中 可以用window.testFrame取得该frame，mf中不行<br />(2)解决方法<br />在frame的使用方面mf和ie的最主要的区别是：<br />如果在frame标签中书写了以下属性：<br /><br />那么ie可以通过id或者name访问这个frame对应的window对象<br />而mf只可以通过name来访问这个frame对应的window对象<br />例如如果上述frame标签写在最上层的window里面的htm里面，那么可以这样访问<br />ie： window.top.frameId或者window.top.frameName来访问这个window对象<br />mf： 只能这样window.top.frameName来访问这个window对象 </font>
		</p>
		<p>
				<font size="2">另外，在mf和ie中都可以使用window.top.document.getElementById("frameId")来访问frame标签<br />并且可以通过window.top.document.getElementById("testFrame").src = ‘xx.htm’来切换frame的内容<br />也都可以通过window.top.frameName.location = ‘xx.htm’来切换frame的内容<br />关于frame和window的描述可以参见bbs的‘window与frame’文章<br />以及/test/js/test_frame/目录下面的测试<br />----adun 2004.12.09修改 </font>
		</p>
		<p>
				<font size="2">9. 在mf中，自己定义的属性必须getAttribute()取得 </font>
		</p>
		<p>
				<font size="2">10.在mf中没有 parentElement parement.children 而用parentNode parentNode.childNodes<br />childNodes的下标的含义在IE和MF中不同，MF使用DOM规范，childNodes中会插入空白文本节点。<br />一般可以通过node.getElementsByTagName()来回避这个问题。<br />当html中节点缺失时，IE和MF对parentNode的解释不同，例如<br /></font>
		</p>
		<br />
		<br />
		<input />
		<br />
		<table>
				<tbody>
						<font size="2">
						</font>
				</tbody>
		</table>
		<br />
		<br />
		<font size="2">MF中input.parentNode的值为form, 而IE中input.parentNode的值为空节点 </font>
		<p>
				<font size="2">MF中节点没有removeNode方法，必须使用如下方法 node.parentNode.removeChild(node) </font>
		</p>
		<p>
				<font size="2">11.const 问题<br />(1)现有问题:<br />在 IE 中不能使用 const 关键字。如 const constVar = 32; 在IE中这是语法错误。<br />(2)解决方法:<br />不使用 const ，以 var 代替。 </font>
		</p>
		<p>
				<font size="2">12. body 对象<br />MF的body在body标签没有被浏览器完全读入之前就存在，而IE则必须在body完全被读入之后才存在 </font>
		</p>
		<p>
				<font size="2">13. url encoding<br />在js中如果书写url就直接写&amp;不要写&amp;例如var url = ‘xx.jsp?objectName=xx&amp;objectEvent=xxx’;<br />frm.action = url那么很有可能url不会被正常显示以至于参数没有正确的传到服务器<br />一般会服务器报错参数没有找到<br />当然如果是在tpl中例外，因为tpl中符合xml规范，要求&amp;书写为&amp;<br />一般MF无法识别js中的&amp; </font>
		</p>
		<p>
				<font size="2">14. nodeName 和 tagName 问题<br />(1)现有问题：<br />在MF中，所有节点均有 nodeName 值，但 textNode 没有 tagName 值。在 IE 中，nodeName 的使用好象<br />有问题（具体情况没有测试，但我的IE已经死了好几次）。<br />(2)解决方法：<br />使用 tagName，但应检测其是否为空。 </font>
		</p>
		<p>
				<font size="2">15. 元素属性<br />IE下 input.type属性为只读，但是MF下可以修改</font>
		</p>
		<table cellspacing="0" border="0">
				<tbody>
						<font size="2">
						</font>
				</tbody>
		</table>
		<div class="footerLinks">
				<font size="2">2006/6/28 14:04 | </font>
				<a id="blogAddComment0" title="单击为此日志添加评论。" href="http://roc74115.spaces.live.com/blog/cns!B8FB1CFC7F6A578F!166.entry#post" bvitemtype="post">
						<font size="2">添加评论</font>
				</a>
				<font size="2"> | </font>
				<a id="blogPermalink0" title="单击以显示此日志的固定链接。" href="http://roc74115.spaces.live.com/blog/cns!B8FB1CFC7F6A578F!166.entry" bvitemtype="">
						<font size="2">固定链接</font>
				</a>
				<font size="2"> | </font>
				<a id="blogTrackbacks0" title="单击以显示此日志的引用通告。" href="http://roc74115.spaces.live.com/blog/cns!B8FB1CFC7F6A578F!166.entry#trackback" bvitemtype="trackback">
						<font size="2">引用通告 (0)</font>
				</a>
				<font size="2"> | </font>
				<a id="blogThis0" title="将此写入您的共享空间日志。" href="javascript:BlogIt('cns!B8FB1CFC7F6A578F!166');" bvitemtype="">
						<font size="2">写入日志</font>
				</a>
		</div>
		<div class="footer">
				<font size="2">
				</font>
		</div>
		<div class="fixedTable bvEntry" id="entrycns!B8FB1CFC7F6A578F!165" bv:cat="计算机与 Internet" bv:ca="true" bv:cns="cns!B8FB1CFC7F6A578F!165">
				<h4 class="TextColor1" id="subjcns!B8FB1CFC7F6A578F!165" style="MARGIN-BOTTOM: 0px">
						<font size="2">js常用代码</font>
				</h4>
				<div id="msgcns!B8FB1CFC7F6A578F!165">
						<div>
								<div>
										<font size="2">event.clientX 返回最后一次点击鼠标X坐标值；<br />event.clientY 返回最后一次点击鼠标Y坐标值；<br />event.offsetX 返回当前鼠标悬停X坐标值<br />event.offsetY 返回当前鼠标悬停Y坐标值<br />document.write(document.lastModified) 网页最后一次更新时间<br />document.ondblclick=x 当双击鼠标产生事件<br />document.onmousedown=x 单击鼠标键产生事件<br />document.body.scrollTop; 返回和设置当前竖向滚动条的坐标值，须与函数配合,<br />document.body.scrollLeft; 返回和设置当前横向滚动务的坐标值，须与函数配合，<br />document.title document.title="message"; 当前窗口的标题栏文字<br />document.bgcolor document.bgcolor="颜色值"; 改变窗口背景颜色<br />document.Fgcolor document.Fgcolor="颜色值"; 改变正文颜色<br />document.linkcolor document.linkcolor="颜色值"; 改变超联接颜色<br />document.alinkcolor document.alinkcolor="颜色值"; 改变正点击联接的颜色<br />document.VlinkColor document.VlinkColor="颜色值"; 改变已访问联接的颜色<br />document.forms.length 返回当前页form表单数<br />document.anchors.length 返回当前页锚的数量<br />document.links.length 返回当前页联接的数量<br />document.onmousedown=x 单击鼠标触发事件<br />document.ondblclick=x 双击鼠标触发事件<br />defaultStatus window.status=defaultStatus; 将状态栏设置默认显示<br />function function xx(){...} 定义函数<br />isNumeric 判断是否是数字<br />innerHTML xx=对象.innerHTML 输入某对象标签中的html源代码<br />innerText divid.innerText=xx 将以div定位以id命名的对象值设为XX<br />location.reload(); 使本页刷新，target可等于一个刷新的网页<br />Math.random() 随机涵数,只能是0到1之间的数,如果要得到其它数,可以为*10,再取整<br />Math.floor(number) 将对象number转为整数，舍取所有小数<br />Math.min(1,2) 返回1,2哪个小<br />Math.max(1,2) 返回1,2哪个大<br />navigator.appName 返回当前浏览器名称<br />navigator.appVersion 返回当前浏览器版本号<br />navigator.appCodeName 返回当前浏览器代码名字<br />navigator.userAgent 返回当前浏览器用户代标志<br />onsubmit onsubmit="return(xx())" 使用函数返回值<br />opener opener.document.对象 控制原打开窗体对象<br />prompt xx=window.prompt("提示信息","预定值"); 输入语句<br />parent parent.框架名.对象 控制框架页面<br />return return false 返回值<br />random 随机参数（0至1之间）<br />reset() form.reset(); 使form表单内的数据重置<br />split("") string.split("") 将string对象字符以逗号隔开<br />submit() form对象.submit() 使form对象提交数据<br />String对象的 charAt(x)对象 反回指定对象的第多少位的字母<br />lastIndexOf("string") 从右到左询找指定字符，没有返回-1<br />indexOf("string") 从左到右询找指定字符，没有返回-1<br />LowerCase() 将对象全部转为小写 <br />UpperCase() 将对象全部转为大写<br />substring(0,5) string.substring(x,x) 返回对象中从0到5的字符<br />setTimeout("function",time) 设置一个超时对象<br />setInterval("function",time) 设置一个超时对象<br />toLocaleString() x.toLocaleString() 从x时间对象中获取时间，以字符串型式存在<br />typeof(变量名) 检查变量的类型，值有：String,Boolean,Object,Function,Underfined<br />window.event.button==1/2/3 鼠标键左键等于1右键等于2两个键一起按为3<br />window.screen.availWidth 返回当前屏幕宽度(空白空间)<br />window.screen.availHeight 返回当前屏幕高度(空白空间)<br />window.screen.width 返回当前屏幕宽度(分辨率值)<br />window.screen.height 返回当前屏幕高度(分辨率值)<br />window.document.body.offsetHeight; 返回当前网页高度<br />window.document.body.offsetWidth; 返回当前网页宽度<br />window.resizeTo(0,0) 将窗口设置宽高<br />window.moveTo(0,0) 将窗口移到某位置<br />window.focus() 使当前窗口获得焦点<br />window.scroll(x,y) 窗口滚动条坐标，y控制上下移动，须与函数配合<br />window.open() window.open("地址","名称","属性") <br />属性:toolbar(工具栏),location(地址栏),directions,status(状态栏),<br />menubar (菜单栏),scrollbar(滚动条),resizable(改变大小), width(宽),height(高),fullscreen(全屏),scrollbars(全屏时无滚动条无参 数,channelmode(宽屏),left(打开窗口x坐标),top(打开窗口y坐标)<br />window.location = 'view-source:' + window.location.href 应用事件查看网页源代码;<br /><br />a=new Date(); //创建a为一个新的时期对象<br />y=a.getYear(); //y的值为从对象a中获取年份值 两位数年份<br />y1=a.getFullYear(); //获取全年份数 四位数年份<br />m=a.getMonth(); //获取月份值<br />d=a.getDate(); //获取日期值<br />d1=a.getDay(); //获取当前星期值<br />h=a.getHours(); //获取当前小时数<br />m1=a.getMinutes(); //获取当前分钟数<br />s=a.getSeconds(); //获取当前秒钟数<br /><br />对象.style.fontSize="文字大小";<br />单位：mm/cm/in英寸/pc帕/pt点/px象素/em文字高<br />1in=1.25cm<br />1pc=12pt<br />1pt=1.2px(800*600分辩率下)<br />文本字体属性：<br />fontSize大小<br />family字体<br />color颜色<br />fontStyle风格，取值为normal一般,italic斜体,oblique斜体且加粗<br />fontWeight加粗,取值为100到900不等,900最粗,light,normal,bold<br />letterSpacing间距,更改文字间距离,取值为,1pt,10px,1cm<br />textDecoration:文字修饰;取值,none不修饰,underline下划线,overline上划线<br />background:文字背景颜色,<br />backgroundImage:背景图片,取值为图片的插入路径<br /><br />点击网页正文函数调用触发器：<br />1.onClick 当对象被点击<br />2.onLoad 当网页打开,只能书写在body中<br />3.onUnload 当网页关闭或离开时,只能书写在body中<br />4.onmouseover 当鼠标悬于其上时<br />5.onmouseout 当鼠标离开对象时<br />6.onmouseup 当鼠标松开<br />7.onmousedown 当鼠标按下键<br />8.onFocus 当对象获取焦点时<br />9.onSelect 当对象的文本被选中时<br />10.onChange 当对象的内容被改变<br />11.onBlur 当对象失去焦点<br />onsubmit=return(ss())表单调用时返回的值<br />直线 border-bottom:1x solid black<br />虚线 border-bottom:1x dotted black<br />点划线 border-bottom:2x dashed black<br />双线 border-bottom:5x double black<br />槽状 border-bottom:1x groove black<br />脊状 border-bottom:1x ridge black<br /><br />1.边缘高光glow(color=颜色,strength=亮光大小)<br /><br />2.水平翻转fliph() 使对象水平翻转180度<br /><br />3.垂直翻转flipv() 使对象垂直翻转180度<br /><br />4.对象模糊blur(add=true/false direction=方向 strength=强度)<br />add指定是否按印象画派进行模糊direction模糊方向strength模糊强度<br />5.对象透明alpha(opaction=0-100,finishopacity=0-100,style=0/1/2/3)<br />opaction对象整体不透明值finishopacity当对象利用了渐透明时该项指定结束透明位置的不透明值style指定透明方式0为整体透明，1为线型透明，2为圆型透明，3为矩形透明<br />6.去除颜色chroma(color=颜色值)使对象中颜色与指定颜色相同区域透明<br />7.建立阴影dropshadow(color=阴影颜色,offx=水平向左偏离像素,offy=水平向下偏离像素)<br />8.去色gray()使对象呈灰度显示<br />9.负片效果invert()使对象呈底片效果<br />10.高光light()使对象呈黑色显示<br />11.遮盖mask(color=颜色)使整个对象以指定颜色进行蒙板一次<br />opacity 表透明度水平.0~100,0表全透明,100表完全不透明<br />finishopacity表想要设置的渐变透明效果.0~100.<br />style 表透明区的形状.0表统一形状.1表线形.2表放射形.3表长方形.<br />startx.starty表渐变透明效果的开始时X和Y坐标.<br />finishx,finishy渐变透明效果结束时x,y 的坐标.<br />add有来确定是否在模糊效果中使有原有目标.值为0,1.0表"否",1表"是".<br />direction设置模糊的方向.0度表垂直向上,45度为一个单位.默认值是向左270度.left,right,down,up.<br />strength 只能用整数来确定.代表有多少个像素的宽度将受到模糊影响.默认是5个.<br />color要透明的颜色.<br />offx,offy分别是x,y 方向阴影的偏移量.<br />positive指投影方式.0表透明像素生成阴影.1表只给出不透明像素生成阴影..<br />AddAmbient:加入包围的光源.<br />AddCone:加入锥形光源.<br />AddPoint加入点光源<br />Changcolor:改变光的颜色．<br />Changstrength:改变光源的强度．<br />Clear:清除所有的光源．<br />MoveLight:移动光源．<br />freq是波纹的频率，在指定在对象上一区需要产生多少个完事的波纹．<br />lightstrength可对于波纹增强光影的效果．显著0~100正整数，正弦波开始位置是0~360度．0表从0度开始，25表从90度开始．<br />strength表振幅大小．<br /><br />hand style="cursor:hand"<br />crosshair style="cursor:crosshair"<br />text style="cursor:text"<br />wait style="cursor:wait"<br />default style="cursor:default" <br />help style="cursor:help"<br />e-resize style="cursor:e-resize"<br />ne-resize style="cursor:ne-resize"<br />n-resize style="cursor:n-resize"<br />nw-resize style="cursor:nw-resize"<br />w-resize style="cursor:w-resize"<br />s-resize style="cursor:s-resize"<br />sw-resize style="cursor:sw-resize "<br />se-resize style="cursor:se-resize"<br />auto style="cursor:auto" </font>
								</div>
						</div>
				</div>
				<table cellspacing="0" border="0">
						<tbody>
								<font size="2">
								</font>
						</tbody>
				</table>
				<div class="footerLinks">
						<font size="2">2006/6/24 15:45 | </font>
						<a id="blogAddComment1" title="单击为此日志添加评论。" href="http://roc74115.spaces.live.com/blog/cns!B8FB1CFC7F6A578F!165.entry#post" bvitemtype="post">
								<font size="2">添加评论</font>
						</a>
						<font size="2"> | </font>
						<a id="blogPermalink1" title="单击以显示此日志的固定链接。" href="http://roc74115.spaces.live.com/blog/cns!B8FB1CFC7F6A578F!165.entry" bvitemtype="">
								<font size="2">固定链接</font>
						</a>
						<font size="2"> | </font>
						<a id="blogTrackbacks1" title="单击以显示此日志的引用通告。" href="http://roc74115.spaces.live.com/blog/cns!B8FB1CFC7F6A578F!165.entry#trackback" bvitemtype="trackback">
								<font size="2">引用通告 (0)</font>
						</a>
						<font size="2"> | </font>
						<a id="blogThis1" title="将此写入您的共享空间日志。" href="javascript:BlogIt('cns!B8FB1CFC7F6A578F!165');" bvitemtype="">
								<font size="2">写入日志</font>
						</a>
						<font size="2"> | </font>
						<a id="blogCategory1" title="单击以显示此类别的所有日志。" href="http://roc74115.spaces.live.com/?_c11_BlogPart_blogpart=blogview&amp;_c=BlogPart&amp;partqs=cat%3d%25e8%25ae%25a1%25e7%25ae%2597%25e6%259c%25ba%25e4%25b8%258e%2bInternet" bvitemtype="">
								<font size="2">计算机与 Internet</font>
						</a>
				</div>
				<div class="footer">
						<font size="2">
						</font>
				</div>
		</div>
		<div class="fixedTable bvEntry" id="entrycns!B8FB1CFC7F6A578F!164" bv:cat="" bv:ca="true" bv:cns="cns!B8FB1CFC7F6A578F!164">
				<h4 class="TextColor1" id="subjcns!B8FB1CFC7F6A578F!164" style="MARGIN-BOTTOM: 0px">
						<font size="2">web交互界面易用性设计和验收的指导性原则</font>
				</h4>
				<div id="msgcns!B8FB1CFC7F6A578F!164">
						<div>
								<font size="2">随着企业intranet和国际internet的迅速发展，越来越多的工作流程，商务交易，教育、培训、会议和讲座，以及个人消费娱乐都被转移到所谓的万维网（World Wide Web，以下简称WEB）上来了。与此相对应的是交互操作的复杂性越来越高。<br /><br />随着Browser/Server模式的日渐流行，很多操作都是在浏览器环境下的网页上完成的，并不是只有失效的链接和意外的出错才会使操作者感到烦恼，即便是一次完整的成功操作过程，也可能因为操作的繁复性过高或者使用上的不方便而给操作者带来不愉快的体验。<br /><br />本文试图阐述WEB交互页面设计的一些指导性原则，这些原则有利于避免发生不愉快的操作体验。这些原则是用户友好性的，是在完成同一种操作要求下，使用户最感到轻松、简单、舒适的WEB交互界面设计原则。我们假定我们讨论的WEB页面都是功能正常的，符合美学观点的。需要说明我们讨论的原则可能会和设计上的美学观点以及既有的功能设计有所冲突。如果发生这种情况，基于“实用的就是美的”观点，我们会建议您酌情放弃原先的美学观点与功能设计。<br /><br /><br /> <br /><br /><br />1． 输入控件的自动聚焦和可用键盘切换输入焦点 <br /><br /><br />使用JavaScript实现页面加载完成后立即自动聚焦(focus)到第一个输入控件。可用TAB键（IE缺省实现）或方向键切换聚焦到下一个输入控件。 <br /><br /><br />输入控件指WEB页面表单( </font>
								<form>
										<font size="2">)中显式的，需要用户进行修改、编辑操作的表单元素。对于这些控件，如果没有自动聚焦操作，不可避免的出现一次用户鼠标定位操作（如果用户此前处于键盘输入操作状态或鼠标定位后需要进行键盘输入操作，实际上是键盘鼠标切换操作）。如果鼠标定位后需要进行键盘输入操作，如果不能键盘切换输入焦点，那么不可避免的在切换输入焦点时需要反复的键盘鼠标切换操作，这是很繁琐的。<br /><br />如果实现了页面加载完成即自动聚焦到第一个输入控件，并且可以键盘切换输入焦点标定位操作，那么对于用户来说整个页面的输入操作可能都不需要鼠标操作，或次数较少，这是一种便利。毕竟频繁的键盘鼠标切换操作是比较累人的。<br /><br />对于有输入栏的对话框或网页，在不干预的情况下就应将当前控制焦点定位在待输入的输入栏上；如果输入栏在一般情况下不需要更改其中的内容，则应直接将焦点定在“确定”按钮上；在几个输入栏之间应支持tab，shift+tab切换操作，“确定”和“取消”应该是切换操作的终点，与具体所在位置无关。<br /><br /><br /> <br /><br /><br />2．   可用Enter（或Ctrl＋Enter）键提交，确保和点击提交按钮的效果是相同的 <br /><br /><br />不要在提交按钮上加入onClick=”…”这样的JavaScript代码。 <br /><br /><br />用Enter 键提交页面是原则1的自然延伸，而且这也是浏览器所缺省支持的。只所以单独列出来是因为实际上有些设计者设计的页面不能达到这种效果，结果导致使用 Enter键提交和点击“确定”按钮提交带来的效果不一样。大部分情况下是设计者在“确定”按钮上加入了onClik=”…”这样的代码，通过点击“确定”按钮后，会执行一段JavaScript代码，比如对某些hidden类型的input元素设值。而使用Enter键提交时就不会执行这段代码。<br /><br />正确的做法是把这段代码移到表单标签中，以onSubmit=”…”属性引入。</font>
								</form>
						</div>
				</div>
		</div>
<img src ="http://www.blogjava.net/yunye/aggbug/225683.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/yunye/" target="_blank">成家荣</a> 2008-08-30 03:28 <a href="http://www.blogjava.net/yunye/articles/225683.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[javaScript]日期验证</title><link>http://www.blogjava.net/yunye/articles/225682.html</link><dc:creator>成家荣</dc:creator><author>成家荣</author><pubDate>Fri, 29 Aug 2008 19:25:00 GMT</pubDate><guid>http://www.blogjava.net/yunye/articles/225682.html</guid><wfw:comment>http://www.blogjava.net/yunye/comments/225682.html</wfw:comment><comments>http://www.blogjava.net/yunye/articles/225682.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/yunye/comments/commentRss/225682.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/yunye/services/trackbacks/225682.html</trackback:ping><description><![CDATA[
		<p>以下方法[chekDate]验证类似"YYYY-MM-DD"格式的日期输入.包括日期实际性验证.</p>
		<p>若日期正确,返回true;否则返回false.</p>
		<p>
				<font color="#0000ff">function</font> checkDate(theDate){<br />  <font color="#0000ff">var</font> reg = /^\d{4}-((0{0,1}[1-9]{1})|(1[0-2]{1}))-((0{0,1}[1-9]{1})|([1-2]{1}[0-9]{1})|(3[0-1]{1}))$/;  <br />  <font color="#0000ff">var</font> result=<font color="#0000ff">true</font>;<br />  <font color="#990000">if</font>(!reg.test(theDate))<br />    result = <font color="#0000ff">false</font>;<br />  <font color="#990000">else</font>{<br />    var arr_hd=theDate.split("-");<br />    var dateTmp;<br />    dateTmp= new Date(arr_hd[0],parseFloat(arr_hd[1])-1,parseFloat(arr_hd[2]));<br />    if(dateTmp.getFullYear()!=parseFloat(arr_hd[0])<br />       || dateTmp.getMonth()!=parseFloat(arr_hd[1]) -1 <br />        || dateTmp.getDate()!=parseFloat(arr_hd[2])){<br />        result = false<br />    }<br />  }<br />  <font color="#0000ff">return</font> result;<br />}<br /></p>
<img src ="http://www.blogjava.net/yunye/aggbug/225682.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/yunye/" target="_blank">成家荣</a> 2008-08-30 03:25 <a href="http://www.blogjava.net/yunye/articles/225682.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>javascript 时间函数 </title><link>http://www.blogjava.net/yunye/articles/225681.html</link><dc:creator>成家荣</dc:creator><author>成家荣</author><pubDate>Fri, 29 Aug 2008 19:24:00 GMT</pubDate><guid>http://www.blogjava.net/yunye/articles/225681.html</guid><wfw:comment>http://www.blogjava.net/yunye/comments/225681.html</wfw:comment><comments>http://www.blogjava.net/yunye/articles/225681.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/yunye/comments/commentRss/225681.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/yunye/services/trackbacks/225681.html</trackback:ping><description><![CDATA[Javascript日期函数       <br />  Date（日期）对象可以使用Date()构造器来创建，在前面的教程中我们已经介绍了Date()构造器，这里就不重复叙述。它没有参数，返回的数值就是当前的日期。下面的表格<nobr oncontextmenu="return false;" onmousemove="kwM(5);" id="key5" onmouseover="kwE(event,5, this);" style="COLOR: #6600ff; BORDER-BOTTOM: #6600ff 1px dotted; BACKGROUND-COLOR: transparent; TEXT-DECORATION: underline" onclick="return kwC();" onmouseout="kwL(event, this);" target="_blank">显示</nobr>了为日期构造器的有效输入：   <br />    <br />  var   today   =   new   Date();     <br />    返回当前的日期和时间     <br />      <br />  var   newyear   =   new   Date(December   31,   1998   23:59:59);     <br />    输入的是表单的字符串   “月   日，年   小时：分钟：秒”     <br />      <br />  var   bday   =   new   Date(75,   1,   16);     <br />    参数是年份，月，日     <br />      <br />  var   bday   =   new   Date(75,   1,   16,   12,   0,   0);     <br />    参数是年份，月，日，小时，分钟，秒     <br />      <br />    <br />    <br />  这里作点补充：月份是从0<nobr oncontextmenu="return false;" onmousemove="kwM(7);" id="key7" onmouseover="kwE(event,7, this);" style="COLOR: #6600ff; BORDER-BOTTOM: #6600ff 1px dotted; BACKGROUND-COLOR: transparent; TEXT-DECORATION: underline" onclick="return kwC();" onmouseout="kwL(event, this);" target="_blank">开始</nobr>的，比如一月份=0，二月份=1，三月份=3等等。   <br />    <br />  从上面可以看出创建一个日期对象是相对地简单，以下的表格是一系列的函数可以用于改变或者访问这些对象的属性：   <br />    <br />  日期访问<nobr oncontextmenu="return false;" onmousemove="kwM(3);" id="key3" onmouseover="kwE(event,3, this);" style="COLOR: #6600ff; BORDER-BOTTOM: 0px dotted; BACKGROUND-COLOR: transparent; TEXT-DECORATION: underline" onclick="return kwC();" onmouseout="kwL(event, this);" target="_blank">方法</nobr>   <br />    <br />  Method(方法)     <br />    Description   （描述）     <br />    Value（数值）     <br />      <br />  getYear()     <br />    返回年份的最后两位数字     <br />    2001     <br />      <br />  getMonth()     <br />    返回年份中的第几月(0到11)     <br />    5     <br />      <br />  getDate()     <br />    返回月份中的第几日(1到31)     <br />    2     <br />      <br />  getDay()     <br />    返回星期中的第几天   (0到6)     <br />    6     <br />      <br />  getTimezoneOffset()     <br />    返回当地时间与格林尼治天文台平均时间的差别     <br />    -480   (-8h)     <br />      <br />  getHours()     <br />    返回一天中的时针点数（0到23）     <br />    16     <br />      <br />  getMinutes()     <br />    返回分钟   (0..59)     <br />    8     <br />      <br />  getSeconds()     <br />    返回时间的秒   (0到59)     <br />    24     <br />      <br />  getTime()     <br />    返回自从公元1970年1月1日的毫秒数     <br />    991469304470     <br />      <br />    <br />    <br />  这里注意：IE<nobr oncontextmenu="return false;" onmousemove="kwM(4);" id="key4" onmouseover="kwE(event,4, this);" style="COLOR: #6600ff; BORDER-BOTTOM: 0px dotted; BACKGROUND-COLOR: transparent; TEXT-DECORATION: underline" onclick="return kwC();" onmouseout="kwL(event, this);" target="_blank">浏览</nobr>器的一些版本返回Timezoneoffset数值是用错误的符号，比如用”-”代替”+”等等。   <br />    <br />  日期设置方法   <br />    <br />  setDate()     <br />    <nobr oncontextmenu="return false;" onmousemove="kwM(8);" id="key8" onmouseover="kwE(event,8, this);" style="COLOR: #6600ff; BORDER-BOTTOM: #6600ff 1px dotted; BACKGROUND-COLOR: transparent; TEXT-DECORATION: underline" onclick="return kwC();" onmouseout="kwL(event, this);" target="_blank">设置</nobr>每月中的第几天（从0到30）     <br />      <br />  setHours()     <br />    设置小时（从0到23）     <br />      <br />  setMinutes()     <br />    设置分钟（从0到59）     <br />      <br />  setMonth()     <br />    设置月份（从0到11）     <br />      <br />  setSeconds()     <br />    设置秒数（从0到59）     <br />      <br />  setTime()     <br />    设置时间（从公元以来的毫秒数）     <br />      <br />  setYear()     <br />    设置年份     <br />      <br />    <br />    <br />  其它的日期方法   <br />    <br />  parse     <br />    转化日期字符串为自从公元以来的毫秒数，比如Date.parse(“date   string”)     <br />      <br />  toString()     <br />    Sat   Jun   2   16:08:24   UTC+0800   2001     <br />      <br />  toGMTString()     <br />    Sat,   2   Jun   2001   08:08:24   UTC     <br />      <br />  toLocaleString()     <br />    2001年6月2日   16:08:24     <br />      <br />    <br />    <br />  所有的这些函数引用于独立的日期对象。如果你具有深厚的Java<nobr oncontextmenu="return false;" onmousemove="kwM(2);" id="key2" onmouseover="kwE(event,2, this);" style="COLOR: #6600ff; BORDER-BOTTOM: #6600ff 1px dotted; BACKGROUND-COLOR: transparent; TEXT-DECORATION: underline" onclick="return kwC();" onmouseout="kwL(event, this);" target="_blank">编程</nobr>背景，那么你可以将它们认为是Date类的一些公共的方法而已。下面给出一个典型的例子来设置日期对象到当前时间加1年：     <br />    <br />  var   nextYear   =   new   Date();   //   初始化日期对象   <br />    <br />  nextyear.setYear(nextYear.getYear()   +   1);   //   增加1年   <br />    <br />  实际上，parse函数是Date对象的一个方法，而不是一个独立的日期变量，如果使用Java术语，它就称为Date类的一个静态方法。这个正是我们为什么使用Date.pase()而不使用somedate.parse()的原因啦。 <img src ="http://www.blogjava.net/yunye/aggbug/225681.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/yunye/" target="_blank">成家荣</a> 2008-08-30 03:24 <a href="http://www.blogjava.net/yunye/articles/225681.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[原][javascript]通过时间和时间间隔算日期----小小的原创</title><link>http://www.blogjava.net/yunye/articles/225680.html</link><dc:creator>成家荣</dc:creator><author>成家荣</author><pubDate>Fri, 29 Aug 2008 19:23:00 GMT</pubDate><guid>http://www.blogjava.net/yunye/articles/225680.html</guid><wfw:comment>http://www.blogjava.net/yunye/comments/225680.html</wfw:comment><comments>http://www.blogjava.net/yunye/articles/225680.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/yunye/comments/commentRss/225680.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/yunye/services/trackbacks/225680.html</trackback:ping><description><![CDATA[
		<p>&lt;html&gt;<br />&lt;head&gt;<br />&lt;script language='javascript'&gt;</p>
		<p>///////////////////////////////基础小处理函数</p>
		<p>function cekleap(input)//判断闰年<br />{<br />if(typeof(input)=="string")<br />{var y=input.substring(0,4);}<br />else<br />{var y=input}<br />if(y%4!=0)<br />{return false;}<br />else<br />{<br />    if((y%100!=0)||(y%400==0)){return true;}<br />    else{return false;}<br />}<br />}</p>
		<p>function calMMDD(indays,leap)//知道天数算日期且indays&lt;=(365or366);leap为真为闰年,为假为平年<br />{<br />var a1=new Array(31,28,31,30,31,30,31,31,30,31,30,31);<br />var a2=new Array(31,29,31,30,31,30,31,31,30,31,30,31);</p>
		<p>var inN=indays;<br />var inL=leap;</p>
		<p>switch(inL)<br />{<br />case true:{var aa=a2;break;}<br />case false:{var aa=a1;break;}<br />default:{break;}<br />}</p>
		<p>var outO=new Object();</p>
		<p>for(var i=0;i&lt;12;i++)<br />{<br />    if(inN&lt;=aa[i])<br />    {<br />    outO.mm=i+1;<br />    outO.dd=inN;<br />    break;<br />    }<br />    else<br />    {inN-=aa[i];}<br />}<br />return(outO);<br />}</p>
		<p>function convertion(yy,mm,dd)//整理输出<br />{<br />switch(mm&lt;10)<br />{<br />case true:{mm="0"+mm;break;}<br />default:{break;}<br />}<br />switch(dd&lt;10)<br />{<br />    case true:{dd="0"+dd;break;}<br />    default:{break;}<br />} <br />var outS=yy+"-"+mm+"-"+dd;//格式可更改<br />return(outS);<br />}</p>
		<p>
				<font color="#ff0000">///////////////////////////////算以后的日期</font>
		</p>
		<p>function addday(inputS,inputN)     //inputS 的格式 yyyy-mm-dd  <br />{<br />// alert("l12");<br />var outS="";</p>
		<p>var dis=inputN-0;//先处理下 转成数字<br />var yy=inputS.substring(0,4)-0;<br />var mm=inputS.substring(5,7)-0;<br />var dd=inputS.substring(8,10)-0;<br />//alert(yy);<br />//alert(mm);<br />//alert(dd);</p>
		<p>var a1=new Array(31,28,31,30,31,30,31,31,30,31,30,31);<br />var a2=new Array(31,29,31,30,31,30,31,31,30,31,30,31);</p>
		<p>if(!cekleap(yy))<br />{<br />    var aa=a1;<br />}<br />else<br />{<br />    var aa=a2;<br />}</p>
		<p>var tt=aa[mm-1]-dd; //本月剩下的天数 <br />//alert(aa[mm-1]);  </p>
		<p>if(dis&lt;=tt)     //先处理本月<br />     {<br />      dd+=dis;<br />      outS=convertion(yy,mm,dd);<br />      return(outS);<br />     }<br />else<br />     {<br />      mm+=1;     <br />      dis-=tt;<br />     }</p>
		<p>if(mm==13)//是否跨年<br />{ <br />yy+=1;<br />mm=1;<br />if(!cekleap(yy))<br />{<br />    aa=a1;<br />}<br />else<br />{<br />    aa=a2;<br />}<br />}</p>
		<p>for(var i=(mm-1);i&lt;=11;i++)     //接着后面处理<br />{<br />    switch (i)<br />     {<br />      case 11:        //判断是否为12月<br />       {<br />//      alert("laa");<br />        if(dis&lt;=aa[i])<br />         {<br />outS=convertion(yy,(i+1),dis);<br />return(outS);<br />         }<br />        else<br />         {<br />          dis-=aa[i];<br />yy+=1;<br />if(!cekleap(yy))<br />    {<br />     aa=a1;<br />    }<br />    else<br />    {<br />     aa=a2;<br />    }<br />i=-1; //跨年<br />         }<br />break;<br />       }<br />      default:<br />       {<br />//       alert("l7");<br />        if(dis&lt;=aa[i])<br />        {<br />outS=outS=convertion(yy,(i+1),dis);<br />// alert(outS);<br />return(outS);<br />        }<br />        else<br />        {<br />         dis-=aa[i];       <br />        }<br />break;<br />       } <br />     }<br />}<br />//alert("l10");<br />}</p>
		<p>
				<br />
				<font color="#ff0000">///////////////////////////////算以前的日期</font>
		</p>
		<p>function subtractday(inputS,inputN)     //inputS 的格式 yyyy-mm-dd  <br />{<br />var outS="";</p>
		<p>var dis=inputN-0;<br />var yy=inputS.substring(0,4)-0;<br />var mm=inputS.substring(5,7)-0;<br />var dd=inputS.substring(8,10)-0;</p>
		<p>var a1=new Array(31,28,31,30,31,30,31,31,30,31,30,31);<br />var a2=new Array(31,29,31,30,31,30,31,31,30,31,30,31);</p>
		<p>if(!cekleap(yy))<br />{<br />    var aa=a1;<br />}<br />else<br />{<br />    var aa=a2;<br />}</p>
		<p>if(dis&lt;dd)     //先处理本月<br />     {    <br />      outS=convertion(yy,mm,(dd-dis));<br />      return(outS);<br />     }<br />else<br />     {mm-=1;     <br />      dis-=dd;}</p>
		<p>
				<br />if(mm==0)//看是否跨年<br />{ <br />yy-=1;<br />mm=12;<br />if(!cekleap(yy))<br />{<br />    aa=a1;<br />}<br />else<br />{<br />    aa=a2;<br />}<br />}</p>
		<p>for(var i=(mm-1);i&gt;=0;i--)     //接着后面处理<br />{<br />    switch (i)<br />     {<br />      case 0:        //判断是否为1月<br />       {<br />        if(dis&lt;aa[i])<br />         {<br />outS=convertion(yy,(i+1),(aa[i]-dis));<br />return(outS);<br />         }<br />        else<br />         {<br />          dis-=aa[i];<br />yy-=1;<br />if(!cekleap(yy))<br />    {<br />     aa=a1;<br />    }<br />    else<br />    {<br />     aa=a2;<br />    }<br />i=12; //跨年<br />         }<br />break;<br />       }<br />      default:<br />       {<br />        if(dis&lt;aa[i])<br />        {<br />outS=convertion(yy,(i+1),(aa[i]-dis));<br />return(outS);<br />        }<br />        else<br />        {<br />         dis-=aa[i];       <br />        }<br />break;<br />       } <br />     }<br />}<br />}</p>
		<p>
				<font color="#ff0000">////////////////////////////////////间隔输入可正可负</font>
		</p>
		<p>function multiuseday(inputS,inputN) //inputS的格式 yyyy-mm-dd    inputN为天数(可正可负) 估算结果时间不能早于1970.01.01或者超过2100年<br />{<br />var outS;<br />var indate=new Date(inputS.substring(0,4),(inputS.substring(5,7)-1),inputS.substring(8,10)); //起点时间 <br />var Stime=new Date(1970,00,01);//标准时间    //注意:用 new Date 月份是从0开始的<br />var Tdis=indate-Stime+24*60*60*1000;//因为从1号开始 所以要加一天<br />var oneday=24*60*60*1000;</p>
		<p>//alert("x1");<br />//alert(Tdis/oneday);</p>
		<p>//alert("xX1");<br />//alert(indate/oneday);</p>
		<p>var dis=(inputN-0)*24*60*60*1000;//换成毫秒</p>
		<p>//alert("x11");<br />//alert(dis/oneday);</p>
		<p>if(dis==0){return(inputS);}</p>
		<p>dis=(Tdis+dis)/oneday;</p>
		<p>//alert("x111");<br />//alert(dis);</p>
		<p>var normalyear=365;<br />var leapyear=366;</p>
		<p>var Ydis=0;//年间隔<br />var Ddis=0;//天间隔<br />var mmdd=new Object();//月份日号对象</p>
		<p>
				<br />if(dis&lt;=normalyear)//1970年<br />{<br />    Ddis+=dis;<br />    mmdd=calMMDD(Ddis,false);<br />    outS=convertion((1970+Ydis),mmdd.mm,mmdd.dd);////<br />    return(outS);<br />}</p>
		<p>if(dis&lt;=(normalyear*2))//1971年<br />{<br />    Ydis=1;<br />    Ddis+=(dis-365);<br />    mmdd=calMMDD(Ddis,false);<br />    outS=convertion((1970+Ydis),mmdd.mm,mmdd.dd);////<br />    return(outS);<br />}</p>
		<p>//alert("x1111");<br />//alert(Ddis);</p>
		<p>dis-=(normalyear*2);</p>
		<p>//alert("bbb1");<br />//alert(dis);</p>
		<p>//4年周期处理 从1972闰年开始<br /><br />Ydis=Math.floor(dis/(leapyear+normalyear*3));//注意处理小数部分<br /><br />Ydis=2+Ydis*4;//年的间隔</p>
		<p>Ddis=Ddis+dis%(leapyear+normalyear*3); //落在一个周期内的天数</p>
		<p>//alert("x11111");<br />//alert(Ddis);<br />if(Ddis==0)//正好落在周期的最后1天 特殊处理<br />{Ydis-=4;Ddis=1461;}</p>
		<p>
				<br />if(Ddis&lt;=731)    //做周期内判断 1闰3平<br />{<br />    if(Ddis&lt;=366)<br />    {<br />     mmdd=calMMDD(Ddis,true);<br />    }<br />    else<br />    {<br />     Ydis+=1;<br />     Ddis-=366;<br />     mmdd=calMMDD(Ddis,false);<br />    }<br />}<br />else<br />{<br />    if(Ddis&lt;=1096)<br />     {<br />      Ydis+=2;<br />      Ddis-=731;<br />      mmdd=calMMDD(Ddis,false);<br />     }<br />    else<br />     {<br />      Ydis+=3;<br />      Ddis-=1096;<br />      mmdd=calMMDD(Ddis,false);<br />     }<br />}<br />outS=convertion((1970+Ydis),mmdd.mm,mmdd.dd);////<br />return(outS);<br />}</p>
		<p>////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////</p>
		<p>
				<br />function clka()<br />{<br />var mes=cekleap("2008");<br />alert(mes);<br />}</p>
		<p>
		</p>
		<p>function add()<br />{<br />var obj01=document.getElementById("txt01");<br />var obj02=document.getElementById("txt02");<br />var obj03=document.getElementById("txt03");<br />obj03.value=addday(obj01.value,obj02.value);<br />}</p>
		<p>function subtract()<br />{<br />var obj04=document.getElementById("txt04");<br />var obj05=document.getElementById("txt05");<br />var obj06=document.getElementById("txt06");<br />obj06.value=subtractday(obj04.value,obj05.value);<br />}</p>
		<p>function multiuse()<br />{<br />var obj07=document.getElementById("txt07");<br />var obj08=document.getElementById("txt08");<br />var obj09=document.getElementById("txt09");<br />obj09.value=multiuseday(obj07.value,obj08.value);<br />}<br />&lt;/script&gt;</p>
		<p>&lt;/head&gt;<br />&lt;body&gt;<br />&lt;input type='text' id='txt01' name='txt01' size='20'&gt;&amp;nbsp;+<br />&lt;input type='text' id='txt02' name='txt02' size='20'&gt;&amp;nbsp;=<br />&lt;input type='text' id='txt03' name='txt03' size='20'&gt;&amp;nbsp;ADD控制<br />&lt;br&gt;&lt;br&gt;<br />&lt;input type='text' id='txt04' name='txt01' size='20'&gt;&amp;nbsp;-<br />&lt;input type='text' id='txt05' name='txt02' size='20'&gt;&amp;nbsp;=<br />&lt;input type='text' id='txt06' name='txt02' size='20'&gt;&amp;nbsp;SUB控制<br />&lt;br&gt;&lt;br&gt;<br />&lt;input type='text' id='txt07' name='txt07' size='20'&gt;&amp;nbsp;<br />&lt;input type='text' id='txt08' name='txt08' size='20'&gt;&amp;nbsp;<br />&lt;input type='text' id='txt09' name='txt09' size='20'&gt;&amp;nbsp;MULUSE控制<br />&lt;br&gt;&lt;br&gt;<br />&amp;nbsp;&amp;nbsp;&amp;nbsp;<br />&lt;input type='button' id='btn01' name='btn01' value='检    测' &gt;<br />&lt;input type='button' id='btn02' name='btn02' value='L E A P' onClick='clka();'&gt;<br />&lt;input type='button' id='btn03' name='btn03' value='A D D' onClick='add();'&gt;<br />&lt;input type='button' id='btn04' name='btn04' value='S U B' onClick='subtract();'&gt;<br />&lt;input type='button' id='btn05' name='btn05' value='M U L' onClick='multiuse();'&gt;<br />&lt;/body&gt;<br />&lt;/html&gt;</p>
		<p>
		</p>
		<p>上面的代码经过本人的基本功能测试 还勉强可以对付下 呵呵<br /></p>
<img src ="http://www.blogjava.net/yunye/aggbug/225680.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/yunye/" target="_blank">成家荣</a> 2008-08-30 03:23 <a href="http://www.blogjava.net/yunye/articles/225680.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>几个javascript时间函数</title><link>http://www.blogjava.net/yunye/articles/225679.html</link><dc:creator>成家荣</dc:creator><author>成家荣</author><pubDate>Fri, 29 Aug 2008 19:22:00 GMT</pubDate><guid>http://www.blogjava.net/yunye/articles/225679.html</guid><wfw:comment>http://www.blogjava.net/yunye/comments/225679.html</wfw:comment><comments>http://www.blogjava.net/yunye/articles/225679.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/yunye/comments/commentRss/225679.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/yunye/services/trackbacks/225679.html</trackback:ping><description><![CDATA[
		<p>
				<font size="2">now=new Date();<br />hours = now.getHours();  //得到小时<br />minutes = now.getMinutes();  //得到分钟<br />seconds = now.getSeconds();  //得到秒</font>
		</p>
		<p>year=now.getYear();  //得到年份<br />month=now.getMonth()+1;  //得到月份<br />date=now.getDate();  //得到日期<br />day=now.getDay();  //得到星期数</p>
		<p>一个显示时间日期的函数：</p>
		<p>function clock()<br />{<br /> var timeStr, dateStr;<br /> now = new Date();<br /> // time<br /> hours = now.getHours();<br /> minutes = now.getMinutes();<br /> seconds = now.getSeconds();<br /> if(hours &lt; 10)<br />  timeStr = "0"+hours;<br /> else timeStr=hours;<br /> if(minutes &lt; 10)<br />  timeStr+=":0"+minutes;<br /> else timeStr+=":"+minutes;<br /> if(seconds &lt; 10)<br />  timeStr+=":0"+seconds;<br /> else timeStr+=":"+seconds;<br /> document.clock.time.value=timeStr;<br /> //date<br /> year=now.getYear();<br /> month=now.getMonth()+1;<br /> date=now.getDate();<br /> dateStr=year;<br /> if(month&lt;10)<br />  dateStr+="/0"+month;<br /> else dateStr+="/"+month;<br /> if(date&lt;10)<br />  dateStr+="/0"+date;<br /> else dateStr+="/"+date;<br /> document.clock.date.value=dateStr;<br /> Timer=setTimeout("clock()",1000);<br />}</p>
<img src ="http://www.blogjava.net/yunye/aggbug/225679.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/yunye/" target="_blank">成家荣</a> 2008-08-30 03:22 <a href="http://www.blogjava.net/yunye/articles/225679.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>使用 Enter 键提交表单 </title><link>http://www.blogjava.net/yunye/articles/225678.html</link><dc:creator>成家荣</dc:creator><author>成家荣</author><pubDate>Fri, 29 Aug 2008 19:21:00 GMT</pubDate><guid>http://www.blogjava.net/yunye/articles/225678.html</guid><wfw:comment>http://www.blogjava.net/yunye/comments/225678.html</wfw:comment><comments>http://www.blogjava.net/yunye/articles/225678.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/yunye/comments/commentRss/225678.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/yunye/services/trackbacks/225678.html</trackback:ping><description><![CDATA[
		<pre style="MARGIN: 5px">&lt;SCRIPT type=text/javascript&gt;
    function doClick(buttonName,e)
    {
<span style="COLOR: #008000">//the purpose of this function is to allow the enter key to </span><span style="COLOR: #008000">//point to the correct button to click.</span>
        var key;

         <span style="COLOR: #0000ff">if</span>(window.<span style="COLOR: #0000ff">event</span>)
              key = window.<span style="COLOR: #0000ff">event</span>.keyCode;     <span style="COLOR: #008000">//IE</span><span style="COLOR: #0000ff">else</span>
              key = e.which;     <span style="COLOR: #008000">//firefox</span><span style="COLOR: #0000ff">if</span> (key == 13)
        {
            <span style="COLOR: #008000">//Get the button the user wants to have clicked</span>
            var btn = document.getElementById(buttonName);
            <span style="COLOR: #0000ff">if</span> (btn != <span style="COLOR: #0000ff">null</span>)
            { <span style="COLOR: #008000">//If we find the button click it</span>
                btn.click();
                <span style="COLOR: #0000ff">event</span>.keyCode = 0
            }
        }
   }</pre>
		<pre style="MARGIN: 5px">&lt;/SCRIPT&gt;</pre>
<img src ="http://www.blogjava.net/yunye/aggbug/225678.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/yunye/" target="_blank">成家荣</a> 2008-08-30 03:21 <a href="http://www.blogjava.net/yunye/articles/225678.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>js将数值格式化成金额形式</title><link>http://www.blogjava.net/yunye/articles/225677.html</link><dc:creator>成家荣</dc:creator><author>成家荣</author><pubDate>Fri, 29 Aug 2008 19:19:00 GMT</pubDate><guid>http://www.blogjava.net/yunye/articles/225677.html</guid><wfw:comment>http://www.blogjava.net/yunye/comments/225677.html</wfw:comment><comments>http://www.blogjava.net/yunye/articles/225677.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/yunye/comments/commentRss/225677.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/yunye/services/trackbacks/225677.html</trackback:ping><description><![CDATA[
		<div id="art" style="MARGIN: 15px">
				<div>/**<br /> * 将数值四舍五入(保留2位小数)后格式化成金额形式<br /> *<br /> * @param num 数值(Number或者String)<br /> * @return 金额格式的字符串,如'1,234,567.45'<br /> * @type String<br /> */<br />function formatCurrency(num) {<br />    num = num.toString().replace(/\$|\,/g,'');<br />    if(isNaN(num))<br />    num = "0";<br />    sign = (num == (num = Math.abs(num)));<br />    num = Math.floor(num*100+0.50000000001);<br />    cents = num%100;<br />    num = Math.floor(num/100).toString();<br />    if(cents&lt;10)<br />    cents = "0" + cents;<br />    for (var i = 0; i &lt; Math.floor((num.length-(1+i))/3); i++)<br />    num = num.substring(0,num.length-(4*i+3))+','+<br />    num.substring(num.length-(4*i+3));<br />    return (((sign)?'':'-') + num + '.' + cents);<br />}</div>
				<div> </div>
				<div>/**<br /> * 将数值四舍五入(保留1位小数)后格式化成金额形式<br /> *<br /> * @param num 数值(Number或者String)<br /> * @return 金额格式的字符串,如'1,234,567.4'<br /> * @type String<br /> */<br />function formatCurrencyTenThou(num) {<br />    num = num.toString().replace(/\$|\,/g,'');<br />    if(isNaN(num))<br />    num = "0";<br />    sign = (num == (num = Math.abs(num)));<br />    num = Math.floor(num*10+0.50000000001);<br />    cents = num%10;<br />    num = Math.floor(num/10).toString();<br />    for (var i = 0; i &lt; Math.floor((num.length-(1+i))/3); i++)<br />    num = num.substring(0,num.length-(4*i+3))+','+<br />    num.substring(num.length-(4*i+3));<br />    return (((sign)?'':'-') + num + '.' + cents);<br />}</div>
				<div>
				</div>
		</div>
<img src ="http://www.blogjava.net/yunye/aggbug/225677.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/yunye/" target="_blank">成家荣</a> 2008-08-30 03:19 <a href="http://www.blogjava.net/yunye/articles/225677.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>