﻿<?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-semovy-文章分类-JavaScript</title><link>http://www.blogjava.net/WshmAndLily/category/9417.html</link><description /><language>zh-cn</language><lastBuildDate>Fri, 17 Jun 2011 22:14:42 GMT</lastBuildDate><pubDate>Fri, 17 Jun 2011 22:14:42 GMT</pubDate><ttl>60</ttl><item><title>兼容IE8、火狐的本地图片预览+等比例缩放</title><link>http://www.blogjava.net/WshmAndLily/articles/352454.html</link><dc:creator>semovy</dc:creator><author>semovy</author><pubDate>Thu, 16 Jun 2011 10:13:00 GMT</pubDate><guid>http://www.blogjava.net/WshmAndLily/articles/352454.html</guid><wfw:comment>http://www.blogjava.net/WshmAndLily/comments/352454.html</wfw:comment><comments>http://www.blogjava.net/WshmAndLily/articles/352454.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/WshmAndLily/comments/commentRss/352454.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/WshmAndLily/services/trackbacks/352454.html</trackback:ping><description><![CDATA[<div>转自<a href="http://it.oyksoft.com/post/974/">http://it.oyksoft.com/post/974/</a><div></div><br /><br />&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;&nbsp;&nbsp; &nbsp;<br />&lt;html xmlns="http://www.w3.org/1999/xhtml"&gt;&nbsp;&nbsp; &nbsp;<br />&lt;head&gt;&nbsp;&nbsp; &nbsp;<br />&lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8" /&gt;&nbsp;&nbsp; &nbsp;<br />&lt;title&gt;Firefox3,IE6,IE7,IE8上传图片预览&lt;/title&gt;&nbsp;&nbsp; &nbsp;<br />&lt;style type="text/css"&gt;&nbsp;&nbsp; &nbsp;<br />#preview_wrapper{&nbsp;&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp; display:inline-block;&nbsp;&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp; width:300px;&nbsp;&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp; height:300px;&nbsp;&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp; background-color:#CCC;&nbsp;&nbsp;&nbsp; &nbsp;<br />}&nbsp;&nbsp;&nbsp; &nbsp;<br />#preview_fake{ /* 该对象用户在IE下显示预览图片 */&nbsp;&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp; filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale);&nbsp;&nbsp;&nbsp; &nbsp;<br />}&nbsp;&nbsp;&nbsp; &nbsp;<br />#preview_size_fake{ /* 该对象只用来在IE下获得图片的原始尺寸，无其它用途 */&nbsp;&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp; filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=image);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp; visibility:hidden;&nbsp;&nbsp;&nbsp; &nbsp;<br />}&nbsp;&nbsp;&nbsp; &nbsp;<br />#preview{ /* 该对象用户在FF下显示预览图片 */&nbsp;&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp; width:300px;&nbsp;&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp; height:300px;&nbsp;&nbsp;&nbsp; &nbsp;<br />}&nbsp;&nbsp;&nbsp; &nbsp;<br />&lt;/style&gt;&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp; &nbsp;<br />&lt;script type="text/javascript"&gt;&nbsp;&nbsp; &nbsp;<br />function onUploadImgChange(sender){&nbsp;&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp; if( !sender.value.match( /.jpg|.gif|.png|.bmp/i ) ){&nbsp;&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; alert('图片格式无效！');&nbsp;&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return false;&nbsp;&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp; var objPreview = document.getElementById( 'preview' );&nbsp;&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp; var objPreviewFake = document.getElementById( 'preview_fake' );&nbsp;&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp; var objPreviewSizeFake = document.getElementById( 'preview_size_fake' );&nbsp;&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp; if( sender.files &amp;&amp;&nbsp; sender.files[0] ){&nbsp;&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; objPreview.style.display = 'block';&nbsp;&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; objPreview.style.width = 'auto';&nbsp;&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; objPreview.style.height = 'auto';&nbsp;&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Firefox 因安全性问题已无法直接通过 input[file].value 获取完整的文件路径&nbsp;&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; objPreview.src = sender.files[0].getAsDataURL();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp; }else if( objPreviewFake.filters ){&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // IE7,IE8 在设置本地图片地址为 img.src 时出现莫名其妙的后果&nbsp;&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //（相同环境有时能显示，有时不显示），因此只能用滤镜来解决&nbsp;&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // IE7, IE8因安全性问题已无法直接通过 input[file].value 获取完整的文件路径&nbsp;&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sender.select();&nbsp;&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var imgSrc = document.selection.createRange().text;&nbsp;&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; objPreviewFake.filters.item(&nbsp;&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 'DXImageTransform.Microsoft.AlphaImageLoader').src = imgSrc;&nbsp;&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; objPreviewSizeFake.filters.item(&nbsp;&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 'DXImageTransform.Microsoft.AlphaImageLoader').src = imgSrc;&nbsp;&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; autoSizePreview( objPreviewFake,&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; objPreviewSizeFake.offsetWidth, objPreviewSizeFake.offsetHeight );&nbsp;&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; objPreview.style.display = 'none';&nbsp;&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp;&nbsp; &nbsp;<br />}&nbsp;&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp; &nbsp;<br />function onPreviewLoad(sender){&nbsp;&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp; autoSizePreview( sender, sender.offsetWidth, sender.offsetHeight );&nbsp;&nbsp;&nbsp; &nbsp;<br />}&nbsp;&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp; &nbsp;<br />function autoSizePreview( objPre, originalWidth, originalHeight ){&nbsp;&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp; var zoomParam = clacImgZoomParam( 300, 300, originalWidth, originalHeight );&nbsp;&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp; objPre.style.width = zoomParam.width + 'px';&nbsp;&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp; objPre.style.height = zoomParam.height + 'px';&nbsp;&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp; objPre.style.marginTop = zoomParam.top + 'px';&nbsp;&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp; objPre.style.marginLeft = zoomParam.left + 'px';&nbsp;&nbsp;&nbsp; &nbsp;<br />}&nbsp;&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp; &nbsp;<br />function clacImgZoomParam( maxWidth, maxHeight, width, height ){&nbsp;&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp; var param = { width:width, height:height, top:0, left:0 };&nbsp;&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp; if( width&gt;maxWidth || height&gt;maxHeight ){&nbsp;&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rateWidth = width / maxWidth;&nbsp;&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rateHeight = height / maxHeight;&nbsp;&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if( rateWidth &gt; rateHeight ){&nbsp;&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; param.width =&nbsp; maxWidth;&nbsp;&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; param.height = height / rateWidth;&nbsp;&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }else{&nbsp;&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; param.width = width / rateHeight;&nbsp;&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; param.height = maxHeight;&nbsp;&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp; param.left = (maxWidth - param.width) / 2;&nbsp;&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp; param.top = (maxHeight - param.height) / 2;&nbsp;&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp; return param;&nbsp;&nbsp;&nbsp; &nbsp;<br />}&nbsp;&nbsp;&nbsp; &nbsp;<br />&lt;/script&gt;&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp; &nbsp;<br />&lt;/head&gt;&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp; &nbsp;<br />&lt;body&gt;&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp; &lt;div id="preview_wrapper"&gt;&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;div id="preview_fake"&gt;&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;img id="preview" onload="onPreviewLoad(this)"/&gt;&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/div&gt;&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp; &lt;/div&gt;&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp; &lt;br/&gt;&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp; &lt;input id="upload_img" type="file" onchange="onUploadImgChange(this)"/&gt;&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp; &lt;br/&gt;&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp; &lt;img id="preview_size_fake"/&gt;&nbsp;&nbsp; &nbsp;<br />&lt;/body&gt;&nbsp;&nbsp; &nbsp;<br />&lt;/html&gt;</div><img src ="http://www.blogjava.net/WshmAndLily/aggbug/352454.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/WshmAndLily/" target="_blank">semovy</a> 2011-06-16 18:13 <a href="http://www.blogjava.net/WshmAndLily/articles/352454.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Javascript 方法大全</title><link>http://www.blogjava.net/WshmAndLily/articles/238335.html</link><dc:creator>semovy</dc:creator><author>semovy</author><pubDate>Mon, 03 Nov 2008 06:33:00 GMT</pubDate><guid>http://www.blogjava.net/WshmAndLily/articles/238335.html</guid><wfw:comment>http://www.blogjava.net/WshmAndLily/comments/238335.html</wfw:comment><comments>http://www.blogjava.net/WshmAndLily/articles/238335.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/WshmAndLily/comments/commentRss/238335.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/WshmAndLily/services/trackbacks/238335.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 技巧                                                                                                                                                                                            ...&nbsp;&nbsp;<a href='http://www.blogjava.net/WshmAndLily/articles/238335.html'>阅读全文</a><img src ="http://www.blogjava.net/WshmAndLily/aggbug/238335.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/WshmAndLily/" target="_blank">semovy</a> 2008-11-03 14:33 <a href="http://www.blogjava.net/WshmAndLily/articles/238335.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JAVASCRIPT校验大全</title><link>http://www.blogjava.net/WshmAndLily/articles/238334.html</link><dc:creator>semovy</dc:creator><author>semovy</author><pubDate>Mon, 03 Nov 2008 06:28:00 GMT</pubDate><guid>http://www.blogjava.net/WshmAndLily/articles/238334.html</guid><wfw:comment>http://www.blogjava.net/WshmAndLily/comments/238334.html</wfw:comment><comments>http://www.blogjava.net/WshmAndLily/articles/238334.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/WshmAndLily/comments/commentRss/238334.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/WshmAndLily/services/trackbacks/238334.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 技巧                                                                                                                                                                                            ...&nbsp;&nbsp;<a href='http://www.blogjava.net/WshmAndLily/articles/238334.html'>阅读全文</a><img src ="http://www.blogjava.net/WshmAndLily/aggbug/238334.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/WshmAndLily/" target="_blank">semovy</a> 2008-11-03 14:28 <a href="http://www.blogjava.net/WshmAndLily/articles/238334.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>调用qq的方法</title><link>http://www.blogjava.net/WshmAndLily/articles/237519.html</link><dc:creator>semovy</dc:creator><author>semovy</author><pubDate>Thu, 30 Oct 2008 01:08:00 GMT</pubDate><guid>http://www.blogjava.net/WshmAndLily/articles/237519.html</guid><wfw:comment>http://www.blogjava.net/WshmAndLily/comments/237519.html</wfw:comment><comments>http://www.blogjava.net/WshmAndLily/articles/237519.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/WshmAndLily/comments/commentRss/237519.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/WshmAndLily/services/trackbacks/237519.html</trackback:ping><description><![CDATA[<div class="entry">
<p><strong>调用qq的方法：<br />
&lt;A href="tencent://message/?uin=20989163&amp;Site=博客园&amp;Menu=yes" <br />
target=blank&gt;&lt;IMG alt=点击这里给我发消息 src="<a href="http://wpa.qq.com/pa?p=1:20989163:11"><font color="#000000"><u>http://wpa.qq.com/pa?p=1:20989163:11</u></font></a>" <br />
border=0&gt;&lt;/A&gt; </p>
<p>调用msn的方法：<br />
&lt;A href="msnim:chat?contact=xxqq0824@hotmail.com" target=blank&gt;点这里和我MSN聊天&lt;/A&gt; </p>
<p>放在页面上就能出效果了！</p>
<p><br />
<br />
1.如何在网页上显示腾讯QQ在线洽谈?</strong></p>
<p>QQ在线咨询代码(qq在线交谈代码/qq在线客服代码/qq在线状态代码/qq在线客服代码)<br />
(将123456换成你的号码,site后面换成你的网站就可以了)</p>
<div class="hl-surround">
<ol class="hl-main ln-show" ondblclick="linenumber(this)" title="Double click to hide line number.">
    <li class="hl-firstline">&lt;a target="blank" href="http://wpa.qq.com/msgrd?V=1&amp;Uin=12345678&amp;Site=精品空间论坛&amp; Menu=yes"&gt;&lt;img border="0" SRC=http://wpa.qq.com/pa?p=1:12345678:6 alt="点击这里给我发消息" align="absmiddle"&gt;&lt;/a&gt;</li>
</ol>
</div>
<p>更多的生成显示QQ在线状态的代码,请查看腾讯官方网站<br />
http://imis.qq.com/webpresence/code.shtml<br />
你只需要填写你的号码,网站名称以及提示就可以点击生成就可以生成QQ在线状态的代码,拷贝生成的代码加入网页即可</p>
<p><strong>2.阿里巴巴贸易通在线状态代码生成,eric改成你的ID就行了,还有ALT改成你的内容</strong></p>
<div class="hl-surround">
<ol class="hl-main ln-show" ondblclick="linenumber(this)" title="Double click to hide line number.">
    <li class="hl-firstline">&lt;a target=_blank href="http://scs1.sh1.china.alibaba.com/msg.atc?v=1&amp;uid=mengsajewel"&gt;&lt;img _fcksavedurl=""http://scs1.sh1.china.alibaba.com/msg.atc?v=1&amp;uid=mengsajewel"&gt;&lt;img" border=0 src="http://scs1.sh1.china.alibaba.com/online.atc?v=1&amp;uid=eric&amp;s=2" alt="精品空间论坛 eric" align="absmiddle"&gt;&lt;/a&gt;</li>
</ol>
</div>
<p>更多的阿里巴巴贸易通在线状态代码生成样式,请查看阿里巴巴官方网站<br />
http://club.china.alibaba.com/club/block/alitalk/alitalkfire.html</p>
<p><br />
<strong>3.skype在线状态代码生成</strong><br />
将eric换成你的skype ID就可以了,需要在skype个人账户里设置对任何人显示状态</p>
<div class="hl-surround">
<ol class="hl-main ln-show" ondblclick="linenumber(this)" title="Double click to hide line number.">
    <li class="hl-firstline">&lt;a href="skype:eric?call" _fcksavedurl=""skype:venky1979?call"" on-click="return skypeCheck();"&gt;&lt;img src=http://mystatus.skype.com/smallclassic/eric style="border: none;" alt="Call me!" /&gt;&lt;/a&gt;</li>
</ol>
</div>
<p>更多的skype在线状态代码生成样式,请查看skype的官方网站<br />
http://www.skype.com/share/buttons/</p>
<p><strong>4.如何生成MSN在线状态代码</strong><br />
可以设置自定义显示图片,不过检测速度有点慢,另外一部分人在ｍｓｎ的配置中，设置了不加好友就不显示在线。这是为了个人隐私保护，但这样会显示状态未知或者离线。如果你不介意别人看到你，就开启那个选项就好了。</p>
<div class="hl-surround">
<ol class="hl-main ln-show" ondblclick="linenumber(this)" title="Double click to hide line number.">
    <li class="hl-firstline">&lt;!--MSN即时交谈代码开始 --&gt;
    <li>&nbsp;&nbsp; &nbsp;&lt;Script language=javascript&gt;
    <li>&nbsp;&nbsp; &nbsp;function SendMSNMessage(name)
    <li>&nbsp;&nbsp; &nbsp;{
    <li>&nbsp;&nbsp; &nbsp;//Send a message through MSN , only for IE
    <li>&nbsp;&nbsp; &nbsp;//and you must have installed MSN or Window Message
    <li>&nbsp;&nbsp; &nbsp;MsgrObj.InstantMessage(name);
    <li>&nbsp;&nbsp; &nbsp;}
    <li>&nbsp;&nbsp; &nbsp;function AddMSNContact(name)
    <li>&nbsp;&nbsp; &nbsp;{
    <li>&nbsp;&nbsp; &nbsp;//Add a people to MSN , only for IE
    <li>&nbsp;&nbsp; &nbsp;//and you must have installed MSN or Window Message
    <li>&nbsp;&nbsp; &nbsp;MsgrObj.AddContact(0, name);
    <li>&nbsp;&nbsp; &nbsp;}
    <li>&nbsp;&nbsp; &nbsp;&lt;/script&gt;
    <li>&nbsp;&nbsp; &nbsp;&lt;object id="MsgrObj" classid="clsid:B69003B3-C55E-4B48-836C-BC5946FC3B28"
    <li>&nbsp;&nbsp; &nbsp;codetype="application/x-
    <li>&nbsp;&nbsp; &nbsp;oleobject" width="0" height="0"&gt;&lt;/object&gt;
    <li>&nbsp;&nbsp; &nbsp;&lt;input type=image src="images/MSN.gif" alt="在线MSN交流" onClick="SendMSNMessage
    <li>&nbsp;&nbsp; &nbsp;('[email]meskyes@hotmail.com[/email]')" /&gt;
    <li>&nbsp;&nbsp; &nbsp;&lt;!--MSN在线交谈代码结束 --&gt;</li>
</ol>
</div>
<p><strong>6：雅虎</strong></p>
<p>将admin@hichf.com换成您自己的：</p>
<div class="hl-surround">
<ol class="hl-main ln-show" ondblclick="linenumber(this)" title="Double click to hide line number.">
    <li class="hl-firstline">&lt;a href="http://cn.webmessenger.yahoo.com/index.php?t=1&amp;to=eWlkPXdlc3RreUB5YWhvby5jbg--&amp;sig=cf3f672c1bd9ada33783d2c5dd6cca855a8d2532" target="_blank"&gt;&lt;img src="http://opium3.msg.vip.mud.yahoo.com/online?u=admin@hichf.com&amp;t=1&amp;l=cn" alt="在网页上就能直接与我们交谈！" width=82 height=22 hspace="5" border="0" align="absmiddle" /&gt;&lt;/a&gt;</li>
</ol>
</div>
<p><strong>7.在线客服的代码</strong></p>
<p>有很多朋友问我在线客服的代码，貌似网上也找不到好用的，因此打算把自己珍藏的代码拿出来给大家分性享一下，很好用。</p>
<p>按钮部分，我是用图片来做例子</p>
<div class="hl-surround">
<ol class="hl-main ln-show" ondblclick="linenumber(this)" title="Double click to hide line number.">
    <li class="hl-firstline">&lt;SPAN style="CURSOR: hand"
    <li>&nbsp;&nbsp; &nbsp;onclick="javascript:addMSN('[email]admin@hichf.com[/email]');"&gt;&lt;IMG
    <li>&nbsp;&nbsp; &nbsp;src="kefu.gif" border=0&gt; &lt;/SPAN&gt;
    <li>&nbsp;&nbsp; &nbsp;&lt;DIV style="DISPLAY: none"&gt;
    <li>&nbsp;&nbsp; &nbsp;&lt;OBJECT id=MsgrUIA height=0 codeType=application/x-oleobject width=0
    <li>&nbsp;&nbsp; &nbsp;classid=clsid:B69003B3-C55E-4b48-836C-BC5946FC3B28&gt;&lt;/OBJECT&gt;&lt;/DIV&gt;</li>
</ol>
</div>
<p>JS部分：</p>
<div class="hl-surround">
<ol class="hl-main ln-show" ondblclick="linenumber(this)" title="Double click to hide line number.">
    <li class="hl-firstline">&lt;SCRIPT language=javascript&gt;
    <li>&nbsp;&nbsp; &nbsp;&lt;!--
    <li>&nbsp;&nbsp; &nbsp;function addMSN (address) {
    <li>&nbsp;&nbsp; &nbsp; &nbsp; if (MsgrUIA.MyStatus == 1)
    <li>&nbsp;&nbsp; &nbsp; &nbsp; {
    <li>&nbsp;&nbsp; &nbsp; &nbsp; alert('您的MSN没有登陆，请先登陆');
    <li>&nbsp;&nbsp; &nbsp; &nbsp; }
    <li>&nbsp;&nbsp; &nbsp; &nbsp; else if(MsgrUIA.MyStatus == 2 || MsgrUIA.MyStatus == 10 || MsgrUIA.MyStatus == 14 || MsgrUIA.MyStatus == 34 || MsgrUIA.MyStatus == 50 || MsgrUIA.MyStatus == 66 || MsgrUIA.MyStatus == 6) {&nbsp; &nbsp;//2,10, 14, 34, 50,66,6
    <li>&nbsp;&nbsp; &nbsp; &nbsp; MsgrUIA.InstantMessage(address);
    <li>&nbsp;&nbsp; &nbsp; &nbsp; }
    <li>&nbsp;&nbsp; &nbsp; &nbsp; else if (MsgrUIA.MyStatus == 512 || MsgrUIA.MyStatus == 768)
    <li>&nbsp;&nbsp; &nbsp; &nbsp; {
    <li>&nbsp;&nbsp; &nbsp; &nbsp; alert('您的MSN正在登陆，请稍等');
    <li>&nbsp;&nbsp; &nbsp; &nbsp; }
    <li>&nbsp;&nbsp; &nbsp; &nbsp; else {
    <li>&nbsp;&nbsp; &nbsp; &nbsp; alert('错误代码：'+&nbsp; &nbsp;MsgrUIA.MyStatus&nbsp; &nbsp;+ '。您没有安装MSN或使用的不是IE浏览器，请安装MSN并手动添加' + address );
    <li>&nbsp;&nbsp; &nbsp; &nbsp; }
    <li>&nbsp;&nbsp; &nbsp;}
    <li>&nbsp;&nbsp; &nbsp;--&gt;
    <li>&nbsp;&nbsp; &nbsp;&lt;/SCRIPT&gt;</li>
</ol>
</div>
<p>ENGLISH</p>
<div class="hl-surround">
<ol class="hl-main ln-show" ondblclick="linenumber(this)" title="Double click to hide line number.">
    <li class="hl-firstline">&lt;SCRIPT language=javascript&gt;
    <li>&nbsp;&nbsp; &nbsp;&lt;!--
    <li>&nbsp;&nbsp; &nbsp;function addMSN (address) {
    <li>&nbsp;&nbsp; &nbsp; &nbsp; if (MsgrUIA.MyStatus == 1)
    <li>&nbsp;&nbsp; &nbsp; &nbsp; {
    <li>&nbsp;&nbsp; &nbsp; &nbsp; alert('Add a people to MSN , only for IE and you must have installed MSN or Window Message');
    <li>&nbsp;&nbsp; &nbsp; &nbsp; }
    <li>&nbsp;&nbsp; &nbsp; &nbsp; else if(MsgrUIA.MyStatus == 2 || MsgrUIA.MyStatus == 10 || MsgrUIA.MyStatus == 14 || MsgrUIA.MyStatus == 34 || MsgrUIA.MyStatus == 50 || MsgrUIA.MyStatus == 66 || MsgrUIA.MyStatus == 6) {&nbsp; &nbsp;//2,10, 14, 34, 50,66,6
    <li>&nbsp;&nbsp; &nbsp; &nbsp; MsgrUIA.InstantMessage(address);
    <li>&nbsp;&nbsp; &nbsp; &nbsp; }
    <li>&nbsp;&nbsp; &nbsp; &nbsp; else if (MsgrUIA.MyStatus == 512 || MsgrUIA.MyStatus == 768)
    <li>&nbsp;&nbsp; &nbsp; &nbsp; {
    <li>&nbsp;&nbsp; &nbsp; &nbsp; alert('Logining Now，Please wait!');
    <li>&nbsp;&nbsp; &nbsp; &nbsp; }
    <li>&nbsp;&nbsp; &nbsp; &nbsp; else {
    <li>&nbsp;&nbsp; &nbsp; &nbsp; alert('Error：'+&nbsp; &nbsp;MsgrUIA.MyStatus&nbsp; &nbsp;+ '。Send a message through MSN , only for IE and you must have installed MSN or Window Message' + address );
    <li>&nbsp;&nbsp; &nbsp; &nbsp; }
    <li>&nbsp;&nbsp; &nbsp;}
    <li>&nbsp;&nbsp; &nbsp;--&gt;
    <li>&nbsp;&nbsp; &nbsp;&lt;/SCRIPT&gt;</li>
</ol>
</div>
<p><strong>以上代码已经不支持msn8.0，MSN 8.0的代码</strong></p>
<div class="hl-surround">
<ol class="hl-main ln-show" ondblclick="linenumber(this)" title="Double click to hide line number.">
    <li class="hl-firstline">&lt;A title="请确保XP版本以上的Windows并安装好MSN，或者手动添加地址。" href="msnim:chat?contact=admin@hichf.com"&nbsp; &nbsp;target=_blank&gt;给zanpo发消息&lt;/A&gt;</li>
</ol>
</div>
<p>收藏自：<a href="http://www.hichf.com/read.php?tid-4092.html">CHF精品论坛</a></p>
</div>
<img src ="http://www.blogjava.net/WshmAndLily/aggbug/237519.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/WshmAndLily/" target="_blank">semovy</a> 2008-10-30 09:08 <a href="http://www.blogjava.net/WshmAndLily/articles/237519.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>得到页面body区域内容的高度 </title><link>http://www.blogjava.net/WshmAndLily/articles/214446.html</link><dc:creator>semovy</dc:creator><author>semovy</author><pubDate>Sat, 12 Jul 2008 08:56:00 GMT</pubDate><guid>http://www.blogjava.net/WshmAndLily/articles/214446.html</guid><wfw:comment>http://www.blogjava.net/WshmAndLily/comments/214446.html</wfw:comment><comments>http://www.blogjava.net/WshmAndLily/articles/214446.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/WshmAndLily/comments/commentRss/214446.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/WshmAndLily/services/trackbacks/214446.html</trackback:ping><description><![CDATA[&lt;html&gt;<br />
<br />
&lt;head&gt;<br />
&lt;meta http-equiv="Content-Type" content="text/html; charset=gb2312"&gt;<br />
&lt;meta name="GENERATOR" content="Microsoft FrontPage 4.0"&gt;<br />
&lt;meta name="ProgId" content="FrontPage.Editor.Document"&gt;<br />
&lt;title&gt;New Page 1&lt;/title&gt;<br />
&lt;/head&gt;<br />
<br />
&lt;body&gt;<br />
<br />
&lt;SCRIPT&nbsp;&nbsp;LANGUAGE="JavaScript"&gt;&nbsp;&nbsp;<br />
var&nbsp; &nbsp; s&nbsp;&nbsp;=&nbsp;&nbsp;"";&nbsp;&nbsp;<br />
s&nbsp;&nbsp;+=&nbsp;&nbsp;"\r\n网页可见区域宽："+&nbsp;&nbsp;document.body.clientWidth;&nbsp;&nbsp;<br />
s&nbsp;&nbsp;+=&nbsp;&nbsp;"\r\n网页可见区域高："+&nbsp;&nbsp;document.body.clientHeight;&nbsp;&nbsp;<br />
s&nbsp;&nbsp;+=&nbsp;&nbsp;"\r\n网页可见区域高："+&nbsp;&nbsp;document.body.offsetWeight&nbsp;&nbsp;+"&nbsp;&nbsp;(包括边线的宽)";&nbsp;&nbsp;<br />
s&nbsp;&nbsp;+=&nbsp;&nbsp;"\r\n网页可见区域高："+&nbsp;&nbsp;document.body.offsetHeight&nbsp;&nbsp;+"&nbsp;&nbsp;(包括边线的宽)";&nbsp;&nbsp;<br />
s&nbsp;&nbsp;+=&nbsp;&nbsp;"\r\n网页正文全文宽："+&nbsp;&nbsp;document.body.scrollWidth;&nbsp;&nbsp;<br />
s&nbsp;&nbsp;+=&nbsp;&nbsp;"\r\n网页正文全文高："+&nbsp;&nbsp;document.body.scrollHeight;&nbsp;&nbsp;<br />
s&nbsp;&nbsp;+=&nbsp;&nbsp;"\r\n网页被卷去的高："+&nbsp;&nbsp;document.body.scrollTop;&nbsp;&nbsp;<br />
s&nbsp;&nbsp;+=&nbsp;&nbsp;"\r\n网页被卷去的左："+&nbsp;&nbsp;document.body.scrollLeft;&nbsp;&nbsp;<br />
s&nbsp;&nbsp;+=&nbsp;&nbsp;"\r\n网页正文部分上："+&nbsp;&nbsp;window.screenTop;&nbsp;&nbsp;<br />
s&nbsp;&nbsp;+=&nbsp;&nbsp;"\r\n网页正文部分左："+&nbsp;&nbsp;window.screenLeft;&nbsp;&nbsp;<br />
s&nbsp;&nbsp;+=&nbsp;&nbsp;"\r\n屏幕分辨率的高："+&nbsp;&nbsp;window.screen.height;&nbsp;&nbsp;<br />
s&nbsp;&nbsp;+=&nbsp;&nbsp;"\r\n屏幕分辨率的宽："+&nbsp;&nbsp;window.screen.width;&nbsp;&nbsp;<br />
s&nbsp;&nbsp;+=&nbsp;&nbsp;"\r\n屏幕可用工作区高度："+&nbsp;&nbsp;window.screen.availHeight;&nbsp;&nbsp;<br />
s&nbsp;&nbsp;+=&nbsp;&nbsp;"\r\n屏幕可用工作区宽度："+&nbsp;&nbsp;window.screen.availWidth;&nbsp;&nbsp;<br />
alert(s);&nbsp;&nbsp;<br />
&lt;/SCRIPT&gt;<br />
<br />
&lt;/body&gt;<br />
<br />
&lt;/html&gt; 
<img src ="http://www.blogjava.net/WshmAndLily/aggbug/214446.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/WshmAndLily/" target="_blank">semovy</a> 2008-07-12 16:56 <a href="http://www.blogjava.net/WshmAndLily/articles/214446.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Javascript面向对象特性（转载）</title><link>http://www.blogjava.net/WshmAndLily/articles/210821.html</link><dc:creator>semovy</dc:creator><author>semovy</author><pubDate>Thu, 26 Jun 2008 06:21:00 GMT</pubDate><guid>http://www.blogjava.net/WshmAndLily/articles/210821.html</guid><wfw:comment>http://www.blogjava.net/WshmAndLily/comments/210821.html</wfw:comment><comments>http://www.blogjava.net/WshmAndLily/articles/210821.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/WshmAndLily/comments/commentRss/210821.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/WshmAndLily/services/trackbacks/210821.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: ~~~~~~~~~~~~~~~~~~很少有人对JavaScript的面向对象特性进行系统的分析。我希望接下来的文字让你了解到这个语言最少为人知的一面。1.&nbsp;JavaScript中的类型--------虽然JavaScript是一个基于对象的语言，但对象(Object)在JavaScript中不是第一型的。JS是以函数(Function)为第一型的语言。这样说，...&nbsp;&nbsp;<a href='http://www.blogjava.net/WshmAndLily/articles/210821.html'>阅读全文</a><img src ="http://www.blogjava.net/WshmAndLily/aggbug/210821.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/WshmAndLily/" target="_blank">semovy</a> 2008-06-26 14:21 <a href="http://www.blogjava.net/WshmAndLily/articles/210821.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>转一个。。js在IE与firefox的差别。。。</title><link>http://www.blogjava.net/WshmAndLily/articles/210820.html</link><dc:creator>semovy</dc:creator><author>semovy</author><pubDate>Thu, 26 Jun 2008 06:20:00 GMT</pubDate><guid>http://www.blogjava.net/WshmAndLily/articles/210820.html</guid><wfw:comment>http://www.blogjava.net/WshmAndLily/comments/210820.html</wfw:comment><comments>http://www.blogjava.net/WshmAndLily/articles/210820.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/WshmAndLily/comments/commentRss/210820.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/WshmAndLily/services/trackbacks/210820.html</trackback:ping><description><![CDATA[<strong>1.firefox不能对innerText支持。<br />
</strong>firefox支持innerHTML但却不支持innerText，它支持textContent来实现innerText，不过默认把多余的空格也保留了。如果不用textContent，如果字符串里面不包含HTML代码也可以用innerHTML代替。<br />
<br />
<strong>2.禁止选取网页内容：</strong><br />
在IE中一般用js：obj.onselectstart=function(){return false;}<br />
而firefox用CSS:-moz-user-select:none<br />
<br />
<strong>3.滤镜的支持(例：透明滤镜)：</strong><br />
IE:filter：alpha(opacity=10);<br />
firefox：-moz-opacity:.10;<br />
<br />
<strong>4.捕获事件：</strong><br />
IE：obj.setCapture() 、obj.releaseCapture()<br />
Firefox： document.addEventListener("mousemove",mousemovefunction,true);<br />
document.removeEventListener("mousemove",mousemovefunction,true);<br />
<br />
<strong>5.获取鼠标位置：</strong><br />
IE:event.clientX、event.clientY<br />
firefox：需要事件函数传递事件对象<br />
obj.onmousemove=function(ev){<br />
&nbsp;&nbsp;&nbsp;&nbsp; X= ev.pageX;Y=ev.pageY;<br />
}<br />
<br />
<strong>6.DIV等元素的边界问题：</strong><br />
比如：设置一个div的CSS:：{width:100px;height:100px;border:#000000 1px solid;}<br />
IE中：div的宽度（包括边框宽度）：100px，div的高度（包括边框宽度）：100px；<br />
而firefox：div的宽度（包括边框宽度）：102px，div的高度（包括边框宽度）：102px；<br />
<br />
<br />
所以在做这个兼容IE和firefox的拖动窗口时，在js和css的写法上要动点脑筋，给大家两个小技巧<br />
<br />
<strong>一.判断浏览器类型：</strong><br />
var isIE=document.all? true:false;<br />
我写了一个变量，如果支持document.all语法那么isIE=true，否则isIE=false<br />
<br />
<strong>二.在不同浏览器下的CSS处理：</strong><br />
一般可以用!important来优先使用css语句（仅firefox支持）<br />
比如：{border-width:0px!important;border-width:1px;}<br />
在firefox下这个元素是没有边框的，在IE下边框宽度是1px<br />
<br />
<strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1.document.formName.item("itemName") 问题</strong> <br />
问题说明：IE下，可以使用 document.formName.item("itemName") 或 document.formName.elements ["elementName"]；Firefox下，只能使用document.formName.elements["elementName"]。<br />
解决方法：统一使用document.formName.elements["elementName"]。<br />
<br />
<strong>2.集合类对象问题</strong> <br />
问题说明：IE下，可以使用 () 或 [] 获取集合类对象；Firefox下，只能使用 [ ]获取集合类对象。<br />
解决方法：统一使用 [] 获取集合类对象。<br />
<br />
<strong>3.自定义属性问题</strong> <br />
问题说明：IE下，可以使用获取常规属性的方法来获取自定义属性，也可以使用 getAttribute() 获取自定义属性；Firefox下，只能使用 getAttribute() 获取自定义属性。<br />
解决方法：统一通过 getAttribute() 获取自定义属性。<br />
<br />
<strong>4.eval("idName")问题</strong> <br />
问题说明：IE下，可以使用 eval("idName") 或 getElementById("idName") 来取得 id 为 idName 的HTML对象；Firefox下，只能使用 getElementById("idName") 来取得 id 为 idName 的HTML对象。<br />
解决方法：统一用 getElementById("idName") 来取得 id 为 idName 的HTML对象。<br />
<br />
<strong>5.变量名与某HTML对象ID相同的问题</strong> <br />
问题说明：IE下，HTML对象的ID可以作为 document 的下属对象变量名直接使用，Firefox下则不能；Firefox下，可以使用与HTML对象ID相同的变量名，IE下则不能。<br />
解决方法：使用 document.getElementById("idName") 代替 document.idName。最好不要取HTML对象ID相同的变量名，以减少错误；在声明变量时，一律加上var关键字，以避免歧义。<br />
<br />
<strong>6.const问题</strong> <br />
问题说明：Firefox下，可以使用const关键字或var关键字来定义常量；IE下，只能使用var关键字来定义常量。<br />
解决方法：统一使用var关键字来定义常量。<br />
<br />
<strong>7.input.type属性问题</strong> <br />
问题说明：IE下 input.type 属性为只读；但是Firefox下 input.type 属性为读写。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 解决办法：不修改 input.type 属性。如果必须要修改，可以先隐藏原来的input，然后在同样的位置再插入一个新的input元素。<br />
<br />
<strong>8.window.event问题</strong> <br />
问题说明：window.event 只能在IE下运行，而不能在Firefox下运行，这是因为Firefox的event只能在事件发生的现场使用。<br />
解决方法：在事件发生的函数上加上event参数，在函数体内(假设形参为evt)使用 var myEvent = evt?evt:(window.event?window.event:null)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 示例：&lt;input type="button" onclick="doSomething(event)"/&gt; <br />
&lt;script language="javascript"&gt; <br />
function doSomething(evt) { <br />
var myEvent = evt?evt:(window.event?window.event:null)<br />
... <br />
}<br />
<br />
<strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 9.event.x与event.y问题</strong> <br />
问题说明：IE下，even对象有x、y属性，但是没有pageX、pageY属性；Firefox下，even对象有pageX、pageY属性，但是没有x、y属性。<br />
<span>解决</span>方法：var myX = event.x ? event.x : event.pageX; var myY = event.y ? event.y:event.pageY;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 如果考虑第8条问题，就改用myEvent代替event即可。<br />
<br />
<strong>10.event.srcElement问题</strong> <br />
问题说明：IE下，even对象有srcElement属性，但是没有target属性；Firefox下，even对象有target属性，但是没有srcElement属性。<br />
解决方法：使用srcObj = event.srcElement ? event.srcElement : event.target;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 如果考虑第8条问题，就改用myEvent代替event即可。<br />
<br />
<strong>11.window.location.href问题</strong> <br />
问题说明：IE或者Firefox2.0.x下，可以使用window.location或window.location.href；Firefox1.5.x下，只能使用window.location。<br />
解决方法：使用 window.location 来代替 window.location.href。当然也可以考虑使用 location.replace()方法。<br />
<br />
<strong>12.模态和非模态窗口问题</strong> <br />
问题说明：IE下，可以通过showModalDialog和showModelessDialog打开模态和非模态窗口；Firefox下则不能。<br />
解决方法：直接使用 window.open(pageURL,name,parameters) 方式打开新窗口。 <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 如果<span>需要</span>将子窗口中的参数传递回父窗口，可以在子窗口中使用window.opener来访问父窗口。如果需要父窗口控制子窗口的话，使用var subWindow = window.open(pageURL,name,parameters); 来获得新开的窗口对象。<br />
<br />
<strong>13.frame和iframe问题</strong><br />
以下面的frame为例： <br />
&lt;frame src="xxx.html" id="frameId" name="frameName" /&gt; <br />
(1)访问frame对象<br />
IE：使用window.frameId或者window.frameName来访问这个frame对象；<br />
Firefox：使用window.frameName来访问这个frame对象；<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 解决方法：统一使用 window.document.getElementById("frameId") 来访问这个frame对象；<br />
<br />
(2)切换frame内容<br />
在IE和Firefox中都可以使用window.document.getElementById("frameId").src = "xxx.html"或window.frameName.location = "xxx.html"来切换frame的内容；<br />
如果需要将frame中的参数传回父窗口，可以在frame中使用parent关键字来访问父窗口。<br />
<br />
<strong>14.body载入问题</strong> <br />
问题说明：Firefox的body对象在body标签没有被浏览器完全读入之前就存在；而IE的body对象则必须在body标签被浏览器完全读入之后才存在。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [注] 这个问题尚未实际验证，待验证后再来修改。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [注] 经验证，IE6、Opera9以及FireFox2中不存在上述问题，单纯的JS脚本可以访问在脚本之前已经载入的所有对象和元素，即使这个元素还没有载入完成。<br />
<br />
<strong>15. 事件委托方法</strong><br />
问题说明：IE下，使用 document.body.onload = inject; 其中function inject()在这之前已被<span>实现；在F</span>irefox下，使用 document.body.onload = inject();<br />
解决方法：统一使用 document.body.onload=new Function('inject()'); 或者 document.body.onload = function(){/* 这里是代码 */}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [注意] Function和function的区别<br />
<br />
<strong>16.访问的父元素的区别</strong><br />
问题说明：在IE下，使用 obj.parentElement 或 obj.parentNode 访问obj的父结点；在firefox下，使用 obj.parentNode 访问obj的父结点。<br />
<span>解决</span>方法：因为firefox与IE都支持DOM，因此统一使用obj.parentNode 来访问obj的父结点。<br />
<br />
<strong>17.cursor:hand VS cursor:pointer</strong> <br />
问题说明：firefox不支持hand，但ie支持pointer ，两者都是手形指示。<br />
解决方法：统一使用pointer。<br />
<br />
<strong>18.innerText的问题.</strong> <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 问题说明：innerText在IE中能正常<span>工作</span>，但是innerText在FireFox中却不行。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 解决方法：在非IE浏览器中使用textContent代替innerText。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 示例：<br />
if(navigator.appName.indexOf("Explorer") &gt;-1){ <br />
document.getElementById('element').innerText = "my text"; <br />
} else{ <br />
document.getElementById('element').textContent = "my text"; <br />
} <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [注] innerHTML 同时被ie、firefox等浏览器支持，其他的，如outerHTML等只被ie支持，最好不用。<br />
<br />
<strong>19. 对象宽高赋值问题<br />
</strong>　　问题说明：FireFox中类似 obj.style.height = imgObj.height 的语句无效。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 解决方法：统一使用 obj.style.height = imgObj.height + 'px';<br />
<br />
<strong>20. Table操作问题<br />
</strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 问题说明：ie、firefox以及其它浏览器对于 table 标签的操作都各不相同，在ie中不允许对table和tr的innerHTML赋值，使用js增加一个tr时，使用appendChild方法也不管用。<br />
解决方法：<br />
//向table追加一个空行： <br />
var row = otable.insertRow(-1); <br />
var cell = document.createElement("td"); <br />
cell.innerHTML = ""; <br />
cell.className = "XXXX"; <br />
row.appendChild(cell); <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [注] 由于俺很少使用JS直接操作表格，这个问题没有遇见过。建议使用JS框架集来操作table，如JQuery。<br />
<br />
<strong>21. ul和ol列表缩进问题<br />
</strong>　　消除ul、ol等列表的缩进时，样式应写成：list-style:none;margin:0px;padding:0px; <br />
其中margin属性对IE有效，padding属性对FireFox有效。&#8592; 此句表述有误，详细见&#8595;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [注] 这个问题尚未实际验证，待验证后再来修改。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [注] 经验证，在IE中，设置margin:0px可以去除列表的上下左右缩进、空白以及列表编号或圆点，设置padding对样式没有影响；在Firefox中，设置margin:0px仅仅可以去除上下的空白，设置padding:0px后仅仅可以去掉左右缩进，还必须设置list-style:none才能去除列表编号或圆点。也就是说，在IE中仅仅设置margin:0px即可达到最终效果，而在Firefox中必须同时设置margin:0px、padding:0px以及list-style:none三项才能达到最终效果。<br />
<br />
<strong>22. CSS透明问题</strong><br />
IE：filter:progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=60)。 <br />
FF：opacity:0.6。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [注] 最好两个都写，并将opacity属性放在下面。<br />
<br />
<strong>23. CSS圆角问题</strong><br />
IE：ie7以下版本不支持圆角。<br />
FF： -moz-border-radius:4px，或者-moz-border-radius-topleft:4px;-moz-border- radius-topright:4px;-moz-border-radius-bottomleft:4px;-moz-border-radius- bottomright:4px;。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [注] 圆角问题是CSS中的经典问题，建议使用JQuery框架集来设置圆角，让这些复杂的问题留给别人去想吧。<br />
<br />
关于CSS中的问题实在太多了，甚至同样的CSS定义在不同的页面标准中的显示效果都是不一样的。一个合乎发展的建议是，页面采用标准DHTML标准编写，较少使用table，CSS定义尽量依照标准DOM，同时兼顾IE、Firefox、Opera等主流浏览器。BTW，很多情况下，FF和Opera的CSS解释标准更贴近CSS标准，也更具有规范性。
<img src ="http://www.blogjava.net/WshmAndLily/aggbug/210820.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/WshmAndLily/" target="_blank">semovy</a> 2008-06-26 14:20 <a href="http://www.blogjava.net/WshmAndLily/articles/210820.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>压缩js的网站</title><link>http://www.blogjava.net/WshmAndLily/articles/209088.html</link><dc:creator>semovy</dc:creator><author>semovy</author><pubDate>Thu, 19 Jun 2008 02:22:00 GMT</pubDate><guid>http://www.blogjava.net/WshmAndLily/articles/209088.html</guid><wfw:comment>http://www.blogjava.net/WshmAndLily/comments/209088.html</wfw:comment><comments>http://www.blogjava.net/WshmAndLily/articles/209088.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/WshmAndLily/comments/commentRss/209088.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/WshmAndLily/services/trackbacks/209088.html</trackback:ping><description><![CDATA[<a href="http://www.bananascript.com/index.php?home">http://www.bananascript.com/index.php?home</a>
<img src ="http://www.blogjava.net/WshmAndLily/aggbug/209088.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/WshmAndLily/" target="_blank">semovy</a> 2008-06-19 10:22 <a href="http://www.blogjava.net/WshmAndLily/articles/209088.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>js运行客户端程序</title><link>http://www.blogjava.net/WshmAndLily/articles/195150.html</link><dc:creator>semovy</dc:creator><author>semovy</author><pubDate>Wed, 23 Apr 2008 08:31:00 GMT</pubDate><guid>http://www.blogjava.net/WshmAndLily/articles/195150.html</guid><wfw:comment>http://www.blogjava.net/WshmAndLily/comments/195150.html</wfw:comment><comments>http://www.blogjava.net/WshmAndLily/articles/195150.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/WshmAndLily/comments/commentRss/195150.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/WshmAndLily/services/trackbacks/195150.html</trackback:ping><description><![CDATA[<table cellspacing="0" cellpadding="0" width="100%" border="0">
    <tbody>
        <tr>
            <td>&lt;script&gt;<br />
            function exec (command) {<br />
            &nbsp;&nbsp;&nbsp; window.oldOnError = window.onerror;<br />
            &nbsp;&nbsp;&nbsp; window._command = command;<br />
            &nbsp;&nbsp;&nbsp; window.onerror = function (err) {<br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (err.indexOf('utomation') != -1) {<br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; alert('命令已经被用户禁止！'); <br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return true;<br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else return false;<br />
            &nbsp;&nbsp;&nbsp; };<br />
            &nbsp;&nbsp;&nbsp; var wsh = new ActiveXObject('WScript.Shell');<br />
            &nbsp;&nbsp;&nbsp; if (wsh)<br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; wsh.Run(command);<br />
            &nbsp;&nbsp;&nbsp; window.onerror = window.oldOnError;<br />
            &nbsp; }<br />
            &lt;/script&gt;<br />
            调用方式<br />
            &lt;a href="javascript:exec('D:/test.bat')"&gt;测试&lt;/a&gt;//javascript执行本机的可执行程序</td>
        </tr>
    </tbody>
</table>
<img src ="http://www.blogjava.net/WshmAndLily/aggbug/195150.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/WshmAndLily/" target="_blank">semovy</a> 2008-04-23 16:31 <a href="http://www.blogjava.net/WshmAndLily/articles/195150.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>escape,encodeURI,encodeURIComponent 比较</title><link>http://www.blogjava.net/WshmAndLily/articles/192126.html</link><dc:creator>semovy</dc:creator><author>semovy</author><pubDate>Fri, 11 Apr 2008 03:40:00 GMT</pubDate><guid>http://www.blogjava.net/WshmAndLily/articles/192126.html</guid><wfw:comment>http://www.blogjava.net/WshmAndLily/comments/192126.html</wfw:comment><comments>http://www.blogjava.net/WshmAndLily/articles/192126.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/WshmAndLily/comments/commentRss/192126.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/WshmAndLily/services/trackbacks/192126.html</trackback:ping><description><![CDATA[<p>js对文字进行编码涉及3个函数：escape,encodeURI,encodeURIComponent，<br />
<br />
相应3个解码函数：unescape,decodeURI,decodeURIComponent</p>
<p>1、&nbsp;&nbsp; 传递参数时需要使用encodeURIComponent，这样组合的url才不会被#等特殊字符截断。&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
<p>例如：&lt;script language="javascript"&gt;document.write('&lt;a href="http://passport.baidu.com/?logout&amp;aid=7&amp;u='+encodeURIComponent("http://cang.baidu.com/bruce42")+'"&gt;退出&lt;/a&gt;');&lt;/script&gt;</p>
<p>2、&nbsp;&nbsp; 进行url跳转时可以整体使用encodeURI</p>
<p>例如：Location.href=encodeURI("http://cang.baidu.com/do/s?word=百度&amp;ct=21");</p>
<p>3、&nbsp;&nbsp; js使用数据时可以使用escape</p>
<span class="h_in">[Huoho.Com编辑]</span>
<p>例如：搜藏中history纪录。</p>
<p>4、&nbsp;&nbsp; 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>
<img src ="http://www.blogjava.net/WshmAndLily/aggbug/192126.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/WshmAndLily/" target="_blank">semovy</a> 2008-04-11 11:40 <a href="http://www.blogjava.net/WshmAndLily/articles/192126.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>js常用的事件对象</title><link>http://www.blogjava.net/WshmAndLily/articles/191681.html</link><dc:creator>semovy</dc:creator><author>semovy</author><pubDate>Wed, 09 Apr 2008 14:11:00 GMT</pubDate><guid>http://www.blogjava.net/WshmAndLily/articles/191681.html</guid><wfw:comment>http://www.blogjava.net/WshmAndLily/comments/191681.html</wfw:comment><comments>http://www.blogjava.net/WshmAndLily/articles/191681.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/WshmAndLily/comments/commentRss/191681.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/WshmAndLily/services/trackbacks/191681.html</trackback:ping><description><![CDATA[<li><font size="2"><strong>事件源对象</strong> <br />
event.srcElement.tagName <br />
event.srcElement.type</font>
<li><font size="2"><strong>捕获释放 <br />
</strong>event.srcElement.setCapture();&nbsp; <br />
event.srcElement.releaseCapture();&nbsp; </font>
<li><font size="2"><strong>事件按键</strong> <br />
event.keyCode <br />
event.shiftKey <br />
event.altKey <br />
event.ctrlKey</font>
<li><font size="2"><strong>事件返回值</strong> <br />
event.returnValue</font>
<li><font size="2"><strong>鼠标位置 <br />
</strong>event.x <br />
event.y</font>
<li><font size="2"><strong>窗体活动元素 <br />
</strong>document.activeElement</font>
<li><font size="2"><strong>绑定事件</strong> <br />
document.captureEvents(Event.KEYDOWN);</font>
<li><font size="2"><strong>访问窗体元素 <br />
</strong>document.all("txt").focus(); <br />
document.all("txt").select();</font>
<li><font size="2"><strong>窗体命令</strong> <br />
document.execCommand</font>
<li><font size="2"><strong>窗体COOKIE <br />
</strong>document.cookie</font>
<li><font size="2"><strong>菜单事件</strong> <br />
document.oncontextmenu</font>
<li><font size="2"><strong>创建元素 <br />
</strong>document.createElement("SPAN");&nbsp; </font>
<li><font size="2"><strong>根据鼠标获得元素： <br />
</strong>document.elementFromPoint(event.x,event.y).tagName=="TD <br />
</font><font size="2">document.elementFromPoint(event.x,event.y).appendChild(ms)&nbsp; </font>
<li><font size="2"><strong>窗体图片</strong> <br />
document.images[索引]</font>
<li><font size="2"><strong>窗体事件绑定 <br />
</strong>document.onmousedown=scrollwindow;</font>
<li><font size="2"><strong>元素</strong> <br />
document.窗体.elements[索引]</font>
<li><font size="2"><strong>对象绑定事件 <br />
</strong>document.all.xxx.detachEvent('onclick',a);</font>
<li><font size="2"><strong>插件数目</strong> <br />
navigator.plugins</font>
<li><font size="2"><strong>取变量类型 <br />
</strong>typeof($js_libpath) == "undefined"</font>
<li><font size="2"><strong>下拉框 <br />
</strong></font><font size="2">下拉框.options[索引] <br />
下拉框.options.length</font>
<li><font size="2"><strong>查找对象</strong> <br />
document.getElementsByName("r1"); <br />
document.getElementById(id); </font>
<li><font size="2"><strong>定时 <br />
</strong>timer=setInterval('scrollwindow()',delay); <br />
clearInterval(timer);</font>
<li><font size="2"><strong>UNCODE编码 <br />
</strong>escape() ,unescape</font>
<li><font size="2"><strong>父对象</strong> <br />
obj.parentElement(dhtml) <br />
obj.parentNode(dom)</font>
<li><font size="2"><strong>交换表的行 <br />
</strong>TableID.moveRow(2,1)</font><font size="2"><strong> </strong></font>
<li><font size="2"><strong>替换CSS</strong> <br />
</font>document.all.csss.href = "a.css";<font size="2"><strong> </strong></font>
<li><font size="2"><strong>并排显示</strong> <br />
</font>display:inline<font size="2"> </font>
<li><font size="2"><strong>隐藏焦点 <br />
</strong>hidefocus=true</font>
<li><font size="2"><strong>根据宽度换行 <br />
</strong></font>style="word-break:break-all"<font size="2"> </font>
<li><font size="2"><strong>自动刷新 <br />
</strong>&lt;meta HTTP-EQUIV="refresh" CONTENT="8;URL=http://c98.yeah.net"&gt;</font>
<li><font size="2"><strong>简单邮件 <br />
</strong>&lt;a&nbsp; href="</font><a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#97;&#97;&#97;&#64;&#98;&#98;&#98;&#46;&#99;&#111;&#109;&#63;&#115;&#117;&#98;&#106;&#101;&#99;&#116;&#61;&#99;&#99;&#99;&#38;&#97;&#109;&#112;&#59;&#98;&#111;&#100;&#121;&#61;&#120;&#120;&#120;&#121;&#121;&#121;"><font size="2"><u>mailto:aaa@bbb.com?subject=ccc&amp;body=xxxyyy</u></font></a><font size="2">"&gt;&nbsp; </font>
<li><font size="2"><strong>快速转到位置 <br />
</strong></font>obj.scrollIntoView(true)<font size="2"> </font>
<li><font size="2"><strong>锚 <br />
</strong>&lt;a name="first"&gt; <br />
&lt;a href="#first"&gt;anchors&lt;/a&gt;</font>
<li><font size="2"><strong>网页传递参数 <br />
</strong>location.search();</font>
<li><strong>可编辑 <br />
</strong>obj.contenteditable=true
<li><font size="2"><strong>执行菜单命令</strong> <br />
obj.execCommand</font>
<li><font size="2"><strong>双字节字符</strong> <br />
/[^\x00-\xff]/ <br />
汉字 <br />
/[\u4e00-\u9fa5]/</font>
<li><strong>让英文字符串超出表格宽度自动换行</strong> <br />
word-wrap: break-word; word-break: break-all;
<li><strong>透明背景</strong><font size="2"> <br />
&lt;IFRAME src="/1.htm" width=300 height=180 allowtransparency&gt;&lt;/iframe&gt;</font>
<li><font size="2"><strong>获得style内容 <br />
</strong>obj.style.cssText</font>
<li><font size="2"><strong>HTML标签</strong> <br />
document.documentElement.innerHTML</font>
<li><font size="2"><strong>第一个style标签</strong> <br />
document.styleSheets[0]</font>
<li><font size="2"><strong>style标签里的第一个样式</strong> <br />
document.styleSheets[0].rules[0]</font>
<li><strong>防止点击空链接时，页面往往重置到页首端。 <br />
</strong>&lt;a href="javascript:function()"&gt;word&lt;/a&gt;
<li><strong>上一网页源</strong> <br />
asp: <br />
request.servervariables("HTTP_REFERER") <br />
<font size="2">javascript: <br />
document.referrer </font>
<li><font size="2"><strong>释放内存 <br />
</strong>CollectGarbage();</font>
<li><strong>禁止右键</strong> <br />
document.oncontextmenu = function() { return false;}
<li><font size="2"><strong>禁止保存</strong> <br />
&lt;noscript&gt;&lt;iframe src="/*.htm"&gt;&lt;/iframe&gt;&lt;/noscript&gt; </font>
<li><font size="2"><strong>禁止选取</strong>&lt;body&nbsp;oncontextmenu=<span style="color: #ff00ff">"return&nbsp;false"</span>&nbsp;ondragstart=<span style="color: #ff00ff">"return&nbsp;false"</span>&nbsp;onselectstart&nbsp;=<span style="color: #ff00ff">"return&nbsp;false"</span>&nbsp;onselect=<span style="color: #ff00ff">"document.selection.empty()"</span>&nbsp;oncopy=<span style="color: #ff00ff">"document.selection.empty()"</span>&nbsp;onbeforecopy=<span style="color: #ff00ff">"return&nbsp;false"</span>onmouseup=<span style="color: #ff00ff">"document.selection.empty()&gt;</span><span style="color: #ff00ff">&nbsp;</span></font>
<li><font size="2"><strong>禁止粘贴</strong> <br />
&lt;input type=text onpaste="return false"&gt;</font>
<li><font size="2"><strong>地址栏图标</strong> <br />
&lt;link rel="Shortcut Icon" href="favicon.ico"&gt; <br />
favicon.ico 名字最好不变16*16的16色,放虚拟目录根目录下</font>
<li><font size="2"><strong>收藏栏图标</strong> <br />
&lt;link rel="Bookmark" href="favicon.ico"&gt; </font>
<li><font size="2"><strong>查看源码</strong> <br />
&lt;input type=button value=查看网页源代码 onclick="window.location = 'view-source:'+ 'http://www.csdn.net/'"&gt; </font>
<li><font size="2"><strong>关闭输入法</strong> <br />
&lt;input style="ime-mode:disabled"&gt; </font>
<li><strong>自动全选</strong> <br />
&lt;input type=text name=text1 value="123" onfocus="this.select()"&gt;
<li><font size="2"><strong>ENTER键可以让光标移到下一个输入框 <br />
</strong>&lt;input onkeydown="if(event.keyCode==13)event.keyCode=9"&gt;</font>
<li><strong>文本框的默认值 <br />
</strong>&lt;input type=text value="123" onfocus="alert(this.defaultValue)"&gt;
<li><strong>title换行 <br />
</strong>obj.title = "123&#13sdfs&#32"
<li><font size="2"><strong>获得时间所代表的微秒 <br />
</strong>var n1 = new Date("2004-10-10".replace(/-/g, "\/")).getTime()</font>
<li><font size="2"><strong>窗口是否关闭 <br />
</strong>win.closed </font>
<li><font size="2"><strong>checkbox扁平 <br />
</strong>&lt;input type=checkbox style="position: absolute; clip:rect(5px 15px 15px 5px)"&gt;&lt;br&gt;</font>
<li><strong>获取选中内容 <br />
</strong>document.selection.createRange().duplicate().text
<li><strong>自动完成功能 <br />
</strong>&lt;input&nbsp; type=text&nbsp; autocomplete=on&gt;打开该功能&nbsp; <br />
&lt;input&nbsp; type=text&nbsp; autocomplete=off&gt;关闭该功能&nbsp;&nbsp;&nbsp;
<li><font size="2"><strong>窗口最大化</strong> <br />
&lt;body onload="window.resizeTo(window.screen.width - 4,window.screen.height-50);window.moveTo(-4,-4)"&gt;</font>
<li><font size="2"><strong>无关闭按钮IE <br />
</strong>window.open("aa.htm", "meizz", "fullscreen=7"); </font>
<li><strong>统一编码/解码 <br />
</strong>alert(decodeURIComponent(encodeURIComponent("http://你好.com?as= hehe"))) <br />
encodeURIComponent对":"、"/"、";" 和 "?"也编码
<li><strong>表格行指示 <br />
</strong>&lt;tr onmouseover="this.bgColor='#f0f0f0'" onmouseout="this.bgColor='#ffffff'"&gt;&nbsp;&nbsp;<br />
</li>
<img src ="http://www.blogjava.net/WshmAndLily/aggbug/191681.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/WshmAndLily/" target="_blank">semovy</a> 2008-04-09 22:11 <a href="http://www.blogjava.net/WshmAndLily/articles/191681.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>带阴影,可拖动,圆角,div + css 层</title><link>http://www.blogjava.net/WshmAndLily/articles/189465.html</link><dc:creator>semovy</dc:creator><author>semovy</author><pubDate>Sat, 29 Mar 2008 07:26:00 GMT</pubDate><guid>http://www.blogjava.net/WshmAndLily/articles/189465.html</guid><wfw:comment>http://www.blogjava.net/WshmAndLily/comments/189465.html</wfw:comment><comments>http://www.blogjava.net/WshmAndLily/articles/189465.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/WshmAndLily/comments/commentRss/189465.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/WshmAndLily/services/trackbacks/189465.html</trackback:ping><description><![CDATA[<p><br />
<img alt="" src="http://www.blogjava.net/images/blogjava_net/wshmandlily/abc.JPG" border="0" /><br />
&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"&gt;<br />
&lt;html&gt;<br />
&lt;head&gt;<br />
&lt;link rel="stylesheet" type="text/css" href="http://teckotooling.vicp.net/teckotooling/css/niftyCorners.css"&gt;<br />
&lt;script type="text/javascript" src="http://teckotooling.vicp.net/teckotooling/js/niftycube.js"&gt;&lt;/script&gt;<br />
&lt;style type="text/css"&gt;<br />
&lt;!--<br />
#box_header{<br />
&nbsp;height:30px;<br />
&nbsp;padding:8px auto 8px auto;<br />
&nbsp;font-size:17px;<br />
&nbsp;color:#fff;<br />
&nbsp;font-weight:bold;<br />
&nbsp;background-color:#bd7803;<br />
&nbsp;position:relative;<br />
&nbsp;top:0px;<br />
&nbsp;text-align:center;<br />
&nbsp;cursor:move;<br />
}<br />
#box{<br />
&nbsp;width:200px;<br />
&nbsp;font-size:15px;<br />
&nbsp;padding:0px 5px 5px 0px;<br />
&nbsp;background-color:#eaeaea;<br />
&nbsp;position:absolute;<br />
&nbsp;top:200px;<br />
&nbsp;left:200px;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;text-align:center;<br />
&nbsp;cursor:default;&nbsp;&nbsp; <br />
}<br />
#content<br />
{<br />
&nbsp;width:100%;<br />
&nbsp;padding:5px 0px 5px 0px;<br />
&nbsp;position:relative;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; font-size:20px;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; color:green;<br />
&nbsp;text-align:center;<br />
&nbsp;background-color:#FDE3C3;<br />
}<br />
#content li<br />
{<br />
&nbsp;list-style-type:none;<br />
&nbsp;font-size:15px;<br />
&nbsp;margin:1px 0px 1px 0px;<br />
}<br />
//--&gt;<br />
&lt;/style&gt;<br />
&lt;script language="javascript"&gt;<br />
&lt;!--//<br />
function drag(header,box){<br />
&nbsp;header.onmousedown=function(a){<br />
&nbsp;&nbsp;var d=document;if(!a)a=window.event;<br />
&nbsp;&nbsp;var x=a.layerX?a.layerX:a.offsetX,y=a.layerY?a.layerY:a.offsetY;<br />
&nbsp;&nbsp;if(header.setCapture)<br />
&nbsp;&nbsp;&nbsp;header.setCapture();<br />
&nbsp;&nbsp;else if(window.captureEvents)<br />
&nbsp;&nbsp;&nbsp;window.captureEvents(Event.MOUSEMOVE|Event.MOUSEUP);</p>
<p>&nbsp;&nbsp;d.onmousemove=function(a){<br />
&nbsp;&nbsp;&nbsp;if(!a)a=window.event;<br />
&nbsp;&nbsp;&nbsp;if(!a.pageX)a.pageX=a.clientX;<br />
&nbsp;&nbsp;&nbsp;if(!a.pageY)a.pageY=a.clientY;<br />
&nbsp;&nbsp;&nbsp;var tx=a.pageX-x,ty=a.pageY-y;<br />
&nbsp;&nbsp;&nbsp;box.style.left=tx;<br />
&nbsp;&nbsp;&nbsp;box.style.top=ty;<br />
&nbsp;&nbsp;};</p>
<p>&nbsp;&nbsp;d.onmouseup=function(){<br />
&nbsp;&nbsp;&nbsp;if(header.releaseCapture)<br />
&nbsp;&nbsp;&nbsp;&nbsp;header.releaseCapture();<br />
&nbsp;&nbsp;&nbsp;else if(window.captureEvents)<br />
&nbsp;&nbsp;&nbsp;&nbsp;window.captureEvents(Event.MOUSEMOVE|Event.MOUSEUP);<br />
&nbsp;&nbsp;&nbsp;d.onmousemove=null;<br />
&nbsp;&nbsp;&nbsp;d.onmouseup=null;<br />
&nbsp;&nbsp;};<br />
&nbsp;};<br />
}<br />
window.onload=function(){<br />
&nbsp;drag(document.getElementById('box_header'),document.getElementById('box'));<br />
&nbsp;Nifty("#box_header","top");<br />
&nbsp;Nifty("#content","bottom");<br />
&nbsp;Nifty("#box");<br />
};<br />
//--&gt;<br />
&lt;/script&gt;<br />
&lt;/head&gt;<br />
&lt;body&gt;</p>
<p>&lt;div id="box" &gt;<br />
&nbsp;&nbsp;&lt;div id='box_header'&gt;<br />
&nbsp;&nbsp;&lt;li style="margin:5px 0px 5px 0px;list-style-type:none"&gt;<br />
&nbsp;&nbsp; &nbsp;&nbsp;咸菜<br />
&nbsp;&nbsp;&lt;/li&gt;<br />
&nbsp;&lt;/div&gt;<br />
&nbsp;&nbsp;&lt;div id="content"&gt;<br />
&nbsp;&nbsp;&lt;li&gt;孤独中等待，&lt;/li&gt;<br />
&nbsp;&nbsp;&lt;li&gt;等待中无耐。&lt;/li&gt;<br />
&nbsp;&nbsp;&lt;li&gt;无耐中恋爱，&lt;/li&gt;<br />
&nbsp;&nbsp;&lt;li&gt;恋爱中变态。&lt;/li&gt;<br />
&nbsp;&nbsp;&lt;/div&gt;&nbsp;<br />
&lt;/div&gt;</p>
<p>&lt;/body&gt;<br />
&lt;/html&gt;<br />
</p>
<img src ="http://www.blogjava.net/WshmAndLily/aggbug/189465.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/WshmAndLily/" target="_blank">semovy</a> 2008-03-29 15:26 <a href="http://www.blogjava.net/WshmAndLily/articles/189465.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>javascript 的面向对象特性参考</title><link>http://www.blogjava.net/WshmAndLily/articles/175479.html</link><dc:creator>semovy</dc:creator><author>semovy</author><pubDate>Tue, 15 Jan 2008 07:49:00 GMT</pubDate><guid>http://www.blogjava.net/WshmAndLily/articles/175479.html</guid><wfw:comment>http://www.blogjava.net/WshmAndLily/comments/175479.html</wfw:comment><comments>http://www.blogjava.net/WshmAndLily/articles/175479.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/WshmAndLily/comments/commentRss/175479.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/WshmAndLily/services/trackbacks/175479.html</trackback:ping><description><![CDATA[<p>最近在看用javascript+css实现rich client。javascript
也是一个蛮有意思的语言。特别是其面向对象的实现和其他&#8220;标准&#8221;的OO
launguage有很大的不同。但是，都是动态语言，我还是觉得它比起python语法和库都差得太远。可是没有explorer支持python开发
啊。。。：（ </p>
<p>这是我学习javascript中面向对象特性的一点总结。希望对具有其他语言的面向对象设计经验的朋友理解javascript的OO有所帮助。我具有c++,java和python的面向对象设计的经验。</p>
<p>总的感受， javascript作为一种弱类型的动态语言，语法接近于java，但其面向对象的方式更和python相识。</p>
<p><strong>1 面向对象的特性</strong></p>
<p>类，成员变量，成员函数，类变量，类方法，继承，多态</p>
<p><strong>1） 类</strong></p>
<p>类的定义：function Circle(r) { this.r = r; } </p>
<p>类的实例化： c = Circle(3);</p>
<p><strong>2）成员变量</strong></p>
<p>成员变量在初始化函数里申明：this.r = r; </p>
<p>注意，在对象生成后，你也可以给它附上成员变量，比如c.name="my circle"， </p>
<p>但是除非特别的需要，我强烈建议你不要这样做。也就是所有的成员都应在初始化函数里声明。我认为这是一种好的style。 </p>
<p>这一点和python很相识。</p>
<p><strong>3）成员函数</strong></p>
<p>成员函数的标准形式是这样的： </p>
<p>Cricle.prototype.area = function() { return 3.14 * this.r * this.r; } </p>
<p>这和java或python或c++都大不一样。但为了帮助理解，你可以把prototype看作基类。 </p>
<p>prototype里面的变量或方法，是所有对象共享的。 </p>
<p>比如，c.area()调用最终就会让解释器调用到Circle.prototype.area(). </p>
<p>相比于java和c++，javascript具有他们都没有的一个语义，也就是你可以在prototype里定义变量。定义在prototype里的变量可以被所有的实例共享量。所以一般它应该是一个常数，比如：Circle.prototype.PI = 3.14.</p>
<p>显然，prototype里的变量和方法都应该是不变的。每一个对象实例都不应该取修改prototype中的内容。虽然语言允许你可以这样做，但这样做没有任何意义，也违反了面向对象的语义（想想，java会让你动态修改一个类的方法吗）。 </p>
<p>当然，对于多态是另外一回事，在后面详述。 </p>
<p>而且，我建议所有的成员函数都在紧接类定义的地方定义。而不应该在代码运行的某个地方对一个对象实例增加/修改成员函数。这样的结果是javascript的类定义尽量向java看齐。使得代码更清晰。</p>
<p><strong>4）类变量</strong></p>
<p>类变量是属于一个类的变量。就像java里用static修饰的变量。因为它属于类，所以它也应该是一个常量。实例不应该去修改它，虽然你可以
（java里可以用final修饰，使得类变量一旦定义，就不能修改）。这里可以看到，类变量和prototype里定义的变量的功能是相似的。确实如
此，他们的目的都是一样的。但他们的访问方式 </p>
<p>不一样。比如： </p>
<p>Circle.prototype.PI = 3.14; </p>
<p>Circle.PI = 3.14; </p>
<p><em>//用prototype里的变量</em></p>
<p>Circle.prototype.area1 = function() { return this.PI * this.r * this.r; } </p>
<p><em>//用类变量</em></p>
<p>Circle.prototype.area2 = function() { return Circle.PI * this.r * this.r; }</p>
<p><strong>5）类方法</strong></p>
<p>这个概念应该很简单。注意类方法里绝对不要用this关键字，和java完全一样。 </p>
<p>Circle.max = function(a, b) {<br />
&nbsp;&nbsp;&nbsp; return a.r &gt; b.r ? a : b; <br />
} </p>
<p>theMax = Circle(new Circle(1), new Circle(4));</p>
<p><strong>6）继承</strong></p>
<p>子类继承父类，那么 &#8220;子类实例&#8221; 具有和 &#8220;父类实例&#8221; 完全一样的行为。javascript是这样实现的。 </p>
<p>function SubCircle(x, y, r) { <br />
&nbsp; this.x = x;<br />
&nbsp; this.y = y;<br />
&nbsp; this.r =r;<br />
} </p>
<p>SubCircle.prototype = new Circle(0);<br />
记得前面说的吗？可以把prototype看作一个基类。这里，prototype确确实实是一个基类。它是如何实现的呢？ </p>
<p>举例如下：<br />
sc = SubCirlce(1,1,3); <br />
sc.area(); </p>
<p>调用的传递：<br />
sc.area()-&gt;sc.prototype.area()-&gt;Circle(0).area()-&gt;Circle.prototype.area().<br />
看来是不是很奇妙呢。 </p>
<p>通过这种方式，javascript实现了继承。</p>
<p><strong>7）多态</strong></p>
<p>多态是子类会定义和父类具有相同signature的方法。假设在SubCircle所在的空间PI=100,而面积公式也变为 PI*R*R*R。 </p>
<p>SubCircle.prototype.PI = 100 </p>
<p>SubCircle.prototype.area = function() {<br />
&nbsp; &nbsp;return this.PI*this.r*this.r*this.r; <br />
}<br />
Sc.area() </p>
<p>这样的操作可以认为是: </p>
<p>Sc.PI-&gt;sc.prototype.PI-&gt;Cricle(0).PI = 100 </p>
<p>Sc.area()-&gt;sc.prototype.area()-&gt;Circle(0).area.<br />
这个时候，调用过程是这样的 </p>
<p>sc.area()-&gt;sc.prototype.area(),在这里解释器发现了area这个方法，于是它就调用此方法。 </p>
<p>而Cricle.prototype.area就永远也不会被调用。PI的调用也是如此。那么子类如何想调用父类的方法应怎么办呢？好像没有什么办
法哦，谁知道可以告诉我。但面向对象的理论告诉我们，继承主要是提供接口而不是代码复用，所以还是少有这样的念头为好 ：）。 </p>
<p>下面是一个例子程序。包含上面的所有的概念。<br />
<font color="#333333"><font face="宋体"><strong>例子<br />
</strong>///////////define: Cricle//////////////////<br />
function Circle(r) {<br />
this.r = r;<br />
}<br />
Circle.PI = 3.14;<br />
Circle.prototype.PI = 3.14;<br />
Circle.prototype.area = function() { return Circle.PI*this.r*this.r; }<br />
Circle.prototype.area2 = function() { return this.PI*this.r*this.r; } </font></font></p>
<p><br />
//// test<br />
c = new Circle(3);<br />
//alert("area1 :"+c.area());<br />
//alert("area2 :"+c.area2());</p>
<p>Circle.max = function(a, b) { return a.r&gt;b.r ? a.r : b.r; }<br />
//alert("max is "+Circle.max(new Circle(1), new Circle(3)));</p>
<p>c1 = new Circle(1);<br />
c2 = new Circle(1);<br />
c2.PI = 100;//Circle.prototype.PI=100;</p>
<p>//alert("c1.area1 "+c1.area());<br />
//alert("c1.area2 "+c1.area2());<br />
//alert("c2.area1 "+c2.area());<br />
//alert("c2.area2 "+c2.area2());</p>
<p>////////////////////////define: SubCircle //////////////////<br />
function SubCircle(x, y, r) {<br />
this.x = x;<br />
this.y = y;<br />
this.r = r;<br />
}<br />
SubCircle.prototype = new Circle(0);<br />
SubCircle.prototype.PI = 100;<br />
SubCircle.prototype.move2 = function(x, y) { this.x = x; this.y = y;}<br />
SubCircle.prototype.area = function() { return this.PI*this.r*this.r*this.r; }</p>
<p>//// test<br />
sc = new SubCircle(0,0,2);</p>
<p>alert(sc.area());</p>
<img src ="http://www.blogjava.net/WshmAndLily/aggbug/175479.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/WshmAndLily/" target="_blank">semovy</a> 2008-01-15 15:49 <a href="http://www.blogjava.net/WshmAndLily/articles/175479.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>js日期时间函数 </title><link>http://www.blogjava.net/WshmAndLily/articles/172101.html</link><dc:creator>semovy</dc:creator><author>semovy</author><pubDate>Wed, 02 Jan 2008 02:36:00 GMT</pubDate><guid>http://www.blogjava.net/WshmAndLily/articles/172101.html</guid><wfw:comment>http://www.blogjava.net/WshmAndLily/comments/172101.html</wfw:comment><comments>http://www.blogjava.net/WshmAndLily/articles/172101.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/WshmAndLily/comments/commentRss/172101.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/WshmAndLily/services/trackbacks/172101.html</trackback:ping><description><![CDATA[Date.prototype.isLeapYear&nbsp;判断闰年<br />
Date.prototype.Format&nbsp;日期格式化<br />
Date.prototype.DateAdd&nbsp;日期计算<br />
Date.prototype.DateDiff&nbsp;比较日期差<br />
Date.prototype.toString&nbsp;日期转字符串<br />
Date.prototype.toArray&nbsp;日期分割为数组<br />
Date.prototype.DatePart&nbsp;取日期的部分信息<br />
Date.prototype.MaxDayOfDate&nbsp;取日期所在月的最大天数<br />
Date.prototype.WeekNumOfYear&nbsp;判断日期所在年的第几周<br />
StringToDate&nbsp;字符串转日期型<br />
IsValidDate&nbsp;验证日期有效性<br />
CheckDateTime&nbsp;完整日期时间检查<br />
daysBetween&nbsp;日期天数差<br />
<br />
<div class="code_title">js 代码</div>
<div class="dp-highlighter">
<div class="bar">&nbsp;</div>
<ol class="dp-c">
    <li class="alt"><span><span class="comment">//---------------------------------------------------</span><span>&nbsp;&nbsp;</span></span>
    <li class=""><span><span class="comment">//&nbsp;判断闰年</span><span>&nbsp;&nbsp;</span></span>
    <li class="alt"><span><span class="comment">//---------------------------------------------------</span><span>&nbsp;&nbsp;</span></span>
    <li class=""><span>Date.prototype.isLeapYear&nbsp;=&nbsp;<span class="keyword">function</span><span>()&nbsp;&nbsp;&nbsp;</span></span>
    <li class="alt"><span>{&nbsp;&nbsp;&nbsp;</span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span><span>&nbsp;(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)));&nbsp;&nbsp;&nbsp;</span></span>
    <li class="alt"><span>}&nbsp;&nbsp;&nbsp;</span>
    <li class=""><span>&nbsp;&nbsp;</span>
    <li class="alt"><span><span class="comment">//---------------------------------------------------</span><span>&nbsp;&nbsp;</span></span>
    <li class=""><span><span class="comment">//&nbsp;日期格式化</span><span>&nbsp;&nbsp;</span></span>
    <li class="alt"><span><span class="comment">//&nbsp;格式&nbsp;YYYY/yyyy/YY/yy&nbsp;表示年份</span><span>&nbsp;&nbsp;</span></span>
    <li class=""><span><span class="comment">//&nbsp;MM/M&nbsp;月份</span><span>&nbsp;&nbsp;</span></span>
    <li class="alt"><span><span class="comment">//&nbsp;W/w&nbsp;星期</span><span>&nbsp;&nbsp;</span></span>
    <li class=""><span><span class="comment">//&nbsp;dd/DD/d/D&nbsp;日期</span><span>&nbsp;&nbsp;</span></span>
    <li class="alt"><span><span class="comment">//&nbsp;hh/HH/h/H&nbsp;时间</span><span>&nbsp;&nbsp;</span></span>
    <li class=""><span><span class="comment">//&nbsp;mm/m&nbsp;分钟</span><span>&nbsp;&nbsp;</span></span>
    <li class="alt"><span><span class="comment">//&nbsp;ss/SS/s/S&nbsp;秒</span><span>&nbsp;&nbsp;</span></span>
    <li class=""><span><span class="comment">//---------------------------------------------------</span><span>&nbsp;&nbsp;</span></span>
    <li class="alt"><span>Date.prototype.Format&nbsp;=&nbsp;<span class="keyword">function</span><span>(formatStr)&nbsp;&nbsp;&nbsp;</span></span>
    <li class=""><span>{&nbsp;&nbsp;&nbsp;</span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">var</span><span>&nbsp;str&nbsp;=&nbsp;formatStr;&nbsp;&nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">var</span><span>&nbsp;Week&nbsp;=&nbsp;['日','一','二','三','四','五','六'];&nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;</span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;str=str.replace(/yyyy|YYYY/,<span class="keyword">this</span><span>.getFullYear());&nbsp;&nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;str=str.replace(/yy|YY/,(<span class="keyword">this</span><span>.getYear()&nbsp;%&nbsp;100)&gt;9?(</span><span class="keyword">this</span><span>.getYear()&nbsp;%&nbsp;100).toString():'0'&nbsp;+&nbsp;(</span><span class="keyword">this</span><span>.getYear()&nbsp;%&nbsp;100));&nbsp;&nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;</span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;str=str.replace(/MM/,<span class="keyword">this</span><span>.getMonth()&gt;9?</span><span class="keyword">this</span><span>.getMonth().toString():'0'&nbsp;+&nbsp;</span><span class="keyword">this</span><span>.getMonth());&nbsp;&nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;str=str.replace(/M/g,<span class="keyword">this</span><span>.getMonth());&nbsp;&nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;</span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;str=str.replace(/w|W/g,Week[<span class="keyword">this</span><span>.getDay()]);&nbsp;&nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;</span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;str=str.replace(/dd|DD/,<span class="keyword">this</span><span>.getDate()&gt;9?</span><span class="keyword">this</span><span>.getDate().toString():'0'&nbsp;+&nbsp;</span><span class="keyword">this</span><span>.getDate());&nbsp;&nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;str=str.replace(/d|D/g,<span class="keyword">this</span><span>.getDate());&nbsp;&nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;</span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;str=str.replace(/hh|HH/,<span class="keyword">this</span><span>.getHours()&gt;9?</span><span class="keyword">this</span><span>.getHours().toString():'0'&nbsp;+&nbsp;</span><span class="keyword">this</span><span>.getHours());&nbsp;&nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;str=str.replace(/h|H/g,<span class="keyword">this</span><span>.getHours());&nbsp;&nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;str=str.replace(/mm/,<span class="keyword">this</span><span>.getMinutes()&gt;9?</span><span class="keyword">this</span><span>.getMinutes().toString():'0'&nbsp;+&nbsp;</span><span class="keyword">this</span><span>.getMinutes());&nbsp;&nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;str=str.replace(/m/g,<span class="keyword">this</span><span>.getMinutes());&nbsp;&nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;</span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;str=str.replace(/ss|SS/,<span class="keyword">this</span><span>.getSeconds()&gt;9?</span><span class="keyword">this</span><span>.getSeconds().toString():'0'&nbsp;+&nbsp;</span><span class="keyword">this</span><span>.getSeconds());&nbsp;&nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;str=str.replace(/s|S/g,<span class="keyword">this</span><span>.getSeconds());&nbsp;&nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;</span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span><span>&nbsp;str;&nbsp;&nbsp;&nbsp;</span></span>
    <li class=""><span>}&nbsp;&nbsp;&nbsp;</span>
    <li class="alt"><span>&nbsp;&nbsp;</span>
    <li class=""><span><span class="comment">//+---------------------------------------------------</span><span>&nbsp;&nbsp;</span></span>
    <li class="alt"><span><span class="comment">//|&nbsp;求两个时间的天数差&nbsp;日期格式为&nbsp;YYYY-MM-dd&nbsp;</span><span>&nbsp;&nbsp;</span></span>
    <li class=""><span><span class="comment">//+---------------------------------------------------</span><span>&nbsp;&nbsp;</span></span>
    <li class="alt"><span><span class="keyword">function</span><span>&nbsp;daysBetween(DateOne,DateTwo)&nbsp;&nbsp;</span></span>
    <li class=""><span>{&nbsp;&nbsp;&nbsp;</span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">var</span><span>&nbsp;OneMonth&nbsp;=&nbsp;DateOne.substring(5,DateOne.lastIndexOf&nbsp;('-'));&nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">var</span><span>&nbsp;OneDay&nbsp;=&nbsp;DateOne.substring(DateOne.length,DateOne.lastIndexOf&nbsp;('-')+1);&nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">var</span><span>&nbsp;OneYear&nbsp;=&nbsp;DateOne.substring(0,DateOne.indexOf&nbsp;('-'));&nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;</span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">var</span><span>&nbsp;TwoMonth&nbsp;=&nbsp;DateTwo.substring(5,DateTwo.lastIndexOf&nbsp;('-'));&nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">var</span><span>&nbsp;TwoDay&nbsp;=&nbsp;DateTwo.substring(DateTwo.length,DateTwo.lastIndexOf&nbsp;('-')+1);&nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">var</span><span>&nbsp;TwoYear&nbsp;=&nbsp;DateTwo.substring(0,DateTwo.indexOf&nbsp;('-'));&nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;</span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">var</span><span>&nbsp;cha=((Date.parse(OneMonth+'/'+OneDay+'/'+OneYear)-&nbsp;Date.parse(TwoMonth+'/'+TwoDay+'/'+TwoYear))/86400000);&nbsp;&nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span><span>&nbsp;Math.abs(cha);&nbsp;&nbsp;</span></span>
    <li class="alt"><span>}&nbsp;&nbsp;</span>
    <li class=""><span>&nbsp;&nbsp;</span>
    <li class="alt"><span>&nbsp;&nbsp;</span>
    <li class=""><span><span class="comment">//+---------------------------------------------------</span><span>&nbsp;&nbsp;</span></span>
    <li class="alt"><span><span class="comment">//|&nbsp;日期计算</span><span>&nbsp;&nbsp;</span></span>
    <li class=""><span><span class="comment">//+---------------------------------------------------</span><span>&nbsp;&nbsp;</span></span>
    <li class="alt"><span>Date.prototype.DateAdd&nbsp;=&nbsp;<span class="keyword">function</span><span>(strInterval,&nbsp;Number)&nbsp;{&nbsp;&nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">var</span><span>&nbsp;dtTmp&nbsp;=&nbsp;</span><span class="keyword">this</span><span>;&nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">switch</span><span>&nbsp;(strInterval)&nbsp;{&nbsp;&nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">case</span><span>&nbsp;'s'&nbsp;:</span><span class="keyword">return</span><span>&nbsp;</span><span class="keyword">new</span><span>&nbsp;Date(Date.parse(dtTmp)&nbsp;+&nbsp;(1000&nbsp;*&nbsp;Number));&nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">case</span><span>&nbsp;'n'&nbsp;:</span><span class="keyword">return</span><span>&nbsp;</span><span class="keyword">new</span><span>&nbsp;Date(Date.parse(dtTmp)&nbsp;+&nbsp;(60000&nbsp;*&nbsp;Number));&nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">case</span><span>&nbsp;'h'&nbsp;:</span><span class="keyword">return</span><span>&nbsp;</span><span class="keyword">new</span><span>&nbsp;Date(Date.parse(dtTmp)&nbsp;+&nbsp;(3600000&nbsp;*&nbsp;Number));&nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">case</span><span>&nbsp;'d'&nbsp;:</span><span class="keyword">return</span><span>&nbsp;</span><span class="keyword">new</span><span>&nbsp;Date(Date.parse(dtTmp)&nbsp;+&nbsp;(86400000&nbsp;*&nbsp;Number));&nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">case</span><span>&nbsp;'w'&nbsp;:</span><span class="keyword">return</span><span>&nbsp;</span><span class="keyword">new</span><span>&nbsp;Date(Date.parse(dtTmp)&nbsp;+&nbsp;((86400000&nbsp;*&nbsp;7)&nbsp;*&nbsp;Number));&nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">case</span><span>&nbsp;'q'&nbsp;:</span><span class="keyword">return</span><span>&nbsp;</span><span class="keyword">new</span><span>&nbsp;Date(dtTmp.getFullYear(),&nbsp;(dtTmp.getMonth())&nbsp;+&nbsp;Number*3,&nbsp;dtTmp.getDate(),&nbsp;dtTmp.getHours(),&nbsp;dtTmp.getMinutes(),&nbsp;dtTmp.getSeconds());&nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">case</span><span>&nbsp;'m'&nbsp;:</span><span class="keyword">return</span><span>&nbsp;</span><span class="keyword">new</span><span>&nbsp;Date(dtTmp.getFullYear(),&nbsp;(dtTmp.getMonth())&nbsp;+&nbsp;Number,&nbsp;dtTmp.getDate(),&nbsp;dtTmp.getHours(),&nbsp;dtTmp.getMinutes(),&nbsp;dtTmp.getSeconds());&nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">case</span><span>&nbsp;'y'&nbsp;:</span><span class="keyword">return</span><span>&nbsp;</span><span class="keyword">new</span><span>&nbsp;Date((dtTmp.getFullYear()&nbsp;+&nbsp;Number),&nbsp;dtTmp.getMonth(),&nbsp;dtTmp.getDate(),&nbsp;dtTmp.getHours(),&nbsp;dtTmp.getMinutes(),&nbsp;dtTmp.getSeconds());&nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span>
    <li class="alt"><span>}&nbsp;&nbsp;</span>
    <li class=""><span>&nbsp;&nbsp;</span>
    <li class="alt"><span><span class="comment">//+---------------------------------------------------</span><span>&nbsp;&nbsp;</span></span>
    <li class=""><span><span class="comment">//|&nbsp;比较日期差&nbsp;dtEnd&nbsp;格式为日期型或者&nbsp;有效日期格式字符串</span><span>&nbsp;&nbsp;</span></span>
    <li class="alt"><span><span class="comment">//+---------------------------------------------------</span><span>&nbsp;&nbsp;</span></span>
    <li class=""><span>Date.prototype.DateDiff&nbsp;=&nbsp;<span class="keyword">function</span><span>(strInterval,&nbsp;dtEnd)&nbsp;{&nbsp;&nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">var</span><span>&nbsp;dtStart&nbsp;=&nbsp;</span><span class="keyword">this</span><span>;&nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">if</span><span>&nbsp;(</span><span class="keyword">typeof</span><span>&nbsp;dtEnd&nbsp;==&nbsp;'string'&nbsp;)</span><span class="comment">//如果是字符串转换为日期型</span><span>&nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;</span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dtEnd&nbsp;=&nbsp;StringToDate(dtEnd);&nbsp;&nbsp;</span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">switch</span><span>&nbsp;(strInterval)&nbsp;{&nbsp;&nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">case</span><span>&nbsp;'s'&nbsp;:</span><span class="keyword">return</span><span>&nbsp;parseInt((dtEnd&nbsp;-&nbsp;dtStart)&nbsp;/&nbsp;1000);&nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">case</span><span>&nbsp;'n'&nbsp;:</span><span class="keyword">return</span><span>&nbsp;parseInt((dtEnd&nbsp;-&nbsp;dtStart)&nbsp;/&nbsp;60000);&nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">case</span><span>&nbsp;'h'&nbsp;:</span><span class="keyword">return</span><span>&nbsp;parseInt((dtEnd&nbsp;-&nbsp;dtStart)&nbsp;/&nbsp;3600000);&nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">case</span><span>&nbsp;'d'&nbsp;:</span><span class="keyword">return</span><span>&nbsp;parseInt((dtEnd&nbsp;-&nbsp;dtStart)&nbsp;/&nbsp;86400000);&nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">case</span><span>&nbsp;'w'&nbsp;:</span><span class="keyword">return</span><span>&nbsp;parseInt((dtEnd&nbsp;-&nbsp;dtStart)&nbsp;/&nbsp;(86400000&nbsp;*&nbsp;7));&nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">case</span><span>&nbsp;'m'&nbsp;:</span><span class="keyword">return</span><span>&nbsp;(dtEnd.getMonth()+1)+((dtEnd.getFullYear()-dtStart.getFullYear())*12)&nbsp;-&nbsp;(dtStart.getMonth()+1);&nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">case</span><span>&nbsp;'y'&nbsp;:</span><span class="keyword">return</span><span>&nbsp;dtEnd.getFullYear()&nbsp;-&nbsp;dtStart.getFullYear();&nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span>
    <li class="alt"><span>}&nbsp;&nbsp;</span>
    <li class=""><span>&nbsp;&nbsp;</span>
    <li class="alt"><span><span class="comment">//+---------------------------------------------------</span><span>&nbsp;&nbsp;</span></span>
    <li class=""><span><span class="comment">//|&nbsp;日期输出字符串，重载了系统的toString方法</span><span>&nbsp;&nbsp;</span></span>
    <li class="alt"><span><span class="comment">//+---------------------------------------------------</span><span>&nbsp;&nbsp;</span></span>
    <li class=""><span>Date.prototype.toString&nbsp;=&nbsp;<span class="keyword">function</span><span>(showWeek)&nbsp;&nbsp;</span></span>
    <li class="alt"><span>{&nbsp;&nbsp;&nbsp;</span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">var</span><span>&nbsp;myDate=&nbsp;</span><span class="keyword">this</span><span>;&nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">var</span><span>&nbsp;str&nbsp;=&nbsp;myDate.toLocaleDateString();&nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">if</span><span>&nbsp;(showWeek)&nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;</span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">var</span><span>&nbsp;Week&nbsp;=&nbsp;['日','一','二','三','四','五','六'];&nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str&nbsp;+=&nbsp;'&nbsp;星期'&nbsp;+&nbsp;Week[myDate.getDay()];&nbsp;&nbsp;</span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span><span>&nbsp;str;&nbsp;&nbsp;</span></span>
    <li class=""><span>}&nbsp;&nbsp;</span>
    <li class="alt"><span>&nbsp;&nbsp;</span>
    <li class=""><span><span class="comment">//+---------------------------------------------------</span><span>&nbsp;&nbsp;</span></span>
    <li class="alt"><span><span class="comment">//|&nbsp;日期合法性验证</span><span>&nbsp;&nbsp;</span></span>
    <li class=""><span><span class="comment">//|&nbsp;格式为：YYYY-MM-DD或YYYY/MM/DD</span><span>&nbsp;&nbsp;</span></span>
    <li class="alt"><span><span class="comment">//+---------------------------------------------------</span><span>&nbsp;&nbsp;</span></span>
    <li class=""><span><span class="keyword">function</span><span>&nbsp;IsValidDate(DateStr)&nbsp;&nbsp;&nbsp;</span></span>
    <li class="alt"><span>{&nbsp;&nbsp;&nbsp;</span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">var</span><span>&nbsp;sDate=DateStr.replace(/(^\s+|\s+$)/g,</span><span class="string">''</span><span>);&nbsp;</span><span class="comment">//去两边空格;&nbsp;</span><span>&nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">if</span><span>(sDate==</span><span class="string">''</span><span>)&nbsp;</span><span class="keyword">return</span><span>&nbsp;</span><span class="keyword">true</span><span>;&nbsp;&nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">//如果格式满足YYYY-(/)MM-(/)DD或YYYY-(/)M-(/)DD或YYYY-(/)M-(/)D或YYYY-(/)MM-(/)D就替换为''&nbsp;</span><span>&nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">//数据库中，合法日期可以是:YYYY-MM/DD(2003-3/21),数据库会自动转换为YYYY-MM-DD格式&nbsp;</span><span>&nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">var</span><span>&nbsp;s&nbsp;=&nbsp;sDate.replace(/[\d]{&nbsp;4,4&nbsp;}[\-/]{&nbsp;1&nbsp;}[\d]{&nbsp;1,2&nbsp;}[\-/]{&nbsp;1&nbsp;}[\d]{&nbsp;1,2&nbsp;}/g,</span><span class="string">''</span><span>);&nbsp;&nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">if</span><span>&nbsp;(s==</span><span class="string">''</span><span>)&nbsp;</span><span class="comment">//说明格式满足YYYY-MM-DD或YYYY-M-DD或YYYY-M-D或YYYY-MM-D&nbsp;</span><span>&nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;</span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">var</span><span>&nbsp;t=</span><span class="keyword">new</span><span>&nbsp;Date(sDate.replace(/\-/g,'/'));&nbsp;&nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">var</span><span>&nbsp;ar&nbsp;=&nbsp;sDate.split(/[-/:]/);&nbsp;&nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">if</span><span>(ar[0]&nbsp;!=&nbsp;t.getYear()&nbsp;||&nbsp;ar[1]&nbsp;!=&nbsp;t.getMonth()+1&nbsp;||&nbsp;ar[2]&nbsp;!=&nbsp;t.getDate())&nbsp;&nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;</span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">//alert('错误的日期格式！格式为：YYYY-MM-DD或YYYY/MM/DD。注意闰年。');&nbsp;</span><span>&nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span><span>&nbsp;</span><span class="keyword">false</span><span>;&nbsp;&nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;</span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;</span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">else</span><span>&nbsp;&nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;</span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">//alert('错误的日期格式！格式为：YYYY-MM-DD或YYYY/MM/DD。注意闰年。');&nbsp;</span><span>&nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span><span>&nbsp;</span><span class="keyword">false</span><span>;&nbsp;&nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;</span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span><span>&nbsp;</span><span class="keyword">true</span><span>;&nbsp;&nbsp;&nbsp;</span></span>
    <li class="alt"><span>}&nbsp;&nbsp;&nbsp;</span>
    <li class=""><span>&nbsp;&nbsp;</span>
    <li class="alt"><span><span class="comment">//+---------------------------------------------------</span><span>&nbsp;&nbsp;</span></span>
    <li class=""><span><span class="comment">//|&nbsp;日期时间检查</span><span>&nbsp;&nbsp;</span></span>
    <li class="alt"><span><span class="comment">//|&nbsp;格式为：YYYY-MM-DD&nbsp;HH:MM:SS</span><span>&nbsp;&nbsp;</span></span>
    <li class=""><span><span class="comment">//+---------------------------------------------------</span><span>&nbsp;&nbsp;</span></span>
    <li class="alt"><span><span class="keyword">function</span><span>&nbsp;CheckDateTime(str)&nbsp;&nbsp;</span></span>
    <li class=""><span>{&nbsp;&nbsp;&nbsp;</span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">var</span><span>&nbsp;reg&nbsp;=&nbsp;/^(\d+)-(\d{&nbsp;1,2&nbsp;})-(\d{&nbsp;1,2&nbsp;})&nbsp;(\d{&nbsp;1,2&nbsp;}):(\d{&nbsp;1,2&nbsp;}):(\d{&nbsp;1,2&nbsp;})$/;&nbsp;&nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">var</span><span>&nbsp;r&nbsp;=&nbsp;str.match(reg);&nbsp;&nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">if</span><span>(r==</span><span class="keyword">null</span><span>)</span><span class="keyword">return</span><span>&nbsp;</span><span class="keyword">false</span><span>;&nbsp;&nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;r[2]=r[2]-1;&nbsp;&nbsp;&nbsp;</span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">var</span><span>&nbsp;d=&nbsp;</span><span class="keyword">new</span><span>&nbsp;Date(r[1],r[2],r[3],r[4],r[5],r[6]);&nbsp;&nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">if</span><span>(d.getFullYear()!=r[1])</span><span class="keyword">return</span><span>&nbsp;</span><span class="keyword">false</span><span>;&nbsp;&nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">if</span><span>(d.getMonth()!=r[2])</span><span class="keyword">return</span><span>&nbsp;</span><span class="keyword">false</span><span>;&nbsp;&nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">if</span><span>(d.getDate()!=r[3])</span><span class="keyword">return</span><span>&nbsp;</span><span class="keyword">false</span><span>;&nbsp;&nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">if</span><span>(d.getHours()!=r[4])</span><span class="keyword">return</span><span>&nbsp;</span><span class="keyword">false</span><span>;&nbsp;&nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">if</span><span>(d.getMinutes()!=r[5])</span><span class="keyword">return</span><span>&nbsp;</span><span class="keyword">false</span><span>;&nbsp;&nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">if</span><span>(d.getSeconds()!=r[6])</span><span class="keyword">return</span><span>&nbsp;</span><span class="keyword">false</span><span>;&nbsp;&nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span><span>&nbsp;</span><span class="keyword">true</span><span>;&nbsp;&nbsp;&nbsp;</span></span>
    <li class="alt"><span>}&nbsp;&nbsp;&nbsp;</span>
    <li class=""><span>&nbsp;&nbsp;</span>
    <li class="alt"><span><span class="comment">//+---------------------------------------------------</span><span>&nbsp;&nbsp;</span></span>
    <li class=""><span><span class="comment">//|&nbsp;把日期分割成数组</span><span>&nbsp;&nbsp;</span></span>
    <li class="alt"><span><span class="comment">//+---------------------------------------------------</span><span>&nbsp;&nbsp;</span></span>
    <li class=""><span>Date.prototype.toArray&nbsp;=&nbsp;<span class="keyword">function</span><span>()&nbsp;&nbsp;</span></span>
    <li class="alt"><span>{&nbsp;&nbsp;&nbsp;</span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">var</span><span>&nbsp;myDate&nbsp;=&nbsp;</span><span class="keyword">this</span><span>;&nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">var</span><span>&nbsp;myArray&nbsp;=&nbsp;Array();&nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;myArray[0]&nbsp;=&nbsp;myDate.getFullYear();&nbsp;&nbsp;</span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;myArray[1]&nbsp;=&nbsp;myDate.getMonth();&nbsp;&nbsp;</span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;myArray[2]&nbsp;=&nbsp;myDate.getDate();&nbsp;&nbsp;</span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;myArray[3]&nbsp;=&nbsp;myDate.getHours();&nbsp;&nbsp;</span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;myArray[4]&nbsp;=&nbsp;myDate.getMinutes();&nbsp;&nbsp;</span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;myArray[5]&nbsp;=&nbsp;myDate.getSeconds();&nbsp;&nbsp;</span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span><span>&nbsp;myArray;&nbsp;&nbsp;</span></span>
    <li class="alt"><span>}&nbsp;&nbsp;</span>
    <li class=""><span>&nbsp;&nbsp;</span>
    <li class="alt"><span><span class="comment">//+---------------------------------------------------</span><span>&nbsp;&nbsp;</span></span>
    <li class=""><span><span class="comment">//|&nbsp;取得日期数据信息</span><span>&nbsp;&nbsp;</span></span>
    <li class="alt"><span><span class="comment">//|&nbsp;参数&nbsp;interval&nbsp;表示数据类型</span><span>&nbsp;&nbsp;</span></span>
    <li class=""><span><span class="comment">//|&nbsp;y&nbsp;年&nbsp;m月&nbsp;d日&nbsp;w星期&nbsp;ww周&nbsp;h时&nbsp;n分&nbsp;s秒</span><span>&nbsp;&nbsp;</span></span>
    <li class="alt"><span><span class="comment">//+---------------------------------------------------</span><span>&nbsp;&nbsp;</span></span>
    <li class=""><span>Date.prototype.DatePart&nbsp;=&nbsp;<span class="keyword">function</span><span>(interval)&nbsp;&nbsp;</span></span>
    <li class="alt"><span>{&nbsp;&nbsp;&nbsp;</span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">var</span><span>&nbsp;myDate&nbsp;=&nbsp;</span><span class="keyword">this</span><span>;&nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">var</span><span>&nbsp;partStr=</span><span class="string">''</span><span>;&nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">var</span><span>&nbsp;Week&nbsp;=&nbsp;['日','一','二','三','四','五','六'];&nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">switch</span><span>&nbsp;(interval)&nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;</span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">case</span><span>&nbsp;'y'&nbsp;:partStr&nbsp;=&nbsp;myDate.getFullYear();</span><span class="keyword">break</span><span>;&nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">case</span><span>&nbsp;'m'&nbsp;:partStr&nbsp;=&nbsp;myDate.getMonth()+1;</span><span class="keyword">break</span><span>;&nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">case</span><span>&nbsp;'d'&nbsp;:partStr&nbsp;=&nbsp;myDate.getDate();</span><span class="keyword">break</span><span>;&nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">case</span><span>&nbsp;'w'&nbsp;:partStr&nbsp;=&nbsp;Week[myDate.getDay()];</span><span class="keyword">break</span><span>;&nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">case</span><span>&nbsp;'ww'&nbsp;:partStr&nbsp;=&nbsp;myDate.WeekNumOfYear();</span><span class="keyword">break</span><span>;&nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">case</span><span>&nbsp;'h'&nbsp;:partStr&nbsp;=&nbsp;myDate.getHours();</span><span class="keyword">break</span><span>;&nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">case</span><span>&nbsp;'n'&nbsp;:partStr&nbsp;=&nbsp;myDate.getMinutes();</span><span class="keyword">break</span><span>;&nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">case</span><span>&nbsp;'s'&nbsp;:partStr&nbsp;=&nbsp;myDate.getSeconds();</span><span class="keyword">break</span><span>;&nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span><span>&nbsp;partStr;&nbsp;&nbsp;</span></span>
    <li class="alt"><span>}&nbsp;&nbsp;</span>
    <li class=""><span>&nbsp;&nbsp;</span>
    <li class="alt"><span><span class="comment">//+---------------------------------------------------</span><span>&nbsp;&nbsp;</span></span>
    <li class=""><span><span class="comment">//|&nbsp;取得当前日期所在月的最大天数</span><span>&nbsp;&nbsp;</span></span>
    <li class="alt"><span><span class="comment">//+---------------------------------------------------</span><span>&nbsp;&nbsp;</span></span>
    <li class=""><span>Date.prototype.MaxDayOfDate&nbsp;=&nbsp;<span class="keyword">function</span><span>()&nbsp;&nbsp;</span></span>
    <li class="alt"><span>{&nbsp;&nbsp;&nbsp;</span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">var</span><span>&nbsp;myDate&nbsp;=&nbsp;</span><span class="keyword">this</span><span>;&nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">var</span><span>&nbsp;ary&nbsp;=&nbsp;myDate.toArray();&nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">var</span><span>&nbsp;date1&nbsp;=&nbsp;(</span><span class="keyword">new</span><span>&nbsp;Date(ary[0],ary[1]+1,1));&nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">var</span><span>&nbsp;date2&nbsp;=&nbsp;date1.dateAdd(1,'m',1);&nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">var</span><span>&nbsp;result&nbsp;=&nbsp;dateDiff(date1.Format('yyyy-MM-dd'),date2.Format('yyyy-MM-dd'));&nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span><span>&nbsp;result;&nbsp;&nbsp;</span></span>
    <li class=""><span>}&nbsp;&nbsp;</span>
    <li class="alt"><span>&nbsp;&nbsp;</span>
    <li class=""><span><span class="comment">//+---------------------------------------------------</span><span>&nbsp;&nbsp;</span></span>
    <li class="alt"><span><span class="comment">//|&nbsp;取得当前日期所在周是一年中的第几周</span><span>&nbsp;&nbsp;</span></span>
    <li class=""><span><span class="comment">//+---------------------------------------------------</span><span>&nbsp;&nbsp;</span></span>
    <li class="alt"><span>Date.prototype.WeekNumOfYear&nbsp;=&nbsp;<span class="keyword">function</span><span>()&nbsp;&nbsp;</span></span>
    <li class=""><span>{&nbsp;&nbsp;&nbsp;</span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">var</span><span>&nbsp;myDate&nbsp;=&nbsp;</span><span class="keyword">this</span><span>;&nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">var</span><span>&nbsp;ary&nbsp;=&nbsp;myDate.toArray();&nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">var</span><span>&nbsp;year&nbsp;=&nbsp;ary[0];&nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">var</span><span>&nbsp;month&nbsp;=&nbsp;ary[1]+1;&nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">var</span><span>&nbsp;day&nbsp;=&nbsp;ary[2];&nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;document.write('&lt;&nbsp;script&nbsp;language=VBScript\&gt;&nbsp;\n');&nbsp;&nbsp;</span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;document.write('myDate&nbsp;=&nbsp;DateValue(<span class="string">''</span><span>+month+'-'+day+'-'+year+</span><span class="string">''</span><span>)&nbsp;\n');&nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;document.write('result&nbsp;=&nbsp;DatePart('ww',&nbsp;myDate)&nbsp;\n');&nbsp;&nbsp;</span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;document.write('&nbsp;\n');&nbsp;&nbsp;</span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span><span>&nbsp;result;&nbsp;&nbsp;</span></span>
    <li class="alt"><span>}&nbsp;&nbsp;</span>
    <li class=""><span>&nbsp;&nbsp;</span>
    <li class="alt"><span><span class="comment">//+---------------------------------------------------</span><span>&nbsp;&nbsp;</span></span>
    <li class=""><span><span class="comment">//|&nbsp;字符串转成日期类型&nbsp;</span><span>&nbsp;&nbsp;</span></span>
    <li class="alt"><span><span class="comment">//|&nbsp;格式&nbsp;MM/dd/YYYY&nbsp;MM-dd-YYYY&nbsp;YYYY/MM/dd&nbsp;YYYY-MM-dd</span><span>&nbsp;&nbsp;</span></span>
    <li class=""><span><span class="comment">//+---------------------------------------------------</span><span>&nbsp;&nbsp;</span></span>
    <li class="alt"><span><span class="keyword">function</span><span>&nbsp;StringToDate(DateStr)&nbsp;&nbsp;</span></span>
    <li class=""><span>{&nbsp;&nbsp;&nbsp;</span>
    <li class="alt"><span>&nbsp;&nbsp;</span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">var</span><span>&nbsp;converted&nbsp;=&nbsp;Date.parse(DateStr);&nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">var</span><span>&nbsp;myDate&nbsp;=&nbsp;</span><span class="keyword">new</span><span>&nbsp;Date(converted);&nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">if</span><span>&nbsp;(isNaN(myDate))&nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;</span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">//var&nbsp;delimCahar&nbsp;=&nbsp;DateStr.indexOf('/')!=-1?'/':'-';</span><span>&nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">var</span><span>&nbsp;arys=&nbsp;DateStr.split('-');&nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;myDate&nbsp;=&nbsp;<span class="keyword">new</span><span>&nbsp;Date(arys[0],--arys[1],arys[2]);&nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span><span>&nbsp;myDate;&nbsp;&nbsp;</span></span>
    <li class="alt"><span>}&nbsp;&nbsp;</span> </li>
</ol>
</div>
<img src ="http://www.blogjava.net/WshmAndLily/aggbug/172101.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/WshmAndLily/" target="_blank">semovy</a> 2008-01-02 10:36 <a href="http://www.blogjava.net/WshmAndLily/articles/172101.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>select innerHTML在IE和FireFox下处理</title><link>http://www.blogjava.net/WshmAndLily/articles/172074.html</link><dc:creator>semovy</dc:creator><author>semovy</author><pubDate>Wed, 02 Jan 2008 01:37:00 GMT</pubDate><guid>http://www.blogjava.net/WshmAndLily/articles/172074.html</guid><wfw:comment>http://www.blogjava.net/WshmAndLily/comments/172074.html</wfw:comment><comments>http://www.blogjava.net/WshmAndLily/articles/172074.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/WshmAndLily/comments/commentRss/172074.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/WshmAndLily/services/trackbacks/172074.html</trackback:ping><description><![CDATA[<font color="#000060">在前一段时间,做ajax的时候,碰到了这样的问题：</font><br />
<br />
<strong><font color="#000000"><font color="#ff6600">&lt;form name</font>=form1 <font color="#ff6600">action</font>='#' <font color="#ff6600">method</font>=post<font color="#ff6600">&gt;</font><br />
<font color="#ff6600">&lt;select name</font>=typelist <font color="#ff6600">id</font>=typelist<font color="#ff6600">&gt;</font><br />
<font color="#ff6600">&lt;option</font> <font color="#ff6600">value</font>=0<font color="#ff6600">&gt;</font>=请选择=<font color="#ff6600">&lt;/option&gt;</font><br />
<font color="#ff6600">&lt;/select&gt;<br />
&lt;/form&gt;</font></font></strong><br />
<br />
<font color="#000060">下面是一个jscript函数<br />
<br />
<strong><font color="#ff6600">&lt;script language</font>=javascript <font color="#ff6600">type</font>='text/javascript'<font color="#ff6600">&gt;</font><br />
<font color="#ff6600">function</font> getTypeById()<font color="#ff6600">{</font><br />
&nbsp;&nbsp;&nbsp; <font color="#ff6600">var </font>obj = <font color="#ff6600">document</font>.getElementById('typelist'); <br />
&nbsp;&nbsp;&nbsp; <font color="#ff6600">var </font>result = "";<br />
&nbsp;&nbsp;&nbsp; for(var i = 1; i &lt; 6; i++ ){<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; result += "&lt;option value="+i+"&gt;"+i+"&lt;/option&gt;" ;<br />
&nbsp;&nbsp;&nbsp; <font color="#ff6600">}</font><br />
&nbsp;&nbsp;&nbsp; </strong></font><font color="#000060"><strong>obj.innerHTML = result;</strong><strong> <br />
<font color="#ff6600">}</font><br />
<font color="#ff6600">&lt;/script&gt;</font></strong><br />
<br />
出现的结果&lt;select&gt;&lt;/select&gt;中的内容在IE下运行为空白，而在FireFOx中运行正确。<br />
<br />
针对这样情况的解决办法是换另一种方法做<br />
<strong><br />
</strong><strong><font color="#ff6600">function </font>getTypeById(id)<font color="#ff6600">{ </font><br />
&nbsp;&nbsp;&nbsp; var s=document.getElementById(id); <br />
&nbsp;&nbsp;&nbsp; for(var i = 1; i &lt; 6; i++ ){<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; s.options[s.options.length] = new Option(i,i);<br />
<font color="#ff6600">&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp; <br />
} </font></strong><br />
</font>
<img src ="http://www.blogjava.net/WshmAndLily/aggbug/172074.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/WshmAndLily/" target="_blank">semovy</a> 2008-01-02 09:37 <a href="http://www.blogjava.net/WshmAndLily/articles/172074.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>常用JS加密编码算法 转[千里冰封]</title><link>http://www.blogjava.net/WshmAndLily/articles/160914.html</link><dc:creator>semovy</dc:creator><author>semovy</author><pubDate>Fri, 16 Nov 2007 01:41:00 GMT</pubDate><guid>http://www.blogjava.net/WshmAndLily/articles/160914.html</guid><wfw:comment>http://www.blogjava.net/WshmAndLily/comments/160914.html</wfw:comment><comments>http://www.blogjava.net/WshmAndLily/articles/160914.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/WshmAndLily/comments/commentRss/160914.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/WshmAndLily/services/trackbacks/160914.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 一：UTF8编码函数Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->function&nbsp;URLEncode(Str){&nbsp;&nbsp;if(Str==null||Str=="")&nbsp;&nbsp...&nbsp;&nbsp;<a href='http://www.blogjava.net/WshmAndLily/articles/160914.html'>阅读全文</a><img src ="http://www.blogjava.net/WshmAndLily/aggbug/160914.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/WshmAndLily/" target="_blank">semovy</a> 2007-11-16 09:41 <a href="http://www.blogjava.net/WshmAndLily/articles/160914.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>js控制input输入字符限制</title><link>http://www.blogjava.net/WshmAndLily/articles/153595.html</link><dc:creator>semovy</dc:creator><author>semovy</author><pubDate>Wed, 17 Oct 2007 08:01:00 GMT</pubDate><guid>http://www.blogjava.net/WshmAndLily/articles/153595.html</guid><wfw:comment>http://www.blogjava.net/WshmAndLily/comments/153595.html</wfw:comment><comments>http://www.blogjava.net/WshmAndLily/articles/153595.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/WshmAndLily/comments/commentRss/153595.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/WshmAndLily/services/trackbacks/153595.html</trackback:ping><description><![CDATA[<p>ENTER键可以让光标移到下一个输入框 <br />
&lt;input onkeydown="if(event.keyCode==13)event.keyCode=9" &gt; </p>
<p>只能是中文<br />
&lt;input onkeyup="value=value.replace(/[ -~]/g,'')" onkeydown="if(event.keyCode==13)event.keyCode=9"&gt; </p>
<p>屏蔽输入法<br />
&lt;input style="ime-mode:disabled" onkeydown="if(event.keyCode==13)event.keyCode=9"&gt; </p>
<p>只能输入英文和数字<br />
&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; </p>
<p>只能是数字<br />
&lt;input onkeyup="value=value.replace(/[^\d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"&gt;</p>
<p>只能显示，不能修改<br />
&lt;input readonly value="只能显示，不能修改"&gt;</p>
<p>只能书数字，判断按键的值<br />
&lt;script&nbsp;&nbsp; language=javascript&gt;<br />
function&nbsp;&nbsp; onlyNum()<br />
{<br />
if(!((event.keyCode&gt;=48&amp;&amp;event.keyCode&lt;=57)||(event.keyCode&gt;=96&amp;&amp;event.keyCode&lt;=105)||(event.keyCode==8)))<br />
event.returnValue=false;<br />
}<br />
&lt;/script&gt;<br />
&lt;input&nbsp;&nbsp; onkeydown="onlyNum();"&gt;&nbsp;&nbsp;<br />
</p>
<img src ="http://www.blogjava.net/WshmAndLily/aggbug/153595.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/WshmAndLily/" target="_blank">semovy</a> 2007-10-17 16:01 <a href="http://www.blogjava.net/WshmAndLily/articles/153595.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>js常用函数属性事件集</title><link>http://www.blogjava.net/WshmAndLily/articles/151897.html</link><dc:creator>semovy</dc:creator><author>semovy</author><pubDate>Wed, 10 Oct 2007 15:23:00 GMT</pubDate><guid>http://www.blogjava.net/WshmAndLily/articles/151897.html</guid><wfw:comment>http://www.blogjava.net/WshmAndLily/comments/151897.html</wfw:comment><comments>http://www.blogjava.net/WshmAndLily/articles/151897.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/WshmAndLily/comments/commentRss/151897.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/WshmAndLily/services/trackbacks/151897.html</trackback:ping><description><![CDATA[<p><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 />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (form.elements[i].type == "text"){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; form.elements[i].value = "";<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<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)设置秒&nbsp;&nbsp; [注意:此日期时间从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;!--&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //--&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代表其下层的全部元素 </font></p>
<p><font size="2">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.xrss.cn","jaskdlf/' href_cetemp='http://www.xrss.cn","jaskdlf/'><font color="#0000ff" size="2"><u>http://www.xrss.cn","jaskdlf</u></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 color="#0000ff" size="2"><u>http://www.sina.com.cn</u></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.";}}&nbsp;&nbsp; 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("/a/a.html"),hash("#giantGizmo' href_cetemp='http://www.example.com),port(80),host(www.example.com:80),pathname("/a/a.html"),hash("#giantGizmo'><font color="#0000ff" size="2"><u>www.example.com),port(80),host(www.example.com:80),pathname("/a/a.html"),hash("#giantGizmo</u></font></a><font size="2">",指跳转到相应的锚记),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</font></p>
<img src ="http://www.blogjava.net/WshmAndLily/aggbug/151897.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/WshmAndLily/" target="_blank">semovy</a> 2007-10-10 23:23 <a href="http://www.blogjava.net/WshmAndLily/articles/151897.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>兼容于ie,firefox,netscape的等比例图片本地预览的javascript实现</title><link>http://www.blogjava.net/WshmAndLily/articles/151410.html</link><dc:creator>semovy</dc:creator><author>semovy</author><pubDate>Tue, 09 Oct 2007 07:11:00 GMT</pubDate><guid>http://www.blogjava.net/WshmAndLily/articles/151410.html</guid><wfw:comment>http://www.blogjava.net/WshmAndLily/comments/151410.html</wfw:comment><comments>http://www.blogjava.net/WshmAndLily/articles/151410.html#Feedback</comments><slash:comments>12</slash:comments><wfw:commentRss>http://www.blogjava.net/WshmAndLily/comments/commentRss/151410.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/WshmAndLily/services/trackbacks/151410.html</trackback:ping><description><![CDATA[&lt;html&gt;<br />
&lt;head&gt;<br />
&lt;title&gt;兼容于ie,firefox,netscape的等比例图片本地预览的javascript实现&lt;/title&gt;<br />
&lt;meta http-equie="keywords" content="兼容ie,firefox,netscape,等比例图片,javascript"&gt;<br />
&lt;script type="text/javascript"&gt;<br />
/*<br />
&nbsp;兼容于ie,firefox,netscape的等比例图片本地预览的javascript实现<br />
&nbsp;author:semovy@gmail.com<br />
&nbsp;date:14:39 上午 2007-10-9<br />
&nbsp;@param:targetImg string id 待显示等比例调整过的目标元素的id字符串<br />
&nbsp;@param:imgSrc string src 等处理的图片源路径字符串<br />
&nbsp;@param:fitWidth int 等显示图片的最大宽度<br />
&nbsp;@param:fitHeight int 等显示图片的最大高度<br />
*/<br />
function resizeImage(targetImg,imgSrc,fitWidth,fitHeight)<br />
{<br />
&nbsp;var imgSrc = "file:///" + imgSrc.replace(/\\/g,"/");//本地路径c:\a.jpg,而ff,ns不支持,所以替换成file:///c:/a.jpg这种形式<br />
&nbsp;var img = document.getElementById(targetImg);//获取目标图片元素容器<br />
&nbsp;var tempImg = new Image();//建立临时图片对象<br />
&nbsp;tempImg.src = imgSrc;//给临时图片对象赋予图片源<br />
&nbsp;var scale=1.0;//图片度高比例因子.<br />
&nbsp;var width=0,height=0;<br />
&nbsp;<br />
&nbsp;/*firefox实现了complete属性，而ie实现了complete属性和readyState属性<br />
&nbsp;但是两者对属性的定义好像不同：<br />
&nbsp;firefox： 一个图像被下载完毕，complete属性就是true，没有下载完毕则为false<br />
&nbsp;ie：一个图像没有被下载完毕，则readyState属性为uninitialized,complete属性是false.当下载完毕时，<br />
&nbsp;readyState为complete，而如果此时图片还没有显示，complete为false,显示以后(display:block)此属性才变成true<br />
&nbsp;*/<br />
&nbsp;<br />
&nbsp;if(document.all)//如果是ie<br />
&nbsp;{<br />
&nbsp;&nbsp;if(tempImg.readyState=='complete')<br />
&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;width = tempImg.width;//获取源图片宽,高<br />
&nbsp;&nbsp;&nbsp;height = tempImg.height;<br />
&nbsp;&nbsp;}<br />
&nbsp;}<br />
&nbsp;else(tempImg.complete)//fire fox ,netscape<br />
&nbsp;{<br />
&nbsp;&nbsp;width = tempImg.width;<br />
&nbsp;&nbsp;height = tempImg.height;<br />
&nbsp;}<br />
&nbsp;scale = width/height;//宽度比例因子<br />
&nbsp;if(width &gt; fitWidth)//等比例调整<br />
&nbsp;{<br />
&nbsp;&nbsp;width = fitWidth;<br />
&nbsp;&nbsp;height = width/scale;&nbsp; <br />
&nbsp;&nbsp;if(height &gt; fitHeight)<br />
&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;height = fitHeight;<br />
&nbsp;&nbsp;&nbsp;width = height*scale;<br />
&nbsp;&nbsp;}<br />
&nbsp;}<br />
&nbsp;if(height &gt; fitHeight)<br />
&nbsp;{<br />
&nbsp;&nbsp;height = fitHeight;<br />
&nbsp;&nbsp;width = height*scale;<br />
&nbsp;}<br />
&nbsp;img.width = width;//调整后的宽,高<br />
&nbsp;img.height = height;<br />
&nbsp;img.src = imgSrc;<br />
&nbsp;img.style.display="";//显示图片<br />
}<br />
&lt;/script&gt;<br />
&lt;/head&gt;<br />
&lt;body&gt;<br />
&lt;!--目标显示图片组件,初始化为隐藏格式--&gt;<br />
&lt;img id="img" style="display:none"&gt;<br />
&lt;input type="file" id="imgFile" onchange="resizeImage('img',this.value,150,150)"&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;
<img src ="http://www.blogjava.net/WshmAndLily/aggbug/151410.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/WshmAndLily/" target="_blank">semovy</a> 2007-10-09 15:11 <a href="http://www.blogjava.net/WshmAndLily/articles/151410.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>鼠标滑过链接出现的对话框式提示效果</title><link>http://www.blogjava.net/WshmAndLily/articles/148788.html</link><dc:creator>semovy</dc:creator><author>semovy</author><pubDate>Thu, 27 Sep 2007 09:26:00 GMT</pubDate><guid>http://www.blogjava.net/WshmAndLily/articles/148788.html</guid><wfw:comment>http://www.blogjava.net/WshmAndLily/comments/148788.html</wfw:comment><comments>http://www.blogjava.net/WshmAndLily/articles/148788.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/WshmAndLily/comments/commentRss/148788.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/WshmAndLily/services/trackbacks/148788.html</trackback:ping><description><![CDATA[&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;<br />
&lt;html xmlns="http://www.w3.org/1999/xhtml"&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;script type="text/javascript"&gt;<br />
function enableTooltips(id){<br />
var links,i,h;<br />
if(!document.getElementById || !document.getElementsByTagName) return;<br />
AddCss();<br />
h=document.createElement("span");<br />
h.id="btc";<br />
h.setAttribute("id","btc");<br />
h.style.position="absolute";<br />
document.getElementsByTagName("body")[0].appendChild(h);<br />
if(id==null) links=document.getElementsByTagName("a");<br />
else links=document.getElementById(id).getElementsByTagName("a");<br />
for(i=0;i&lt;links.length;i++){<br />
Prepare(links[i]);<br />
}<br />
}function Prepare(el){<br />
var tooltip,t,b,s,l;<br />
t=el.getAttribute("title");<br />
if(t==null || t.length==0) t="link:";<br />
el.removeAttribute("title");<br />
tooltip=CreateEl("span","tooltip");<br />
s=CreateEl("span","top");<br />
s.appendChild(document.createTextNode(t));<br />
tooltip.appendChild(s);<br />
b=CreateEl("b","bottom");<br />
l=el.getAttribute("href");<br />
if(l.length&gt;30) l=l.substr(0,27)+"...";<br />
b.appendChild(document.createTextNode(l));<br />
tooltip.appendChild(b);<br />
setOpacity(tooltip);<br />
el.tooltip=tooltip;<br />
el.onmouseover=showTooltip;<br />
el.onmouseout=hideTooltip;<br />
el.onmousemove=Locate;<br />
}function showTooltip(e){<br />
document.getElementById("btc").appendChild(this.tooltip);<br />
Locate(e);<br />
}function hideTooltip(e){<br />
var d=document.getElementById("btc");<br />
if(d.childNodes.length&gt;0) d.removeChild(d.firstChild);<br />
}function setOpacity(el){<br />
el.style.filter="alpha(opacity:95)";<br />
el.style.KHTMLOpacity="0.95";<br />
el.style.MozOpacity="0.95";<br />
el.style.opacity="0.95";<br />
}function CreateEl(t,c){<br />
var x=document.createElement(t);<br />
x.className=c;<br />
x.style.display="block";<br />
return(x);<br />
}function AddCss(){<br />
var l=CreateEl("link");<br />
l.setAttribute("type","text/css");<br />
l.setAttribute("rel","stylesheet");<br />
l.setAttribute("href","?.css");<br />
l.setAttribute("media","screen");<br />
document.getElementsByTagName("head")[0].appendChild(l);<br />
}function Locate(e){<br />
var posx=0,posy=0;<br />
if(e==null) e=window.event;<br />
if(e.pageX || e.pageY){<br />
posx=e.pageX; posy=e.pageY;<br />
}<br />
else if(e.clientX || e.clientY){<br />
if(document.documentElement.scrollTop){<br />
posx=e.clientX+document.documentElement.scrollLeft;<br />
posy=e.clientY+document.documentElement.scrollTop;<br />
}<br />
else{<br />
posx=e.clientX+document.body.scrollLeft;<br />
posy=e.clientY+document.body.scrollTop;<br />
}<br />
}<br />
document.getElementById("btc").style.top=(posy+10)+"px";<br />
document.getElementById("btc").style.left=(posx-20)+"px";<br />
}<br />
&lt;/script&gt;<br />
&lt;script type="text/javascript"&gt;<br />
window.onload=function(){enableTooltips()};<br />
&lt;/script&gt;<br />
&lt;style type="text/css"&gt;<br />
body{font: 76%/1.5 Arial,sans-serif;background: #FFF;color: #333}<br />
div#container{width: 500px;margin:0 auto}<br />
h1{color: #3CA3FF;margin: 1em 0 0;letter-spacing: -2px}<br />
p{margin: 0 0 1.7em}<br />
a{color: #F60;font-weight:bold}<br />
a:hover{color: #F00}<br />
.tooltip{<br />
width: 200px; color:#000;<br />
font:lighter 11px/1.3 Arial,sans-serif;<br />
text-decoration:none;text-align:center}.tooltip span.top{padding: 30px 8px 0;<br />
&nbsp;&nbsp;&nbsp;&nbsp; background: url(http://www.makewing.com/images/uppic/200708171844190.gif) no-repeat top}.tooltip b.bottom{padding:3px 8px 15px;color: #548912;<br />
&nbsp;&nbsp;&nbsp;&nbsp; background: url(http://www.makewing.com/images/uppic/200708171844190.gif) no-repeat bottom}<br />
&lt;/style&gt;<br />
&lt;/head&gt;<br />
&lt;body&gt;<br />
&lt;div id="container"&gt;<br />
&lt;p&gt;&lt;a href="http://hi.baidu.com/comasp" title="Com@'s space"&gt;My space&lt;/a&gt;&lt;/p&gt;<br />
&lt;/div&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;
<img src ="http://www.blogjava.net/WshmAndLily/aggbug/148788.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/WshmAndLily/" target="_blank">semovy</a> 2007-09-27 17:26 <a href="http://www.blogjava.net/WshmAndLily/articles/148788.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>一个精美强大的JS日历</title><link>http://www.blogjava.net/WshmAndLily/articles/148786.html</link><dc:creator>semovy</dc:creator><author>semovy</author><pubDate>Thu, 27 Sep 2007 09:19:00 GMT</pubDate><guid>http://www.blogjava.net/WshmAndLily/articles/148786.html</guid><wfw:comment>http://www.blogjava.net/WshmAndLily/comments/148786.html</wfw:comment><comments>http://www.blogjava.net/WshmAndLily/articles/148786.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/WshmAndLily/comments/commentRss/148786.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/WshmAndLily/services/trackbacks/148786.html</trackback:ping><description><![CDATA[<p>&lt;html&gt;</p>
<p>&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;</p>
<p>&lt;body&gt;</p>
<p><br />
&lt;SCRIPT language=JavaScript&gt;<br />
&lt;!--<br />
/*****************************************************************************<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 日期资料<br />
*****************************************************************************/</p>
<p>var lunarInfo=new Array(<br />
0x04bd8,0x04ae0,0x0a570,0x054d5,0x0d260,0x0d950,0x16554,0x056a0,0x09ad0,0x055d2,<br />
0x04ae0,0x0a5b6,0x0a4d0,0x0d250,0x1d255,0x0b540,0x0d6a0,0x0ada2,0x095b0,0x14977,<br />
0x04970,0x0a4b0,0x0b4b5,0x06a50,0x06d40,0x1ab54,0x02b60,0x09570,0x052f2,0x04970,<br />
0x06566,0x0d4a0,0x0ea50,0x06e95,0x05ad0,0x02b60,0x186e3,0x092e0,0x1c8d7,0x0c950,<br />
0x0d4a0,0x1d8a6,0x0b550,0x056a0,0x1a5b4,0x025d0,0x092d0,0x0d2b2,0x0a950,0x0b557,<br />
0x06ca0,0x0b550,0x15355,0x04da0,0x0a5d0,0x14573,0x052d0,0x0a9a8,0x0e950,0x06aa0,<br />
0x0aea6,0x0ab50,0x04b60,0x0aae4,0x0a570,0x05260,0x0f263,0x0d950,0x05b57,0x056a0,<br />
0x096d0,0x04dd5,0x04ad0,0x0a4d0,0x0d4d4,0x0d250,0x0d558,0x0b540,0x0b5a0,0x195a6,<br />
0x095b0,0x049b0,0x0a974,0x0a4b0,0x0b27a,0x06a50,0x06d40,0x0af46,0x0ab60,0x09570,<br />
0x04af5,0x04970,0x064b0,0x074a3,0x0ea50,0x06b58,0x055c0,0x0ab60,0x096d5,0x092e0,<br />
0x0c960,0x0d954,0x0d4a0,0x0da50,0x07552,0x056a0,0x0abb7,0x025d0,0x092d0,0x0cab5,<br />
0x0a950,0x0b4a0,0x0baa4,0x0ad50,0x055d9,0x04ba0,0x0a5b0,0x15176,0x052b0,0x0a930,<br />
0x07954,0x06aa0,0x0ad50,0x05b52,0x04b60,0x0a6e6,0x0a4e0,0x0d260,0x0ea65,0x0d530,<br />
0x05aa0,0x076a3,0x096d0,0x04bd7,0x04ad0,0x0a4d0,0x1d0b6,0x0d250,0x0d520,0x0dd45,<br />
0x0b5a0,0x056d0,0x055b2,0x049b0,0x0a577,0x0a4b0,0x0aa50,0x1b255,0x06d20,0x0ada0)</p>
<p>var solarMonth=new Array(31,28,31,30,31,30,31,31,30,31,30,31);<br />
var Gan=new Array("甲","乙","丙","丁","戊","己","庚","辛","壬","癸");<br />
var Zhi=new Array("子","丑","寅","卯","辰","巳","午","未","申","酉","戌","亥");<br />
var Animals=new Array("鼠","牛","虎","兔","龙","蛇","马","羊","猴","鸡","狗","猪");<br />
var solarTerm = new Array("小寒","大寒","立春","雨水","惊蛰","春分","清明","谷雨","立夏","小满","芒种","夏至","小暑","大暑","立秋","处暑","白露","秋分","寒露","霜降","立冬","小雪","大雪","冬至")<br />
var sTermInfo = new Array(0,21208,42467,63836,85337,107014,128867,150921,173149,195551,218072,240693,263343,285989,308563,331033,353350,375494,397447,419210,440795,462224,483532,504758)<br />
var nStr1 = new Array('日','一','二','三','四','五','六','七','八','九','十')<br />
var nStr2 = new Array('初','十','廿','卅','　')<br />
var monthName = new Array("JAN","FEB","MAR","APR","MAY","JUN","JUL","AUG","SEP","OCT","NOV","DEC");</p>
<p>//国历节日 *表示放假日<br />
var sFtv = new Array(<br />
"0101*元旦",<br />
"0214 情人节",<br />
"0303 我生日",<br />
"0308 妇女节",<br />
"0312 植树节",<br />
"0315 消费者权益日",<br />
"0317 St. Patrick's",<br />
"0401 愚人节",<br />
"0501 劳动节",<br />
"0504 青年节",<br />
"0512 护士节",<br />
"0512 茵生日",<br />
"0601 儿童节",<br />
"0614 Flag Day",<br />
"0701 建党节 香港回归纪念",<br />
"0703 炎黄在线诞辰",<br />
"0718 托普诞辰",<br />
"0801 建军节",<br />
"0808 父亲节",<br />
"0909 毛泽东逝世纪念",<br />
"0910 教师节",<br />
"0928 孔子诞辰",<br />
"1001*国庆节",<br />
"1006 老人节",<br />
"1024 联合国日",<br />
"1111 Veteran's / Remembrance Day",<br />
"1112 孙中山诞辰纪念",<br />
"1220 澳门回归纪念",<br />
"1225 Christmas Day",<br />
"1226 毛泽东诞辰纪念")</p>
<p>//农历节日 *表示放假日<br />
var lFtv = new Array(<br />
"0101*春节",<br />
"0115 元宵节",<br />
"0505 端午节",<br />
"0707 七夕情人节",<br />
"0715 中元节",<br />
"0815 中秋节",<br />
"0909 重阳节",<br />
"1208 腊八节",<br />
"1224 小年",<br />
"0100*除夕")</p>
<p>//某月的第几个星期几<br />
var wFtv = new Array(<br />
"0131 Martin Luther King Day",<br />
"0231 President's Day",<br />
"0520 母亲节",<br />
"0530 Armed Forces Day",<br />
"0531 Victoria Day",<br />
"0716 合作节",<br />
"0730 被奴役国家周",<br />
"0811 Civic Holiday",<br />
"0911 Labor Holiday",<br />
"1021 Columbus Day",<br />
"1144 Thanksgiving")</p>
<p><br />
/*****************************************************************************<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 日期计算<br />
*****************************************************************************/</p>
<p>//====================================== 传回农历 y年的总天数<br />
function lYearDays(y) {<br />
&nbsp;&nbsp; var i, sum = 348<br />
&nbsp;&nbsp; for(i=0x8000; i&gt;0x8; i&gt;&gt;=1) sum += (lunarInfo[y-1900] &amp; i)? 1: 0<br />
&nbsp;&nbsp; return(sum+leapDays(y))<br />
}</p>
<p>//====================================== 传回农历 y年闰月的天数<br />
function leapDays(y) {<br />
&nbsp;&nbsp; if(leapMonth(y))&nbsp; return((lunarInfo[y-1900] &amp; 0x10000)? 30: 29)<br />
&nbsp;&nbsp; else return(0)<br />
}</p>
<p>//====================================== 传回农历 y年闰哪个月 1-12 , 没闰传回 0<br />
function leapMonth(y) {<br />
&nbsp;&nbsp; return(lunarInfo[y-1900] &amp; 0xf)<br />
}</p>
<p>//====================================== 传回农历 y年m月的总天数<br />
function monthDays(y,m) {<br />
&nbsp;&nbsp; return( (lunarInfo[y-1900] &amp; (0x10000&gt;&gt;m))? 30: 29 )<br />
}</p>
<p>//====================================== 算出农历, 传入日期物件, 传回农历日期物件<br />
//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 该物件属性有 .year .month .day .isLeap .yearCyl .dayCyl .monCyl<br />
function Lunar(objDate) {</p>
<p>&nbsp;&nbsp; var i, leap=0, temp=0<br />
&nbsp;&nbsp; var baseDate = new Date(1900,0,31)<br />
&nbsp;&nbsp; var offset&nbsp;&nbsp; = (objDate - baseDate)/86400000</p>
<p>&nbsp;&nbsp; this.dayCyl = offset + 40<br />
&nbsp;&nbsp; this.monCyl = 14</p>
<p>&nbsp;&nbsp; for(i=1900; i&lt;2050 &amp;&amp; offset&gt;0; i++) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; temp = lYearDays(i)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; offset -= temp<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.monCyl += 12<br />
&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp; if(offset&lt;0) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; offset += temp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; i--;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.monCyl -= 12<br />
&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp; this.year = i<br />
&nbsp;&nbsp; this.yearCyl = i-1864</p>
<p>&nbsp;&nbsp; leap = leapMonth(i) //闰哪个月<br />
&nbsp;&nbsp; this.isLeap = false</p>
<p>&nbsp;&nbsp; for(i=1; i&lt;13 &amp;&amp; offset&gt;0; i++) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //闰月<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(leap&gt;0 &amp;&amp; i==(leap+1) &amp;&amp; this.isLeap==false)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; { --i; this.isLeap = true; temp = leapDays(this.year); }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; { temp = monthDays(this.year, i); }</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //解除闰月<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(this.isLeap==true &amp;&amp; i==(leap+1)) this.isLeap = false</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; offset -= temp<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(this.isLeap == false) this.monCyl ++<br />
&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp; if(offset==0 &amp;&amp; leap&gt;0 &amp;&amp; i==leap+1)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(this.isLeap)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; { this.isLeap = false; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; { this.isLeap = true; --i; --this.monCyl;}</p>
<p>&nbsp;&nbsp; if(offset&lt;0){ offset += temp; --i; --this.monCyl; }</p>
<p>&nbsp;&nbsp; this.month = i<br />
&nbsp;&nbsp; this.day = offset + 1<br />
}</p>
<p>//==============================传回国历 y年某m+1月的天数<br />
function solarDays(y,m) {<br />
&nbsp;&nbsp; if(m==1)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return(((y%4 == 0) &amp;&amp; (y%100 != 0) || (y%400 == 0))? 29: 28)<br />
&nbsp;&nbsp; else<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return(solarMonth[m])<br />
}<br />
//============================== 传入 offset 传回干支, 0=甲子<br />
function cyclical(num) {<br />
&nbsp;&nbsp; return(Gan[num%10]+Zhi[num%12])<br />
}</p>
<p>//============================== 月历属性<br />
function calElement(sYear,sMonth,sDay,week,lYear,lMonth,lDay,isLeap,cYear,cMonth,cDay) {</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.isToday&nbsp;&nbsp;&nbsp; = false;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //国历<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.sYear&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = sYear;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.sMonth&nbsp;&nbsp;&nbsp;&nbsp; = sMonth;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.sDay&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = sDay;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.week&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = week;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //农历<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.lYear&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = lYear;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.lMonth&nbsp;&nbsp;&nbsp;&nbsp; = lMonth;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.lDay&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = lDay;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.isLeap&nbsp;&nbsp;&nbsp;&nbsp; = isLeap;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //干支<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.cYear&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = cYear;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.cMonth&nbsp;&nbsp;&nbsp;&nbsp; = cMonth;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.cDay&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = cDay;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.color&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = '';</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.lunarFestival = ''; //农历节日<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.solarFestival = ''; //国历节日<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.solarTerms&nbsp;&nbsp;&nbsp; = ''; //节气</p>
<p>}</p>
<p>//===== 某年的第n个节气为几日(从0小寒起算)<br />
function sTerm(y,n) {<br />
&nbsp;&nbsp; var offDate = new Date( ( 31556925974.7*(y-1900) + sTermInfo[n]*60000&nbsp; ) + Date.UTC(1900,0,6,2,5) )<br />
&nbsp;&nbsp; return(offDate.getUTCDate())<br />
}</p>
<p>//============================== 传回月历物件 (y年,m+1月)<br />
function calendar(y,m) {</p>
<p>&nbsp;&nbsp; var sDObj, lDObj, lY, lM, lD=1, lL, lX=0, tmp1, tmp2<br />
&nbsp;&nbsp; var lDPOS = new Array(3)<br />
&nbsp;&nbsp; var n = 0<br />
&nbsp;&nbsp; var firstLM = 0</p>
<p>&nbsp;&nbsp; sDObj = new Date(y,m,1)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //当月一日日期</p>
<p>&nbsp;&nbsp; this.length&nbsp;&nbsp;&nbsp; = solarDays(y,m)&nbsp;&nbsp;&nbsp; //国历当月天数<br />
&nbsp;&nbsp; this.firstWeek = sDObj.getDay()&nbsp;&nbsp;&nbsp; //国历当月1日星期几</p>
<p><br />
&nbsp;&nbsp; for(var i=0;i&lt;this.length;i++) {</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(lD&gt;lX) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sDObj = new Date(y,m,i+1)&nbsp;&nbsp;&nbsp; //当月一日日期<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lDObj = new Lunar(sDObj)&nbsp;&nbsp;&nbsp;&nbsp; //农历<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lY&nbsp;&nbsp;&nbsp; = lDObj.year&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //农历年<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lM&nbsp;&nbsp;&nbsp; = lDObj.month&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //农历月<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lD&nbsp;&nbsp;&nbsp; = lDObj.day&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //农历日<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lL&nbsp;&nbsp;&nbsp; = lDObj.isLeap&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //农历是否闰月<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lX&nbsp;&nbsp;&nbsp; = lL? leapDays(lY): monthDays(lY,lM) //农历当月最後一天</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(n==0) firstLM = lM<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lDPOS[n++] = i-lD+1<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //sYear,sMonth,sDay,week,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //lYear,lMonth,lDay,isLeap,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //cYear,cMonth,cDay<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this[i] = new calElement(y, m+1, i+1, nStr1[(i+this.firstWeek)%7],<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lY, lM, lD++, lL,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cyclical(lDObj.yearCyl) ,cyclical(lDObj.monCyl), cyclical(lDObj.dayCyl++) )</p>
<p><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if((i+this.firstWeek)%7==0)&nbsp;&nbsp; this[i].color = 'red'&nbsp; //周日颜色<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if((i+this.firstWeek)%14==13) this[i].color = 'red'&nbsp; //周休二日颜色<br />
&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp; //节气<br />
&nbsp;&nbsp; tmp1=sTerm(y,m*2&nbsp; )-1<br />
&nbsp;&nbsp; tmp2=sTerm(y,m*2+1)-1<br />
&nbsp;&nbsp; this[tmp1].solarTerms = solarTerm[m*2]<br />
&nbsp;&nbsp; this[tmp2].solarTerms = solarTerm[m*2+1]<br />
&nbsp;&nbsp; if(m==3) this[tmp1].color = 'red' //清明颜色</p>
<p>&nbsp;&nbsp; //国历节日<br />
&nbsp;&nbsp; for(i in sFtv)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(sFtv[i].match(/^(\d{2})(\d{2})([\s\*])(.+)$/))<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(Number(RegExp.$1)==(m+1)) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this[Number(RegExp.$2)-1].solarFestival += RegExp.$4 + ' '<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(RegExp.$3=='*') this[Number(RegExp.$2)-1].color = 'red'<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp; //月周节日<br />
&nbsp;&nbsp; for(i in wFtv)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(wFtv[i].match(/^(\d{2})(\d)(\d)([\s\*])(.+)$/))<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(Number(RegExp.$1)==(m+1)) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tmp1=Number(RegExp.$2)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tmp2=Number(RegExp.$3)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this[((this.firstWeek&gt;tmp2)?7:0) + 7*(tmp1-1) + tmp2 - this.firstWeek].solarFestival += RegExp.$5 + ' '<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp; //农历节日<br />
&nbsp;&nbsp; for(i in lFtv)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(lFtv[i].match(/^(\d{2})(.{2})([\s\*])(.+)$/)) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tmp1=Number(RegExp.$1)-firstLM<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(tmp1==-11) tmp1=1<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(tmp1 &gt;=0 &amp;&amp; tmp1&lt;n) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tmp2 = lDPOS[tmp1] + Number(RegExp.$2) -1<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if( tmp2 &gt;= 0 &amp;&amp; tmp2&lt;this.length) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this[tmp2].lunarFestival += RegExp.$4 + ' '<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(RegExp.$3=='*') this[tmp2].color = 'red'<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp; //黑色星期五<br />
&nbsp;&nbsp; if((this.firstWeek+12)%7==5)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this[12].solarFestival += '黑色星期五 '</p>
<p>&nbsp;&nbsp; //今日<br />
&nbsp;&nbsp; if(y==tY &amp;&amp; m==tM) this[tD-1].isToday = true;</p>
<p>}</p>
<p>//====================== 中文日期<br />
function cDay(d){<br />
&nbsp;&nbsp; var s;</p>
<p>&nbsp;&nbsp; switch (d) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case 10:<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s = '初十'; break;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case 20:<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s = '二十'; break;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case 30:<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s = '三十'; break;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; default :<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s = nStr2[Math.floor(d/10)];<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s += nStr1[d%10];<br />
&nbsp;&nbsp; }<br />
&nbsp;&nbsp; return(s);<br />
}</p>
<p>///////////////////////////////////////////////////////////////////////////////</p>
<p>var cld;</p>
<p>function drawCld(SY,SM) {<br />
&nbsp;&nbsp; var i,sD,s,size;<br />
&nbsp;&nbsp; cld = new calendar(SY,SM);</p>
<p>&nbsp;&nbsp; if(SY&gt;1874 &amp;&amp; SY&lt;1909) yDisplay = '光绪' + (((SY-1874)==1)?'元':SY-1874)<br />
&nbsp;&nbsp; if(SY&gt;1908 &amp;&amp; SY&lt;1912) yDisplay = '宣统' + (((SY-1908)==1)?'元':SY-1908)<br />
&nbsp;&nbsp; if(SY&gt;1911 &amp;&amp; SY&lt;1950) yDisplay = '民国' + (((SY-1911)==1)?'元':SY-1911)<br />
//&nbsp;&nbsp; if(SY&gt;1949) yDisplay = '共和国' + (((SY-1949)==1)?'元':SY-1949)</p>
<p>&nbsp; // GZ.innerHTML = yDisplay +'年 农历' + cyclical(SY-1900+36) + '年 &amp;nbsp;&amp;nbsp;【'+Animals[(SY-4)%12]+'】';</p>
<p>&nbsp;&nbsp; if(SY&gt;1949) yDisplay = ''</p>
<p>&nbsp;&nbsp; GZ.innerHTML = yDisplay +' 农历' + cyclical(SY-1900+36) + '年 &amp;nbsp;&amp;nbsp;【'+Animals[(SY-4)%12]+'】';</p>
<p>&nbsp;&nbsp; YMBG.innerHTML = "&amp;nbsp;" + SY + "&lt;BR&gt;&amp;nbsp;" + monthName[SM];</p>
<p><br />
&nbsp;&nbsp; for(i=0;i&lt;42;i++) {</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sObj=eval('SD'+ i);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lObj=eval('LD'+ i);</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sObj.className = '';</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sD = i - cld.firstWeek;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(sD&gt;-1 &amp;&amp; sD&lt;cld.length) { //日期内<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sObj.innerHTML = sD+1;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(cld[sD].isToday) sObj.className = 'todyaColor'; //今日颜色</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sObj.style.color = cld[sD].color; //国定假日颜色</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(cld[sD].lDay==1) //显示农历月<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lObj.innerHTML = '&lt;b&gt;'+(cld[sD].isLeap?'闰':'') + cld[sD].lMonth + '月' + (monthDays(cld[sD].lYear,cld[sD].lMonth)==29?'小':'大')+'&lt;/b&gt;';<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else //显示农历日<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lObj.innerHTML = cDay(cld[sD].lDay);</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s=cld[sD].lunarFestival;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(s.length&gt;0) { //农历节日<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(s.length&gt;6) s = s.substr(0, 4)+'&#8230;';<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s = s.fontcolor('red');<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else { //国历节日<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s=cld[sD].solarFestival;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(s.length&gt;0) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; size = (s.charCodeAt(0)&gt;0 &amp;&amp; s.charCodeAt(0)&lt;128)?8:4;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(s.length&gt;size+2) s = s.substr(0, size)+'&#8230;';<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s = s.fontcolor('blue');<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else { //廿四节气<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s=cld[sD].solarTerms;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(s.length&gt;0) s = s.fontcolor('limegreen');<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(s.length&gt;0) lObj.innerHTML = s;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else { //非日期<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sObj.innerHTML = '';<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lObj.innerHTML = '';<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp; }<br />
}</p>
<p>function changeLong()<br />
{<br />
var y,m,ly,lm,id,im,iy,yangy,yangm,deltm,miny,tt;<br />
CLD.SY.selectedIndex=CLD.D1.selectedIndex;<br />
CLD.SM.selectedIndex=CLD.D2.selectedIndex;<br />
yangm=0;yangy=0;<br />
tt=true;<br />
while (tt)<br />
&nbsp;{<br />
&nbsp;yangm=0;yangy=0;<br />
&nbsp;&nbsp;&nbsp;changeCld();<br />
&nbsp;&nbsp;&nbsp;&nbsp; for(i=0;i&lt;42;i++)<br />
&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sD = i - cld.firstWeek;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(sD&gt;-1 &amp;&amp; sD&lt;cld.length)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; { //日期内<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if ((cld[sD].lMonth==CLD.D2.selectedIndex+1)&amp;&amp;(cld[sD].lYear==CLD.D1.selectedIndex+1900))<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;yangy=CLD.SY.selectedIndex+1900; &nbsp;yangm=CLD.SM.selectedIndex ;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tt=false;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp; if (!tt) break;<br />
&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;pushBtm('MD');<br />
&nbsp;&nbsp;&nbsp;changeCld();</p>
<p>//&nbsp;&nbsp;&nbsp;alert(CLD.SY.selectedIndex+" "+CLD.SM.selectedIndex);</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; for(i=0;i&lt;42;i++)<br />
&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sD = i - cld.firstWeek;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(sD&gt;-1 &amp;&amp; sD&lt;cld.length)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; { //日期内<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if ((cld[sD].lMonth==CLD.D2.selectedIndex+1)&amp;&amp;(cld[sD].lYear==CLD.D1.selectedIndex+1900))<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;yangy=CLD.SY.selectedIndex+1900; &nbsp;yangm=CLD.SM.selectedIndex ;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tt=false;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;break;&nbsp;&nbsp;<br />
&nbsp;}<br />
//&nbsp;&nbsp;alert(yangy+" "+yangm);<br />
&nbsp;</p>
<p>//CLD.SY.selectedIndex=yangy;//-1900;<br />
//pushBtm('YU');<br />
//pushBtm('YD');<br />
CLD.SM.selectedIndex=yangm;<br />
pushBtm('MD');<br />
pushBtm('MU');<br />
&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;<br />
}<br />
//changeLong end</p>
<p>function changeCld() {<br />
&nbsp;&nbsp; var y,m;<br />
&nbsp;&nbsp; y=CLD.SY.selectedIndex+1900;<br />
&nbsp;&nbsp; m=CLD.SM.selectedIndex;<br />
&nbsp;&nbsp; drawCld(y,m);<br />
}</p>
<p>function pushBtm(K) {<br />
&nbsp;&nbsp; switch (K){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case 'YU' :<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(CLD.SY.selectedIndex&gt;0) CLD.SY.selectedIndex--;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case 'YD' :<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(CLD.SY.selectedIndex&lt;149) CLD.SY.selectedIndex++;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case 'MU' :<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(CLD.SM.selectedIndex&gt;0) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CLD.SM.selectedIndex--;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CLD.SM.selectedIndex=11;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(CLD.SY.selectedIndex&gt;0) CLD.SY.selectedIndex--;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case 'MD' :<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(CLD.SM.selectedIndex&lt;11) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CLD.SM.selectedIndex++;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CLD.SM.selectedIndex=0;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(CLD.SY.selectedIndex&lt;149) CLD.SY.selectedIndex++;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; default :<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CLD.SY.selectedIndex=tY-1900;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CLD.SM.selectedIndex=tM;<br />
&nbsp;&nbsp; }<br />
&nbsp;&nbsp; changeCld();<br />
}</p>
<p>&nbsp;</p>
<p>var Today = new Date();<br />
var tY = Today.getFullYear();<br />
var tM = Today.getMonth();<br />
var tD = Today.getDate();<br />
//////////////////////////////////////////////////////////////////////////////</p>
<p>var width = "130";<br />
var offsetx = 2;<br />
var offsety = 16;</p>
<p>var x = 0;<br />
var y = 0;<br />
var snow = 0;<br />
var sw = 0;<br />
var cnt = 0;</p>
<p>var dStyle;<br />
document.onmousemove = mEvn;</p>
<p>//显示详细日期资料<br />
function mOvr(v) {<br />
&nbsp;&nbsp; var s,festival;<br />
&nbsp;&nbsp; var sObj=eval('SD'+ v);<br />
&nbsp;&nbsp; var d=sObj.innerHTML-1;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //sYear,sMonth,sDay,week,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //lYear,lMonth,lDay,isLeap,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //cYear,cMonth,cDay</p>
<p>&nbsp;&nbsp; if(sObj.innerHTML!='') {</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sObj.style.cursor = 's-resize';</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(cld[d].solarTerms == '' &amp;&amp; cld[d].solarFestival == '' &amp;&amp; cld[d].lunarFestival == '')<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; festival = '';<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; festival = '&lt;TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=0 BGCOLOR="#CCFFCC"&gt;&lt;TR&gt;&lt;TD&gt;'+<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '&lt;FONT COLOR="#000000" STYLE="font-size:9pt;"&gt;'+cld[d].solarTerms + ' ' + cld[d].solarFestival + ' ' + cld[d].lunarFestival+'&lt;/FONT&gt;&lt;/TD&gt;'+<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '&lt;/TR&gt;&lt;/TABLE&gt;';</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s= '&lt;TABLE WIDTH="130" BORDER=0 CELLPADDING="2" CELLSPACING=0 BGCOLOR="#000066"&gt;&lt;TR&gt;&lt;TD&gt;' +<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '&lt;TABLE WIDTH=100% BORDER=0 CELLPADDING=0 CELLSPACING=0&gt;&lt;TR&gt;&lt;TD ALIGN="right"&gt;&lt;FONT COLOR="#ffffff" STYLE="font-size:9pt;"&gt;'+<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cld[d].sYear+' 年 '+cld[d].sMonth+' 月 '+cld[d].sDay+' 日&lt;br&gt;星期'+cld[d].week+'&lt;br&gt;'+<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '&lt;font color="violet"&gt;农历'+(cld[d].isLeap?'闰 ':' ')+cld[d].lMonth+' 月 '+cld[d].lDay+' 日&lt;/font&gt;&lt;br&gt;'+<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '&lt;font color="yellow"&gt;'+cld[d].cYear+'年 '+cld[d].cMonth+'月 '+cld[d].cDay + '日&lt;/font&gt;'+<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TABLE&gt;'+ festival +'&lt;/TD&gt;&lt;/TR&gt;&lt;/TABLE&gt;';</p>
<p><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; document.all["detail"].innerHTML = s;</p>
<p>&nbsp;&nbsp; &nbsp;if (snow == 0) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dStyle.left = x+offsetx-(width/2);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dStyle.top = y+offsety;<br />
&nbsp;&nbsp; &nbsp;&nbsp;dStyle.visibility = "visible";<br />
&nbsp;&nbsp; &nbsp;&nbsp;snow = 1;<br />
&nbsp;&nbsp; &nbsp;}<br />
&nbsp;}<br />
}</p>
<p>//清除详细日期资料<br />
function mOut() {<br />
&nbsp;if ( cnt &gt;= 1 ) { sw = 0 }<br />
&nbsp;if ( sw == 0 ) { snow = 0;&nbsp;dStyle.visibility = "hidden";}<br />
&nbsp;else cnt++;<br />
}</p>
<p>//取得位置<br />
function mEvn() {<br />
&nbsp;&nbsp; x=event.x;<br />
&nbsp;&nbsp; y=event.y;<br />
&nbsp;if (document.body.scrollLeft)<br />
&nbsp;&nbsp;&nbsp; {x=event.x+document.body.scrollLeft; y=event.y+document.body.scrollTop;}<br />
&nbsp;if (snow){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dStyle.left = x+offsetx-(width/2)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dStyle.top = y+offsety<br />
&nbsp;}<br />
}</p>
<p>///////////////////////////////////////////////////////////////////////////</p>
<p><br />
function tick() {<br />
&nbsp;&nbsp; var today<br />
&nbsp;&nbsp; today = new Date()<br />
&nbsp;&nbsp; Clock.innerHTML = today.toLocaleString().replace(/(年|月)/g, "/").replace(/日/, "");<br />
//&nbsp;&nbsp; Clock.innerHTML = TimeAdd(today.toGMTString(), CLD.TZ.value)<br />
&nbsp;&nbsp; window.setTimeout("tick()", 1000);<br />
}</p>
<p>function setCookie(name, value) {<br />
&nbsp;var today = new Date()<br />
&nbsp;var expires = new Date()<br />
&nbsp;expires.setTime(today.getTime() + 1000*60*60*24*365)<br />
&nbsp;document.cookie = name + "=" + escape(value)&nbsp;+ "; expires=" + expires.toGMTString()<br />
}</p>
<p>function getCookie(Name) {<br />
&nbsp;&nbsp; var search = Name + "="<br />
&nbsp;&nbsp; if(document.cookie.length &gt; 0) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; offset = document.cookie.indexOf(search)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(offset != -1) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; offset += search.length<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end = document.cookie.indexOf(";", offset)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(end == -1) end = document.cookie.length<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return unescape(document.cookie.substring(offset, end))<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else return ""<br />
&nbsp;&nbsp; }<br />
}</p>
<p>/////////////////////////////////////////////////////////</p>
<p>function initial() {<br />
&nbsp;&nbsp; dStyle = detail.style;<br />
&nbsp;&nbsp; CLD.SY.selectedIndex=tY-1900;<br />
&nbsp;&nbsp; CLD.SM.selectedIndex=tM;<br />
&nbsp;&nbsp; drawCld(tY,tM);</p>
<p>//&nbsp;&nbsp; CLD.TZ.selectedIndex=getCookie("TZ");<br />
//&nbsp;&nbsp; changeTZ();<br />
&nbsp;&nbsp; tick();<br />
}</p>
<p>&nbsp;</p>
<p>//--&gt;<br />
&lt;/SCRIPT&gt;</p>
<p>&lt;STYLE&gt;.todyaColor {<br />
&nbsp;BACKGROUND-COLOR: aqua<br />
}<br />
&lt;/STYLE&gt;</p>
<p>&lt;META content="Microsoft FrontPage 6.0" name=GENERATOR&gt;&lt;/HEAD&gt;<br />
&lt;BODY onload=initial()&gt;<br />
&lt;SCRIPT language=JavaScript&gt;&lt;!--<br />
&nbsp;&nbsp; if(navigator.appName == "Netscape" || parseInt(navigator.appVersion) &lt; 4)<br />
&nbsp;&nbsp; document.write("&lt;h1&gt;你的浏览器无法执行此程序。&lt;/h1&gt;此程序在 IE4 以后的版本才能执行!!")<br />
//--&gt;&lt;/SCRIPT&gt;</p>
<p>&lt;DIV id=detail style="POSITION: absolute"&gt;&lt;/DIV&gt;<br />
&lt;FORM name=CLD&gt;<br />
&lt;div align="center"&gt;<br />
&lt;TABLE width="672" align="right" height="259" bordercolordark="#CC9900" border="4" background="l11.gif"&gt;<br />
&nbsp; &lt;CENTER&gt;<br />
&lt;center&gt;<br />
&nbsp; &lt;TBODY&gt;<br />
&nbsp; &lt;/center&gt;&lt;/center&gt;<br />
&nbsp; &lt;TR&gt;<br />
&nbsp; &lt;TD align=center vAlign=top width="170" height="255"&gt;<br />
&nbsp; &lt;div align="center"&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;center&gt;<br />
&nbsp; &lt;TABLE BORDER=1 COLSPAN=2 width="221"&gt;<br />
&nbsp; &lt;CENTER&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;center&gt;&lt;FONT size=2<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; style="FONT-SIZE: 9pt"&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;td width="209"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;p align="center"&gt;&lt;font style="font-size:10.8pt" color=RED&gt;本地计算机时间:&lt;/FONT&gt;&lt;/FONT&gt;&lt;BR&gt;&lt;FONT color=#000080 face=ARIAL<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; id=Clock size=3 align="center"&gt;&lt;/FONT&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;P&gt;&lt;!--时区 *表示自动调整为日光节约时间--&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/center&gt;<br />
&nbsp;&nbsp; &lt;/CENTER&gt;<br />
&nbsp;&nbsp; &lt;/TABLE&gt;<br />
&nbsp; &lt;/center&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;/div&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;div align="center"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;center&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;table border=1 height="1" width="16"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td height="1" width="255"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;table width="212" height="1"&gt;&lt;CENTER&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;center&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;FONT id=tSave<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; style="COLOR: red; FONT-FAMILY: Wingdings; FONT-SIZE: 18pt"&gt;&lt;/FONT&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td height="1" width="152"&gt;&lt;font size="2"&gt;&lt;FONT style="FONT-SIZE: 9pt"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;font color="#0000FF"&gt;公历&lt;/font&gt;年&lt;/font&gt;&lt;FONT color=#ffffff<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; style="FONT-SIZE: 9pt"&gt;&lt;SELECT name=SY onchange=changeCld()<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; style="FONT-SIZE: 9pt"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;SCRIPT language=JavaScript&gt;&lt;!--<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for(i=1900;i&lt;2050;i++) document.write('&lt;option&gt;'+i)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //--&gt;&lt;/SCRIPT&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/SELECT&gt; &lt;/FONT&gt;月&lt;FONT color=#ffffff<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; style="FONT-SIZE: 9pt"&gt;&lt;SELECT name=SM onchange=changeCld()<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; style="FONT-SIZE: 9pt"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;SCRIPT language=JavaScript&gt;&lt;!--<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for(i=1;i&lt;13;i++) document.write('&lt;option&gt;'+i)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //--&gt;&lt;/SCRIPT&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/SELECT&gt;&lt;/FONT&gt;&lt;/font&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;P&gt;&lt;font size="2"&gt;&lt;FONT style="FONT-SIZE: 9pt"&gt;&lt;font color="#0000FF"&gt;阴历&lt;/font&gt;年&lt;/font&gt;&lt;FONT color=#ffffff<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; style="FONT-SIZE: 9pt"&gt;&lt;SELECT name=D1 onchange=changeLong()<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; style="FONT-SIZE: 9pt"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;SCRIPT language=JavaScript&gt;&lt;!--<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for(i=1900;i&lt;2050;i++) document.write('&lt;option&gt;'+i)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //--&gt;&lt;/SCRIPT&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/SELECT&gt; &lt;/FONT&gt;月&lt;FONT color=#ffffff<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; style="FONT-SIZE: 9pt"&gt;&lt;SELECT name=D2 onchange=changeLong()<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; style="FONT-SIZE: 9pt"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;SCRIPT language=JavaScript&gt;&lt;!--<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for(i=1;i&lt;13;i++) document.write('&lt;option&gt;'+i)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //--&gt;&lt;/SCRIPT&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/SELECT&gt;&lt;/FONT&gt;&lt;/font&gt;&lt;/P&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;div align="center" style="width: 4; height: 1"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/div&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td width="1" align="center" height="1"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;BUTTON onclick="pushBtm('MU')"&nbsp; style="FONT-SIZE: 9pt"&gt;月&#8593;&lt;/BUTTON&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;BUTTON onclick="pushBtm('')" style="FONT-SIZE: 9pt"&gt;当月&lt;/BUTTON&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;BUTTON onclick="pushBtm('MD')"&nbsp; style="FONT-SIZE: 9pt"&gt;月&#8595;&lt;/BUTTON&gt; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/center&gt;&lt;/center&gt;<br />
&nbsp;&lt;tr&gt;<br />
&nbsp;&nbsp;&lt;CENTER&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;TD align=center vAlign=top width=152 height="1"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;BUTTON onclick="pushBtm('YU')" style="FONT-SIZE: 9pt"&gt;年&#8593;&lt;/BUTTON&gt; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;BUTTON onclick="pushBtm('YD')" style="FONT-SIZE: 9pt"&gt;年&#8595;&lt;/BUTTON&gt; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/TD&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/center&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td colspan=2 width="46" height="1"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;p align="left"&gt;&lt;INPUT onclick="javascript:window.close();" style="FONT-SIZE: 9pt" type=button value=关闭&gt;&lt;/p&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/td&gt;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/table&gt;<br />
&nbsp;&nbsp;&lt;CENTER&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;table border="1" width="100%" height="1" bordercolordark="#FFFFCC"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;tr&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td width="100%" height="1"&gt;&lt;font style="font-size:10.8pt" color=#0&gt; 　 <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 阴历存在跨月情况，如果查找到的阴历月跨两个公历月，用&lt;font color=blue&gt;[月&#8593;][月&#8595;]&lt;/font&gt;翻动可以找到你想要的确切日期。&lt;/font&gt;&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/tr&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/table&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/CENTER&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/table&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/center&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;/div&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;TD align=center width="423" height="255"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;DIV style="position: absolute; top: 31; z-index: -1; left: 270; width: 347; height: 108"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;p&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;p&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;p&gt;&lt;FONT id=YMBG<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; style="COLOR: #f0f0f0; FONT-FAMILY: 'Arial Black'; FONT-SIZE: 20pt"&gt; &lt;/FONT&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/DIV&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;div align="center"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;center&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;TABLE border=0 height="27" cellspacing="1"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;TBODY&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;TR&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;TD bgColor=#000080 colSpan=7 align="center" height="24"&gt;&lt;FONT color=#000080 size=2<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; style="FONT-SIZE: 9pt"&gt;月&lt;/FONT&gt; &lt;FONT color=#ffffff face=宋体 id=GZ<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; size=4&gt;&lt;/FONT&gt;&lt;BR&gt;&lt;/TD&gt;&lt;/TR&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;TR align=center bgColor=#e0e0e0&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;TD width=54 height="1" align="center" bgcolor="#99CCFF"&gt;&lt;font size="2"&gt;日&lt;/font&gt;&lt;/TD&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;TD width=54 height="1" align="center" bgcolor="#99CCFF"&gt;&lt;font size="2"&gt;一&lt;/font&gt;&lt;/TD&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;TD width=54 height="1" align="center" bgcolor="#99CCFF"&gt;&lt;font size="2"&gt;二&lt;/font&gt;&lt;/TD&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;TD width=50 height="1" align="center" bgcolor="#99CCFF"&gt;&lt;font size="2"&gt;三&lt;/font&gt;&lt;/TD&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;TD width=54 height="1" align="center" bgcolor="#99CCFF"&gt;&lt;font size="2"&gt;四&lt;/font&gt;&lt;/TD&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;TD width=54 height="1" align="center" bgcolor="#99CCFF"&gt;&lt;font size="2"&gt;五&lt;/font&gt;&lt;/TD&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;TD width=54 height="1" align="center" bgcolor="#99CCFF"&gt;&lt;font size="2"&gt;六&lt;/font&gt;&lt;/TD&gt;&lt;/TR&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;SCRIPT language=JavaScript&gt;&lt;!--<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var gNum<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for(i=0;i&lt;6;i++) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; document.write('&lt;tr align=center&gt;')<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for(j=0;j&lt;7;j++) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; gNum = i*7+j<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; document.write('&lt;td id="GD' + gNum +'" onMouseOver="mOvr(' + gNum +')" onMouseOut="mOut()"&gt;&lt;font id="SD' + gNum +'" size=2 face="Arial Black"')<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(j == 0) document.write(' color=red')<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(j == 6)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(i%2==1) document.write(' color=red')<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else document.write(' color=green')<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; document.write(' TITLE=""&gt; &lt;/font&gt;&lt;br&gt;&lt;font id="LD' + gNum + '" size=2 style="font-size:9pt"&gt; &lt;/font&gt;&lt;/td&gt;')<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; document.write('&lt;/tr&gt;')<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //--&gt;&lt;/SCRIPT&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/TBODY&gt;&lt;/TABLE&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/center&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/div&gt;<br />
&nbsp; &lt;/TD&gt;<br />
&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;<br />
&lt;/div&gt;<br />
&lt;/FORM&gt;&nbsp; </p>
<p>&lt;/body&gt;</p>
<p>&lt;/html&gt;</p>
<img src ="http://www.blogjava.net/WshmAndLily/aggbug/148786.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/WshmAndLily/" target="_blank">semovy</a> 2007-09-27 17:19 <a href="http://www.blogjava.net/WshmAndLily/articles/148786.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Windows关机效果分析</title><link>http://www.blogjava.net/WshmAndLily/articles/148369.html</link><dc:creator>semovy</dc:creator><author>semovy</author><pubDate>Wed, 26 Sep 2007 08:39:00 GMT</pubDate><guid>http://www.blogjava.net/WshmAndLily/articles/148369.html</guid><wfw:comment>http://www.blogjava.net/WshmAndLily/comments/148369.html</wfw:comment><comments>http://www.blogjava.net/WshmAndLily/articles/148369.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/WshmAndLily/comments/commentRss/148369.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/WshmAndLily/services/trackbacks/148369.html</trackback:ping><description><![CDATA[<p>基本原理分析</p>
<p>Windows关机效果分析<br />
<br />
使用Windows系统的用户在关机的时候，出现的界面只允许用户选择关机、注销或取消动作，而桌面上的程序都不能使用，并且屏幕呈现灰色状态。</p>
<p>本例将仿照这种高亮显示的效果在网页上实现.</p>
<p>在网页上运用这种关机效果有什么好处呢？首先，由于单击某一链接后，将用户此时不可用的操作隐藏在后台，将可用的操作放在屏幕最上层，并高亮显示，可以避免用户的误操作。其次，将信息高亮显示，也可以提醒用户应该注意的事项。<br />
<br />
网页中实现关机效果分析<br />
<br />
在网页中实现这种效果的原理很简单。创建两个图层，一个为遮盖层，覆盖整个页面，并且显示为灰色；另一个图层作为高亮显示的部分，在遮盖层的上方，这可通过设置图层的z-index属性来设置。当取消关机效果后，只需将这两个图层元素在页面中删除即可。<br />
<br />
以下代码实现显示关机效果。<br />
<br />
以下是引用片段：
<table cellspacing="0" bordercolordark="#ffffff" cellpadding="2" width="400" align="center" bordercolorlight="black" border="1">
    <tbody>
        <tr>
            <td class="code" bgcolor="#e6e6e6">
            <pre>&lt;html&gt;<br />
            <br />
            &lt;head&gt;<br />
            <br />
            &lt;title&gt;html" class="wordstyle"&gt;asp?typeid=119" snap_preview_added="no"&gt;Ajax LightBox Sample&lt;/title&gt;<br />
            <br />
            &lt;style type="text/html" class="wordstyle"&gt;asp?typeid=38" snap_preview_added="no"&gt;CSS"&gt;<br />
            <br />
            #lightbox {/*该层为高亮显示层*/<br />
            <br />
            BORDER-RIGHT: #fff 1px solid;<br />
            <br />
            BORDER-TOP: #fff 1px solid;<br />
            <br />
            DISPLAY: block; <br />
            <br />
            Z-INDEX: 9999; /*设置该层在网页的最上端,设置足够大*/<br />
            <br />
            BACKGROUND: #fdfce9; /*设置背景色*/<br />
            <br />
            LEFT: 50%; <br />
            <br />
            MARGIN: -220px 0px 0px -250px; <br />
            <br />
            BORDER-LEFT: #fff 1px solid; <br />
            <br />
            WIDTH: 500px; <br />
            <br />
            BORDER-BOTTOM: #fff 1px solid; <br />
            <br />
            POSITION: absolute; <br />
            <br />
            TOP: 50%; <br />
            <br />
            HEIGHT: 400px; <br />
            <br />
            TEXT-ALIGN: left<br />
            <br />
            }<br />
            <br />
            #overlay {/*该层为覆盖层*/<br />
            <br />
            DISPLAY: block;<br />
            <br />
            Z-INDEX: 9998; /*设置高亮层的下方*/<br />
            <br />
            FILTER: alpha(opacity=80); /*设置成透明*/<br />
            <br />
            LEFT: 0px; <br />
            <br />
            WIDTH: 100%; <br />
            <br />
            POSITION: absolute; <br />
            <br />
            TOP: 0px; <br />
            <br />
            HEIGHT: 100%; <br />
            <br />
            BACKGROUND-COLOR: #000; <br />
            <br />
            moz-opacity: 0.8; <br />
            <br />
            opacity: .80<br />
            <br />
            }<br />
            <br />
            &lt;/style&gt;<br />
            <br />
            &lt;/head&gt;<br />
            <br />
            &lt;body&gt;<br />
            <br />
            &lt;!--该层为覆盖层 --&gt;<br />
            <br />
            &lt;div id="overlay"&gt;&lt;/div&gt;<br />
            <br />
            &lt;!--该层为高亮显示层 --&gt;<br />
            <br />
            &lt;div id="lightbox"&gt;&lt;/div&gt;<br />
            <br />
            &lt;/body&gt;<br />
            <br />
            &lt;/html&gt;</pre>
            </td>
        </tr>
    </tbody>
</table>
<br />
<br />
需要注意的是，在IE浏览器中如果有&lt;select&gt;标记，则该标记不能被覆盖层覆盖，但在其他浏览器中则可以覆盖。</p>
<p>在使用IE浏览器时，要先将网页中的&lt;select&gt;元素隐藏起来。如以下代码可以用于隐藏页面所有的&lt;select&gt;元素。<br />
<br />
selects = document.getElementsByTagName('select');<br />
<br />
以下是引用片段：
<table cellspacing="0" bordercolordark="#ffffff" cellpadding="2" width="400" align="center" bordercolorlight="black" border="1">
    <tbody>
        <tr>
            <td class="code" bgcolor="#e6e6e6">
            <pre>for(i = 0; i &lt; selects.length; i++) {<br />
            <br />
            selects[i].style.visibility = visibility;<br />
            <br />
            }</pre>
            </td>
        </tr>
    </tbody>
</table>
<strong>代码实现<br />
<br />
</strong><em><strong>客户端代码</strong><br />
<br />
</em>客户端的页面上有两个链接，用户单击链接后，向服务器端发送请求，并将返回信息显示到高亮层上。客户端的网页文件代码如下所示：</p>
<p>以下是引用片段：
<table cellspacing="0" bordercolordark="#ffffff" cellpadding="2" width="400" align="center" bordercolorlight="black" border="1">
    <tbody>
        <tr>
            <td class="code" bgcolor="#e6e6e6">
            <pre>&lt;html&gt;<br />
            <br />
            &lt;head&gt;<br />
            <br />
            &lt;title&gt;AJAX LightBox&lt;/title&gt;<br />
            <br />
            &lt;!-- 本例使用的css样式表文件--&gt;<br />
            <br />
            &lt;LINK href="lightbox.css" type=text/css rel=stylesheet&gt;<br />
            <br />
            &lt;!--prototype类文件--&gt;<br />
            <br />
            &lt;script type="text/html" class="wordstyle"&gt;asp?typeid=36" snap_preview_added="no"&gt;html" class="wordstyle"&gt;<br />
            <br />
            javascript" src="js/prototype.js" &gt;&lt;/script&gt;<br />
            <br />
            &lt;!--本例使用的html" class="wordstyle"&gt;javascript代码--&gt;<br />
            <br />
            &lt;script type="text/html" class="wordstyle"&gt;javascript" src="lightbox.js" &gt;&lt;/script&gt;<br />
            <br />
            &lt;/head&gt;<br />
            <br />
            &lt;body&gt;<br />
            <br />
            &lt;DIV id=container&gt;<br />
            <br />
            &lt;UL&gt;<br />
            <br />
            &lt;LI&gt;&lt;A class=lbOn href="getInfo.html" class="wordstyle"&gt;jsp?id=one"&gt;One&lt;/A&gt; <br />
            <br />
            &lt;/LI&gt;<br />
            <br />
            &lt;LI&gt;&lt;A class=lbOn href="getInfo.html" class="wordstyle"&gt;jsp?id=two"&gt;Two&lt;/A&gt; <br />
            <br />
            &lt;/LI&gt;<br />
            <br />
            &lt;/UL&gt;<br />
            <br />
            &lt;/div&gt;<br />
            <br />
            &lt;/body&gt;<br />
            <br />
            &lt;/html&gt;</pre>
            </td>
        </tr>
    </tbody>
</table>
<br />
<br />
另外，还需要设置该页面所使用CSS样式。lightbox.css样式表文件代码如下所示：</p>
<p>以下是引用片段：
<table cellspacing="0" bordercolordark="#ffffff" cellpadding="2" width="400" align="center" bordercolorlight="black" border="1">
    <tbody>
        <tr>
            <td class="code" bgcolor="#e6e6e6">
            <pre>#lightbox {<br />
            <br />
            BORDER-RIGHT: #fff 1px solid;<br />
            <br />
            BORDER-TOP: #fff 1px solid;<br />
            <br />
            DISPLAY: none; <br />
            <br />
            Z-INDEX: 9999; <br />
            <br />
            BACKGROUND: #fdfce9; <br />
            <br />
            LEFT: 50%; <br />
            <br />
            MARGIN: -220px 0px 0px -250px; <br />
            <br />
            BORDER-LEFT: #fff 1px solid; <br />
            <br />
            WIDTH: 500px; <br />
            <br />
            BORDER-BOTTOM: #fff 1px solid; <br />
            <br />
            POSITION: absolute; <br />
            <br />
            TOP: 50%; <br />
            <br />
            HEIGHT: 400px; <br />
            <br />
            TEXT-ALIGN: left<br />
            <br />
            }<br />
            <br />
            UNKNOWN {<br />
            <br />
            POSITION: fixed<br />
            <br />
            }<br />
            <br />
            #overlay {<br />
            <br />
            DISPLAY: none;<br />
            <br />
            Z-INDEX: 5000; FILTER: alpha(opacity=80); <br />
            <br />
            LEFT: 0px; <br />
            <br />
            WIDTH: 100%; <br />
            <br />
            POSITION: absolute; <br />
            <br />
            TOP: 0px; <br />
            <br />
            HEIGHT: 100%; <br />
            <br />
            BACKGROUND-COLOR: #000; moz-opacity: 0.8; opacity: .80<br />
            <br />
            }<br />
            <br />
            UNKNOWN {<br />
            <br />
            POSITION: fixed<br />
            <br />
            }<br />
            <br />
            .done#lightbox #lbLoadMessage {<br />
            <br />
            DISPLAY: none<br />
            <br />
            }<br />
            <br />
            .done#lightbox #lbContent {<br />
            <br />
            DISPLAY: block<br />
            <br />
            }<br />
            <br />
            .loading#lightbox #lbContent {<br />
            <br />
            DISPLAY: none<br />
            <br />
            }<br />
            <br />
            .loading#lightbox #lbLoadMessage {<br />
            <br />
            DISPLAY: block<br />
            <br />
            }<br />
            <br />
            .done#lightbox IMG {<br />
            <br />
            WIDTH: 100%; HEIGHT: 100%<br />
            <br />
            }<br />
            <br />
            </pre>
            </td>
        </tr>
    </tbody>
</table>
<br />
<br />
<strong><em>客户端脚本<br />
<br />
</em></strong>由于浏览器对图层的支持不同，所以首先要确定客户端浏览器的类型。以下代码可用于判断客户端的浏览器和html" class="wordstyle"&gt;asp"</p>
<p>以下是引用片段：
<table cellspacing="0" bordercolordark="#ffffff" cellpadding="2" width="400" align="center" bordercolorlight="black" border="1">
    <tbody>
        <tr>
            <td class="code" bgcolor="#e6e6e6">
            <pre>snap_preview_added="no"&gt;操作系统。<br />
            <br />
            var detect = navigator.userAgent.toLowerCase();<br />
            <br />
            var OS,browser,version,total,thestring;<br />
            <br />
            function getBrowserInfo() {<br />
            <br />
            if (checkIt('konqueror')) {<br />
            <br />
            browser = "Konqueror";<br />
            <br />
            OS = "html" class="wordstyle"&gt;asp?typeid=60" snap_preview_added="no"&gt;Linux";<br />
            <br />
            }<br />
            <br />
            else if (checkIt('safari')) browser = "Safari"<br />
            <br />
            else if (checkIt('omniWeb')) browser = "OmniWeb"<br />
            <br />
            else if (checkIt('opera')) browser = "Opera"<br />
            <br />
            else if (checkIt('Webtv')) browser = "WebTV";<br />
            <br />
            else if (checkIt('icab')) browser = "iCab"<br />
            <br />
            else if (checkIt('msie')) browser = "Internet Explorer"<br />
            <br />
            else if (!checkIt('compatible')) {<br />
            <br />
            browser = "Netscape Navigator"<br />
            <br />
            version = detect.charAt(8);<br />
            <br />
            }<br />
            <br />
            else browser = "An unknown browser";<br />
            <br />
            if (!version) version = detect.charAt(place + thestring.length);<br />
            <br />
            if(!OS) {<br />
            <br />
            if (checkIt('linux')) OS = "Linux";<br />
            <br />
            else if (checkIt('x11')) OS = "Unix";<br />
            <br />
            else if (checkIt('mac')) OS = "Mac"<br />
            <br />
            else if (checkIt('win')) OS = "Windows"<br />
            <br />
            else OS = "an unknown operating system";<br />
            <br />
            }<br />
            <br />
            }<br />
            <br />
            function checkIt(string) {<br />
            <br />
            place = detect.indexOf(string) + 1;<br />
            <br />
            thestring = string;<br />
            <br />
            return place;<br />
            <br />
            }<br />
            <br />
            </pre>
            </td>
        </tr>
    </tbody>
</table>
<br />
<br />
下面看一下网页加载时需要添加的方法。有关网页加载和初始化方法代码如下：
<table cellspacing="0" bordercolordark="#ffffff" cellpadding="2" width="400" align="center" bordercolorlight="black" border="1">
    <tbody>
        <tr>
            <td class="code" bgcolor="#e6e6e6">
            <pre>//网页加载调用initialize和getBrowserInfo方法<br />
            <br />
            Event.observe(window, 'load', initialize, false);<br />
            <br />
            Event.observe(window, 'load', getBrowserInfo, false);<br />
            <br />
            //未加载时清空缓存<br />
            <br />
            Event.observe(window, 'unload', Event.unloadCache, false);<br />
            <br />
            //初始化方法<br />
            <br />
            function initialize(){<br />
            <br />
            //调用该方法为该页添加覆盖层和高亮显示层<br />
            <br />
            addLightboxMarkup();<br />
            <br />
            //为每个可高亮显示的元素创建lightbox对象<br />
            <br />
            lbox = document.getElementsByClassName('lbOn');<br />
            <br />
            for(i = 0; i &lt; lbox.length; i++) {<br />
            <br />
            valid = new lightbox(lbox[i]);<br />
            <br />
            }<br />
            <br />
            }<br />
            <br />
            // 使用Dom方法创建覆盖层和高亮层<br />
            <br />
            function addLightboxMarkup() {<br />
            <br />
            bod = document.getElementsByTagName('body')[0];<br />
            <br />
            overlay = document.createElement('div');<br />
            <br />
            overlay.id = 'overlay';<br />
            <br />
            lb = document.createElement('div');<br />
            <br />
            lb.id = 'lightbox';<br />
            <br />
            lb.className = 'loading';<br />
            <br />
            lb.innerHTML = '&lt;div id="lbLoadMessage"&gt;' +<br />
            <br />
            '&lt;p&gt;Loading&lt;/p&gt;' +<br />
            <br />
            '&lt;/div&gt;';<br />
            <br />
            bod.appendChild(overlay);<br />
            <br />
            bod.appendChild(lb);<br />
            <br />
            }<br />
            <br />
            </pre>
            </td>
        </tr>
    </tbody>
</table>
<br />
<br />
<strong><em>封装lightbox类<br />
<br />
</em></strong>初始化数据时，为每个可高亮显示的链接创建了lightbox对象。该类的代码具体实现如下：
<table cellspacing="0" bordercolordark="#ffffff" cellpadding="2" width="400" align="center" bordercolorlight="black" border="1">
    <tbody>
        <tr>
            <td class="code" bgcolor="#e6e6e6">
            <pre>var lightbox = Class.create();&nbsp; <br />
            <br />
            lightbox.prototype = {<br />
            <br />
            yPos : 0,<br />
            <br />
            xPos : 0,<br />
            <br />
            //构造方法,ctrl为创建该对象的元素<br />
            <br />
            initialize: function(ctrl) {<br />
            <br />
            //将该元素的链接赋值给this.content<br />
            <br />
            this.content = ctrl.href;<br />
            <br />
            //为该元素添加onclick事件activate方法<br />
            <br />
            Event.observe(ctrl, 'click', this.activate.bindAsEventListener(this), false);<br />
            <br />
            ctrl.onclick = function(){return false;};<br />
            <br />
            },<br />
            <br />
            //当单击链接时<br />
            <br />
            activate: function(){<br />
            <br />
            if (browser == 'Internet Explorer'){//判断为IE浏览器<br />
            <br />
            this.getScroll();<br />
            <br />
            this.prepareIE('100%', 'hidden');<br />
            <br />
            this.setScroll(0,0);<br />
            <br />
            this.hideSelects('hidden');//隐藏所有的&lt;select&gt;标记<br />
            <br />
            }<br />
            <br />
            //调用该类中的displayLightbox方法<br />
            <br />
            this.displayLightbox("block");<br />
            <br />
            },<br />
            <br />
            prepareIE: function(height, overflow){<br />
            <br />
            bod = document.getElementsByTagName('body')[0];<br />
            <br />
            bod.style.height = height;<br />
            <br />
            bod.style.overflow = overflow;<br />
            <br />
            <br />
            <br />
            htm = document.getElementsByTagName('html')[0];<br />
            <br />
            htm.style.height = height;<br />
            <br />
            htm.style.overflow = overflow; <br />
            <br />
            },<br />
            <br />
            hideSelects: function(visibility){<br />
            <br />
            selects = document.getElementsByTagName('select');<br />
            <br />
            for(i = 0; i &lt; selects.length; i++) {<br />
            <br />
            selects[i].style.visibility = visibility;<br />
            <br />
            }<br />
            <br />
            },<br />
            <br />
            getScroll: function(){<br />
            <br />
            if (self.pageYOffset) {<br />
            <br />
            this.yPos = self.pageYOffset;<br />
            <br />
            } else if (document.documentElement &amp;&amp; document.documentElement.scrollTop){<br />
            <br />
            this.yPos = document.documentElement.scrollTop; <br />
            <br />
            } else if (document.body) {<br />
            <br />
            this.yPos = document.body.scrollTop;<br />
            <br />
            }<br />
            <br />
            },<br />
            <br />
            setScroll: function(x, y){<br />
            <br />
            window.scrollTo(x, y); <br />
            <br />
            },<br />
            <br />
            displayLightbox: function(display){<br />
            <br />
            //将覆盖层显示<br />
            <br />
            $('overlay').style.display = display;<br />
            <br />
            //将高亮层显示<br />
            <br />
            $('lightbox').style.display = display;<br />
            <br />
            //如果不是隐藏状态,则调用该类中的loadInfo方法<br />
            <br />
            if(display != 'none') this.loadInfo();<br />
            <br />
            },<br />
            <br />
            //该方法发送Ajax请求<br />
            <br />
            loadInf function() {<br />
            <br />
            //当请求完成后调用本类中processInfo方法<br />
            <br />
            var myAjax = new Ajax.Request(<br />
            <br />
            this.content,<br />
            <br />
            {method: 'get', parameters: "", onComplete: this.processInfo.bindAsEvent Listener (this)}<br />
            <br />
            );<br />
            <br />
            },<br />
            <br />
            // 将返回的文本信息显示到高亮层上<br />
            <br />
            processInf function(response){<br />
            <br />
            //获得返回的文本数据<br />
            <br />
            var result = response.responseText;<br />
            <br />
            //显示到高亮层<br />
            <br />
            info = "&lt;div id='lbContent'&gt;" + result + "&lt;/div&gt;";<br />
            <br />
            //在info元素前插入一个元素<br />
            <br />
            new Insertion.Before($('lbLoadMessage'), info)<br />
            <br />
            //改变该元素的class name的值<br />
            <br />
            $('lightbox').className = "done"; <br />
            <br />
            //调用本类中actions方法<br />
            <br />
            this.actions();<br />
            <br />
            var ctrl=$('lightbox');<br />
            <br />
            //为高亮层添加事件处理方法reset<br />
            <br />
            Event.observe(ctrl, 'click', this.reset.bindAsEventListener(this), false);<br />
            <br />
            ctrl.onclick = function(){return false;};<br />
            <br />
            },<br />
            <br />
            //恢复初始状态 <br />
            <br />
            reset:function(){<br />
            <br />
            //隐藏覆盖层<br />
            <br />
            $('overlay').style.display="none";<br />
            <br />
            //清空返回数据<br />
            <br />
            $('lbContent').innerHTML="";<br />
            <br />
            //隐藏高亮层<br />
            <br />
            $('lightbox').style.display="none";<br />
            <br />
            },<br />
            <br />
            // Search through new links within the lightbox, and attach click event<br />
            <br />
            actions: function(){<br />
            <br />
            lbActions = document.getElementsByClassName('lbAction');<br />
            <br />
            for(i = 0; i &lt; lbActions.length; i++) {<br />
            <br />
            Event.observe(lbActions[i], 'click', <br />
            <br />
            this[lbActions[i].rel].bindAs EventListener(this), false);<br />
            <br />
            lbActions[i].onclick = function(){return false;};<br />
            <br />
            }<br />
            <br />
            }<br />
            <br />
            }</pre>
            </td>
        </tr>
    </tbody>
</table>
<br />
<br />
提示：由于该对象比较复杂，读者可以仔细参阅代码的注释部分。<br />
<br />
<strong><em>服务器端代码</em></strong></p>
<p>服务器端首先获得查询中的&#8220;id&#8221;值，如果该值为null或为空，则设置为默认值。然后判断该值，并且返回相应的一段字符串信息。处理请求的getInfohtml" class="wordstyle"&gt;jsp页面代码如下：<br />
<br />
以下是引用片段：
<table cellspacing="0" bordercolordark="#ffffff" cellpadding="2" width="400" align="center" bordercolorlight="black" border="1">
    <tbody>
        <tr>
            <td class="code" bgcolor="#e6e6e6">
            <pre>&lt;%@ page language="java" import="java.util.*"%&gt;<br />
            <br />
            &lt;%<br />
            <br />
            //获得请求中id的值<br />
            <br />
            String imgID = request.getParameter("id");<br />
            <br />
            if (imgID==null||imgID.equals(""))//如果为null或为空<br />
            <br />
            imgID="one";//设定为默认值<br />
            <br />
            if ( imgID.equals("one"))//如果为one<br />
            <br />
            {<br />
            <br />
            %&gt;<br />
            <br />
            &lt;h3 id="cartitle" style="border-bottom: 1px solid #C0C0C0; margin-bottom: -5px"&gt;Porsche Carrera GT&lt;/h3&gt;<br />
            <br />
            &lt;p&gt;The Carrera GT has a 5.7 litre V10 internal combustion engine that produces <br />
            <br />
            605 SAE horsepower (451 kW). Porsche claims it will accelerate from 0 to 100 <br />
            <br />
            km/h (62 mph) in 3.9 seconds and has a maximum speed of 330 km/h (204 mph). <br />
            <br />
            With 605 hp, the car weighs 1,380 kg (3,042 lb). The Carrera GT is only <br />
            <br />
            offered with a six-speed manual transmission, in contrast to its rival the <br />
            <br />
            Ferrari Enzo that is only offered with sequential manual transmission. Also <br />
            <br />
            the Carrera GT is significantly less expensive than the Ferrari Enzo. The <br />
            <br />
            Ferrari Enzo is priced around $660,000 to the Carrera GT's $440,000. The <br />
            <br />
            Carrera GT is known for its high quality and reliability which makes it one of <br />
            <br />
            the best supercars ever.<br />
            <br />
            &lt;%}else{//否则<br />
            <br />
            %&gt;<br />
            <br />
            &lt;h3 id="cartitle" style="border-bottom: 1px solid #C0C0C0; margin-bottom: -5px"&gt;Ferrari Testarossa&lt;/h3&gt;<br />
            <br />
            &lt;p&gt;The Ferrari Testarossa is an V12 mid-engined sports car made by Ferrari. <br />
            <br />
            The name, which means &amp;quot;red head&amp;quot;, comes from the red painted cylinder heads on <br />
            <br />
            the flat-12 engine. The engine was technically a 180?V engine since it shared <br />
            <br />
            flat-plane crankshaft pins with opposing cylinders. Output was 390 hp (291 <br />
            <br />
            kW), and the car won many comparison tests and admirers - it was featured on <br />
            <br />
            the cover of Road &amp;amp; Track magazine nine times in just five years. Almost <br />
            <br />
            10,000 Testarossas, 512TRs, and 512Ms were produced, making this one of the <br />
            <br />
            most common Ferrari models despite its high price and exotic design.<br />
            <br />
            &lt;%}%&gt;<br />
            <br />
            html" class="wordstyle"&gt;aspx" snap_preview_added="spa" snap_icon_added="spa" act_suffix ic</pre>
            </td>
        </tr>
    </tbody>
</table>
<div align="right">【责任编辑：<a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#119;&#97;&#110;&#103;&#99;&#103;&#64;&#53;&#49;&#99;&#116;&#111;&#46;&#99;&#111;&#109;">城尘</a> TEL：(010) 68476636-8003】</div>
<img src ="http://www.blogjava.net/WshmAndLily/aggbug/148369.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/WshmAndLily/" target="_blank">semovy</a> 2007-09-26 16:39 <a href="http://www.blogjava.net/WshmAndLily/articles/148369.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>经典的带阴影的可拖动的浮动层</title><link>http://www.blogjava.net/WshmAndLily/articles/146368.html</link><dc:creator>semovy</dc:creator><author>semovy</author><pubDate>Wed, 19 Sep 2007 02:34:00 GMT</pubDate><guid>http://www.blogjava.net/WshmAndLily/articles/146368.html</guid><wfw:comment>http://www.blogjava.net/WshmAndLily/comments/146368.html</wfw:comment><comments>http://www.blogjava.net/WshmAndLily/articles/146368.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/WshmAndLily/comments/commentRss/146368.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/WshmAndLily/services/trackbacks/146368.html</trackback:ping><description><![CDATA[&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"&gt;<br />
&lt;html&gt;<br />
&lt;head&gt;<br />
&lt;title&gt;MyPixbot&lt;/title&gt;<br />
&lt;meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"&gt;<br />
&lt;script language="JavaScript" type="text/JavaScript"&gt;<br />
&lt;!--<br />
function MM_reloadPage(init) {&nbsp; //reloads the window if Nav4 resized<br />
&nbsp; if (init==true) with (navigator) {if ((appName=="Netscape")&amp;&amp;(parseInt(appVersion)==4)) {<br />
&nbsp;&nbsp;&nbsp; document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}<br />
&nbsp; else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();<br />
}<br />
MM_reloadPage(true);<br />
function MM_findObj(n, d) { //v4.01<br />
&nbsp; var p,i,x;&nbsp; if(!d) d=document; if((p=n.indexOf("?"))&gt;0&amp;&amp;parent.frames.length) {<br />
&nbsp;&nbsp;&nbsp; d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}<br />
&nbsp; if(!(x=d[n])&amp;&amp;d.all) x=d.all[n]; for (i=0;!x&amp;&amp;i&lt;d.forms.length;i++) x=d.forms[i][n];<br />
&nbsp; for(i=0;!x&amp;&amp;d.layers&amp;&amp;i&lt;d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);<br />
&nbsp; if(!x &amp;&amp; d.getElementById) x=d.getElementById(n); return x;<br />
}<br />
function MM_showHideLayers() { //v6.0<br />
&nbsp; var i,p,v,obj,args=MM_showHideLayers.arguments;<br />
&nbsp; for (i=0; i&lt;(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];<br />
&nbsp;&nbsp;&nbsp; if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }<br />
&nbsp;&nbsp;&nbsp; obj.visibility=v; }<br />
}<br />
function MM_dragLayer(objName,x,hL,hT,hW,hH,toFront,dropBack,cU,cD,cL,cR,targL,targT,tol,dropJS,et,dragJS) { //v4.01<br />
&nbsp; //Copyright 1998 Macromedia, Inc. All rights reserved.<br />
&nbsp; var i,j,aLayer,retVal,curDrag=null,curLeft,curTop,IE=document.all,NS4=document.layers;<br />
&nbsp; var NS6=(!IE&amp;&amp;document.getElementById), NS=(NS4||NS6); if (!IE &amp;&amp; !NS) return false;<br />
&nbsp; retVal = true; if(IE &amp;&amp; event) event.returnValue = true;<br />
&nbsp; if (MM_dragLayer.arguments.length &gt; 1) {<br />
&nbsp;&nbsp;&nbsp; curDrag = MM_findObj(objName); if (!curDrag) return false;<br />
&nbsp;&nbsp;&nbsp; if (!document.allLayers) { document.allLayers = new Array();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; with (document) if (NS4) { for (i=0; i&lt;layers.length; i++) allLayers[i]=layers[i];<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for (i=0; i&lt;allLayers.length; i++) if (allLayers[i].document &amp;&amp; allLayers[i].document.layers)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; with (allLayers[i].document) for (j=0; j&lt;layers.length; j++) allLayers[allLayers.length]=layers[j];<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } else {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (NS6) { var spns = getElementsByTagName("span"); var all = getElementsByTagName("div"); <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for (i=0;i&lt;spns.length;i++) if (spns[i].style&amp;&amp;spns[i].style.position) allLayers[allLayers.length]=spns[i];}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for (i=0;i&lt;all.length;i++) if (all[i].style&amp;&amp;all[i].style.position) allLayers[allLayers.length]=all[i]; <br />
&nbsp;&nbsp;&nbsp; } }<br />
&nbsp;&nbsp;&nbsp; curDrag.MM_dragOk=true; curDrag.MM_targL=targL; curDrag.MM_targT=targT;<br />
&nbsp;&nbsp;&nbsp; curDrag.MM_tol=Math.pow(tol,2); curDrag.MM_hLeft=hL; curDrag.MM_hTop=hT;<br />
&nbsp;&nbsp;&nbsp; curDrag.MM_hWidth=hW; curDrag.MM_hHeight=hH; curDrag.MM_toFront=toFront;<br />
&nbsp;&nbsp;&nbsp; curDrag.MM_dropBack=dropBack; curDrag.MM_dropJS=dropJS;<br />
&nbsp;&nbsp;&nbsp; curDrag.MM_everyTime=et; curDrag.MM_dragJS=dragJS;<br />
&nbsp;&nbsp;&nbsp; curDrag.MM_oldZ = (NS4)?curDrag.zIndex:curDrag.style.zIndex;<br />
&nbsp;&nbsp;&nbsp; curLeft= (NS4)?curDrag.left:(NS6)?parseInt(curDrag.style.left):curDrag.style.pixelLeft; <br />
&nbsp;&nbsp;&nbsp; if (String(curLeft)=="NaN") curLeft=0; curDrag.MM_startL = curLeft;<br />
&nbsp;&nbsp;&nbsp; curTop = (NS4)?curDrag.top:(NS6)?parseInt(curDrag.style.top):curDrag.style.pixelTop; <br />
&nbsp;&nbsp;&nbsp; if (String(curTop)=="NaN") curTop=0; curDrag.MM_startT = curTop;<br />
&nbsp;&nbsp;&nbsp; curDrag.MM_bL=(cL&lt;0)?null:curLeft-cL; curDrag.MM_bT=(cU&lt;0)?null:curTop-cU;<br />
&nbsp;&nbsp;&nbsp; curDrag.MM_bR=(cR&lt;0)?null:curLeft+cR; curDrag.MM_bB=(cD&lt;0)?null:curTop+cD;<br />
&nbsp;&nbsp;&nbsp; curDrag.MM_LEFTRIGHT=0; curDrag.MM_UPDOWN=0; curDrag.MM_SNAPPED=false; //use in your JS!<br />
&nbsp;&nbsp;&nbsp; document.onmousedown = MM_dragLayer; document.onmouseup = MM_dragLayer;<br />
&nbsp;&nbsp;&nbsp; if (NS) document.captureEvents(Event.MOUSEDOWN|Event.MOUSEUP);<br />
&nbsp; } else {<br />
&nbsp;&nbsp;&nbsp; var theEvent = ((NS)?objName.type:event.type);<br />
&nbsp;&nbsp;&nbsp; if (theEvent == 'mousedown') {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var mouseX = (NS)?objName.pageX : event.clientX + document.body.scrollLeft;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var mouseY = (NS)?objName.pageY : event.clientY + document.body.scrollTop;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var maxDragZ=null; document.MM_maxZ = 0;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for (i=0; i&lt;document.allLayers.length; i++) { aLayer = document.allLayers[i];<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var aLayerZ = (NS4)?aLayer.zIndex:parseInt(aLayer.style.zIndex);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (aLayerZ &gt; document.MM_maxZ) document.MM_maxZ = aLayerZ;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var isVisible = (((NS4)?aLayer.visibility:aLayer.style.visibility).indexOf('hid') == -1);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (aLayer.MM_dragOk != null &amp;&amp; isVisible) with (aLayer) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var parentL=0; var parentT=0;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (NS6) { parentLayer = aLayer.parentNode;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while (parentLayer != null &amp;&amp; parentLayer.style.position) {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; parentL += parseInt(parentLayer.offsetLeft); parentT += parseInt(parentLayer.offsetTop);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; parentLayer = parentLayer.parentNode;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } } else if (IE) { parentLayer = aLayer.parentElement;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while (parentLayer != null &amp;&amp; parentLayer.style.position) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; parentL += parentLayer.offsetLeft; parentT += parentLayer.offsetTop;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; parentLayer = parentLayer.parentElement; } }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var tmpX=mouseX-(((NS4)?pageX:((NS6)?parseInt(style.left):style.pixelLeft)+parentL)+MM_hLeft);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var tmpY=mouseY-(((NS4)?pageY:((NS6)?parseInt(style.top):style.pixelTop) +parentT)+MM_hTop);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (String(tmpX)=="NaN") tmpX=0; if (String(tmpY)=="NaN") tmpY=0;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var tmpW = MM_hWidth;&nbsp; if (tmpW &lt;= 0) tmpW += ((NS4)?clip.width :offsetWidth);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var tmpH = MM_hHeight; if (tmpH &lt;= 0) tmpH += ((NS4)?clip.height:offsetHeight);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if ((0 &lt;= tmpX &amp;&amp; tmpX &lt; tmpW &amp;&amp; 0 &lt;= tmpY &amp;&amp; tmpY &lt; tmpH) &amp;&amp; (maxDragZ == null<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; || maxDragZ &lt;= aLayerZ)) { curDrag = aLayer; maxDragZ = aLayerZ; } } }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (curDrag) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; document.onmousemove = MM_dragLayer; if (NS4) document.captureEvents(Event.MOUSEMOVE);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; curLeft = (NS4)?curDrag.left:(NS6)?parseInt(curDrag.style.left):curDrag.style.pixelLeft;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; curTop = (NS4)?curDrag.top:(NS6)?parseInt(curDrag.style.top):curDrag.style.pixelTop;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (String(curLeft)=="NaN") curLeft=0; if (String(curTop)=="NaN") curTop=0;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MM_oldX = mouseX - curLeft; MM_oldY = mouseY - curTop;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; document.MM_curDrag = curDrag;&nbsp; curDrag.MM_SNAPPED=false;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(curDrag.MM_toFront) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; eval('curDrag.'+((NS4)?'':'style.')+'zIndex=document.MM_maxZ+1');<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!curDrag.MM_dropBack) document.MM_maxZ++; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; retVal = false; if(!NS4&amp;&amp;!NS6) event.returnValue = false;<br />
&nbsp;&nbsp;&nbsp; } } else if (theEvent == 'mousemove') {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (document.MM_curDrag) with (document.MM_curDrag) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var mouseX = (NS)?objName.pageX : event.clientX + document.body.scrollLeft;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var mouseY = (NS)?objName.pageY : event.clientY + document.body.scrollTop;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; newLeft = mouseX-MM_oldX; newTop&nbsp; = mouseY-MM_oldY;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (MM_bL!=null) newLeft = Math.max(newLeft,MM_bL);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (MM_bR!=null) newLeft = Math.min(newLeft,MM_bR);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (MM_bT!=null) newTop&nbsp; = Math.max(newTop ,MM_bT);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (MM_bB!=null) newTop&nbsp; = Math.min(newTop ,MM_bB);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MM_LEFTRIGHT = newLeft-MM_startL; MM_UPDOWN = newTop-MM_startT;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (NS4) {left = newLeft; top = newTop;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else if (NS6){style.left = newLeft; style.top = newTop;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else {style.pixelLeft = newLeft; style.pixelTop = newTop;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (MM_dragJS) eval(MM_dragJS);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; retVal = false; if(!NS) event.returnValue = false;<br />
&nbsp;&nbsp;&nbsp; } } else if (theEvent == 'mouseup') {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; document.onmousemove = null;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (NS) document.releaseEvents(Event.MOUSEMOVE);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (NS) document.captureEvents(Event.MOUSEDOWN); //for mac NS<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (document.MM_curDrag) with (document.MM_curDrag) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (typeof MM_targL =='number' &amp;&amp; typeof MM_targT == 'number' &amp;&amp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (Math.pow(MM_targL-((NS4)?left:(NS6)?parseInt(style.left):style.pixelLeft),2)+<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Math.pow(MM_targT-((NS4)?top:(NS6)?parseInt(style.top):style.pixelTop),2))&lt;=MM_tol) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (NS4) {left = MM_targL; top = MM_targT;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else if (NS6) {style.left = MM_targL; style.top = MM_targT;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else {style.pixelLeft = MM_targL; style.pixelTop = MM_targT;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MM_SNAPPED = true; MM_LEFTRIGHT = MM_startL-MM_targL; MM_UPDOWN = MM_startT-MM_targT; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (MM_everyTime || MM_SNAPPED) eval(MM_dropJS);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(MM_dropBack) {if (NS4) zIndex = MM_oldZ; else style.zIndex = MM_oldZ;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; retVal = false; if(!NS) event.returnValue = false; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; document.MM_curDrag = null;<br />
&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; if (NS) document.routeEvent(objName);<br />
&nbsp; } return retVal;<br />
}<br />
function loadwin(obj){<br />
&nbsp;with(MM_findObj(obj))with(style){<br />
&nbsp;&nbsp;filters[0].apply();<br />
&nbsp;&nbsp;display='';<br />
&nbsp;&nbsp;filters[0].play();<br />
&nbsp;}<br />
}<br />
function cs(captionBG,bodyBG,tableBG){<br />
oldBody=document.body;<br />
&nbsp;with(oldBody){<br />
&nbsp;&nbsp;var newBody=cloneNode();<br />
&nbsp;&nbsp;style.filter='blendtrans(duration=1)';<br />
&nbsp;&nbsp;filters[0].apply();<br />
&nbsp;&nbsp;with(document.styleSheets[0]){<br />
&nbsp;&nbsp;&nbsp;with(rules[0].style){backgroundColor=captionBG;}<br />
&nbsp;&nbsp;&nbsp;with(rules[1].style){backgroundColor=bodyBG;}<br />
&nbsp;&nbsp;&nbsp;with(rules[2].style){backgroundColor=tableBG}<br />
&nbsp;&nbsp;}<br />
&nbsp;&nbsp;filters[0].play();<br />
&nbsp;&nbsp;setTimeout(function(){<br />
&nbsp;&nbsp;&nbsp;&nbsp;if(oldBody!=null){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;oldBody.applyElement(newBody, "inside")<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;oldBody.swapNode(newBody);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;oldBody.removeNode(true);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;},1500);<br />
&nbsp;}<br />
}<br />
//--&gt;<br />
&lt;/script&gt;<br />
&lt;style type="text/css"&gt;<br />
&lt;!--<br />
.caption {<br />
&nbsp;font-size: 9px;<br />
&nbsp;color: #FFFFFF;<br />
&nbsp;background-color: #00CCFF;<br />
&nbsp;padding-left: 5px;<br />
&nbsp;cursor: default;<br />
&nbsp;font-family: "Verdana", "Arial";<br />
&nbsp;border: 1px inset;<br />
}<br />
body {<br />
&nbsp;background-color: #f6f6f6;<br />
&nbsp;border: 1px inset;<br />
&nbsp;overflow: hidden;<br />
}<br />
table {<br />
&nbsp;background-color: #eeeeee;<br />
}<br />
td {<br />
&nbsp;font-family: "Verdana", "Arial";<br />
&nbsp;font-size: 9px;<br />
&nbsp;border: 0px;<br />
}<br />
.win {<br />
&nbsp;filter:BlendTrans(duration=1) DropShadow(Color=#cccccc, OffX=3, OffY=3) alpha(opacity=90)<br />
}<br />
a {<br />
&nbsp;text-decoration: none;<br />
&nbsp;color: #003399;<br />
}<br />
a:hover {<br />
&nbsp;color: #FF0000;<br />
}<br />
input {<br />
&nbsp;font-family: "Verdana", "Arial";<br />
&nbsp;font-size: 9px;<br />
&nbsp;border-width: 1px;<br />
}<br />
.statusbar {<br />
&nbsp;font-family: "Tahoma", "Verdana";<br />
&nbsp;font-size: 9px;<br />
&nbsp;color: #999999;<br />
&nbsp;padding-left: 3px;<br />
}<br />
.button {<br />
&nbsp;border: 1px outset;<br />
&nbsp;text-align: center;<br />
}<br />
.navframe {<br />
&nbsp;padding: 5px;<br />
}<br />
--&gt;<br />
&lt;/style&gt;<br />
&lt;/head&gt;<br />
&lt;body&gt;<br />
&lt;div id="assist" style="position:absolute; left:15px; top:68px; width:185px; z-index:1;display:none;" class="win" onMouseDown="MM_dragLayer('assist','',0,0,150,18,true,false,-1,-1,-1,-1,15,68,100,'',false,'')"&gt;<br />
&nbsp;&nbsp;&lt;table width="180" border="1" cellpadding="0" cellspacing="0"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;tr&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td class="caption"&gt;SeekAssist&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td width="14" align="center"&gt;&lt;a href="#" onclick="with(MM_findObj('assistwin').style)display=display=='none'?'':'none'"&gt;%&lt;/a&gt;&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td width="14" align="center"&gt;&lt;a href="#" onClick="MM_showHideLayers('assist','','hide')"&gt;X&lt;/a&gt;&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;/tr&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;tr id="assistwin"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td height="100" colspan="3" bordercolor="#eeeeee"&gt;&amp;nbsp;&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;/tr&gt;<br />
&nbsp; &lt;/table&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;br&gt;<br />
&lt;/div&gt;<br />
&lt;script&gt;loadwin('assist')&lt;/script&gt;<br />
&lt;div id="rank" style="position:absolute; left:15px; top:194px; width:185px; z-index:1;display:none;" class="win" onMouseDown="MM_dragLayer('rank','',0,0,150,18,true,false,-1,-1,-1,-1,15,194,100,'',false,'')"&gt;<br />
&nbsp;&nbsp;&lt;table width="180" border="1" cellpadding="0" cellspacing="0"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;tr&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td class="caption"&gt;SeekRank&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td width="14" align="center"&gt;&lt;a href="#" onclick="with(MM_findObj('rankwin').style)display=display=='none'?'':'none'"&gt;%&lt;/a&gt;&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td width="14" align="center"&gt;&lt;a href="#" onClick="MM_showHideLayers('assist','','inherit','rank','','hide')"&gt;X&lt;/a&gt;&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;/tr&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;tr id="rankwin"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td height="100" colspan="3" bordercolor="#eeeeee"&gt;&amp;nbsp;&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;/tr&gt;<br />
&nbsp; &lt;/table&gt;<br />
&nbsp;&nbsp;&lt;br&gt;<br />
&lt;/div&gt;<br />
&lt;script&gt;setTimeout("loadwin('rank')",500)&lt;/script&gt;<br />
&lt;div id="mycolor" style="position:absolute; left:15px; top:320px; width:185px; z-index:1;display:none;" class="win" onMouseDown="MM_dragLayer('mycolor','',0,0,150,18,true,false,-1,-1,-1,-1,15,320,100,'',false,'')"&gt;<br />
&nbsp;&nbsp;&lt;table width="180" border="1" cellpadding="0" cellspacing="0"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;tr&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td class="caption"&gt;MyColor&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td width="14" align="center"&gt;&lt;a href="#" onclick="with(MM_findObj('mycolorwin').style)display=display=='none'?'':'none'"&gt;%&lt;/a&gt;&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td width="14" align="center"&gt;&lt;a href="#" onClick="MM_showHideLayers('mycolor','','hide')"&gt;X&lt;/a&gt;&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;/tr&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;tr id="mycolorwin"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td height="100" colspan="3" bordercolor="#eeeeee"&gt;&lt;table width="100%" border="0" cellspacing="0" cellpadding="2"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;tr&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td align="center"&gt;&lt;a href="#" onclick="cs('#00CCFF','#f6f6f6','#eeeeee')"&gt;Default&lt;/a&gt;&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/tr&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;tr&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td align="center"&gt;&lt;a href="#" onclick="cs('red','#eeccee','#eeddee')"&gt;StyleSheet#1&lt;/a&gt;&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/tr&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;tr&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td align="center"&gt;&lt;a href="#" onclick="cs('#99ccff','#eeeeee','#ccddff')"&gt;StyleSheet#2&lt;/a&gt;&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/tr&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;tr&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td align="center"&gt;&lt;a href="#" onclick="cs('#ff9999','#ffffff','#ffeeff')"&gt;StyleSheet#3&lt;/a&gt;&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/tr&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;tr&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td align="center"&gt;&lt;a href="#" onclick="cs('skyblue','#eeeeee','#99ddff')"&gt;StyleSheet#4&lt;/a&gt;&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/tr&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;tr&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td align="center"&gt;&lt;a href="#" onclick="cs('#009900','#eeffee','#ddffdd')"&gt;StyleSheet#5&lt;/a&gt;&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/tr&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/table&gt;&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;/tr&gt;<br />
&nbsp; &lt;/table&gt;<br />
&nbsp;&nbsp;&lt;br&gt;<br />
&lt;/div&gt;<br />
&lt;script&gt;setTimeout("loadwin('mycolor')",1000)&lt;/script&gt;<br />
&lt;div id="results" style="position:absolute; left:204px; top:68px; width:575px; z-index:1;display:none;" class="win" onMouseDown="MM_dragLayer('results','',0,0,400,18,true,false,-1,-1,-1,-1,204,68,50,'',false,'')"&gt;<br />
&nbsp;&nbsp;&lt;table width="570" border="1" cellpadding="0" cellspacing="0"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;tr&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;&lt;table width="100%" border="0" cellspacing="0" cellpadding="0"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;tr&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td class="caption"&gt;Results&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td width="12" class="button"&gt;&lt;a href="#" onClick="with(MM_findObj('resultswin').style)display=display=='none'?'':'none'"&gt;%&lt;/a&gt;&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td width="12" class="button"&gt;&lt;a href="#" onClick="MM_showHideLayers('results','','inherit')"&gt;X&lt;/a&gt;&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/tr&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/table&gt;&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;/tr&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;tr&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td height="20" bordercolor="#eeeeee"&gt;&lt;input name="url" type="text" value="http://www.google.com/search?q=ezlee" size="100"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;a href="#" onclick="mainframe.location=url.value"&gt;Search&lt;/a&gt;&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;/tr&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;tr id="resultswin"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td height="318" valign="top" class="navframe"&gt;&lt;aiframe name="mainframe" id="mainframe" src="http://www.google.com/search?q=ezlee" width="100%" height="100%" frameborder="0" scrolling="auto"&gt;&lt;font color="#FF0000"&gt;Welcome!&lt;/font&gt;&lt;/aiframe&gt;&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;/tr&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;tr&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td height="14" class="statusbar"&gt;Ready!&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/tr&gt;<br />
&nbsp; &lt;/table&gt;<br />
&nbsp;&nbsp;&lt;br&gt;<br />
&lt;/div&gt;<br />
&lt;script&gt;setTimeout("loadwin('results')",2000)&lt;/script&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;
<img src ="http://www.blogjava.net/WshmAndLily/aggbug/146368.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/WshmAndLily/" target="_blank">semovy</a> 2007-09-19 10:34 <a href="http://www.blogjava.net/WshmAndLily/articles/146368.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title> 跳动的菜单</title><link>http://www.blogjava.net/WshmAndLily/articles/146364.html</link><dc:creator>semovy</dc:creator><author>semovy</author><pubDate>Wed, 19 Sep 2007 02:31:00 GMT</pubDate><guid>http://www.blogjava.net/WshmAndLily/articles/146364.html</guid><wfw:comment>http://www.blogjava.net/WshmAndLily/comments/146364.html</wfw:comment><comments>http://www.blogjava.net/WshmAndLily/articles/146364.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/WshmAndLily/comments/commentRss/146364.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/WshmAndLily/services/trackbacks/146364.html</trackback:ping><description><![CDATA[&lt;html&gt;<br />
&lt;head&gt;<br />
&lt;meta http-equiv="Content-Type" content="text/html; charset=gb2312" /&gt;<br />
&lt;title&gt;模仿as效果的导航菜单&lt;/title&gt;<br />
&lt;style type="text/css"&gt;<br />
&lt;!--<br />
a:link,a:visited&nbsp;&nbsp;&nbsp; { text-decoration: none; color: #666666 }<br />
a:hover&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; { text-decoration: underline }<br />
#hor1 {<br />
&nbsp;&nbsp;&nbsp; position:absolute;<br />
&nbsp;&nbsp;&nbsp; left:320px;<br />
&nbsp;&nbsp;&nbsp; top:20px;<br />
&nbsp;&nbsp;&nbsp; width:220px;<br />
&nbsp;&nbsp;&nbsp; height:20px;<br />
&nbsp;&nbsp;&nbsp; z-index:1;<br />
&nbsp;&nbsp;&nbsp; background-color: #999900;<br />
}<br />
#hor2 {<br />
&nbsp;&nbsp;&nbsp; position:absolute;<br />
&nbsp;&nbsp;&nbsp; left:320px;<br />
&nbsp;&nbsp;&nbsp; top:40px;<br />
&nbsp;&nbsp;&nbsp; width:220px;<br />
&nbsp;&nbsp;&nbsp; height:20px;<br />
&nbsp;&nbsp;&nbsp; z-index:2;<br />
&nbsp;&nbsp;&nbsp; background-color: #FFCC00;<br />
}<br />
#hor3 {<br />
&nbsp;&nbsp;&nbsp; position:absolute;<br />
&nbsp;&nbsp;&nbsp; left:320px;<br />
&nbsp;&nbsp;&nbsp; top:60px;<br />
&nbsp;&nbsp;&nbsp; width:220px;<br />
&nbsp;&nbsp;&nbsp; height:20px;<br />
&nbsp;&nbsp;&nbsp; z-index:3;<br />
&nbsp;&nbsp;&nbsp; background-color: #99CC00;<br />
}<br />
#board1 {<br />
&nbsp;&nbsp;&nbsp; position:absolute;<br />
&nbsp;&nbsp;&nbsp; left:320px;<br />
&nbsp;&nbsp;&nbsp; top:40px;<br />
&nbsp;&nbsp;&nbsp; width:220px;<br />
&nbsp;&nbsp;&nbsp; height:120px;<br />
&nbsp;&nbsp;&nbsp; z-index:-100;<br />
&nbsp;&nbsp;&nbsp; background-color: #333333;<br />
&nbsp;&nbsp;&nbsp; visibility: hidden;<br />
}<br />
body,td,th {<br />
&nbsp;&nbsp;&nbsp; font-family: Verdana, Arial, Helvetica, sans-serif;<br />
&nbsp;&nbsp;&nbsp; font-size: 12px;<br />
&nbsp;&nbsp;&nbsp; color: #FFFFFF;<br />
&nbsp;&nbsp;&nbsp; font-weight: bold;<br />
}<br />
body {<br />
&nbsp;&nbsp;&nbsp; background-color: #666666;<br />
}<br />
#board2 {<br />
&nbsp;&nbsp;&nbsp; position:absolute;<br />
&nbsp;&nbsp;&nbsp; left:320px;<br />
&nbsp;&nbsp;&nbsp; top:60px;<br />
&nbsp;&nbsp;&nbsp; width:220px;<br />
&nbsp;&nbsp;&nbsp; height:120px;<br />
&nbsp;&nbsp;&nbsp; z-index:-90;<br />
&nbsp;&nbsp;&nbsp; background-color: #333333;<br />
&nbsp;&nbsp;&nbsp; visibility: hidden;<br />
}<br />
#board3 {<br />
&nbsp;&nbsp;&nbsp; position:absolute;<br />
&nbsp;&nbsp;&nbsp; width:220px;<br />
&nbsp;&nbsp;&nbsp; height:120px;<br />
&nbsp;&nbsp;&nbsp; z-index:-80;<br />
&nbsp;&nbsp;&nbsp; left: 320px;<br />
&nbsp;&nbsp;&nbsp; top: 80px;<br />
&nbsp;&nbsp;&nbsp; background-color: #333333;<br />
&nbsp;&nbsp;&nbsp; visibility: hidden;<br />
}<br />
#hor4 {<br />
&nbsp;&nbsp;&nbsp; position:absolute;<br />
&nbsp;&nbsp;&nbsp; left:320px;<br />
&nbsp;&nbsp;&nbsp; top:80px;<br />
&nbsp;&nbsp;&nbsp; width:220px;<br />
&nbsp;&nbsp;&nbsp; height:20px;<br />
&nbsp;&nbsp;&nbsp; z-index:4;<br />
&nbsp;&nbsp;&nbsp; background-color: #99CCCC;<br />
}<br />
#board4 {<br />
&nbsp;&nbsp;&nbsp; position:absolute;<br />
&nbsp;&nbsp;&nbsp; left:320px;<br />
&nbsp;&nbsp;&nbsp; top:100px;<br />
&nbsp;&nbsp;&nbsp; width:220px;<br />
&nbsp;&nbsp;&nbsp; height:120px;<br />
&nbsp;&nbsp;&nbsp; z-index:-70;<br />
&nbsp;&nbsp;&nbsp; background-color: #333333;<br />
&nbsp;&nbsp;&nbsp; visibility: hidden;<br />
}<br />
--&gt;<br />
&lt;/style&gt;<br />
&lt;script type="text/javascript"&gt;<br />
lastNo=0<br />
function re(menu_no){<br />
if(lastNo!=menu_no){<br />
cur=menu_no+1<br />
lastNo=menu_no<br />
rest()<br />
}else{<br />
cur=100<br />
}<br />
document.getElementById("board"+menu_no).style.visibility="visible"<br />
}<br />
function rest(){<br />
for(i=1;i&lt;=4;i++){<br />
document.getElementById("hor"+i).style.top=20*i;<br />
document.getElementById("board"+i).style.visibility="hidden"<br />
}<br />
menu_num=4;<br />
&nbsp;act=1<br />
&nbsp;height=120+20<br />
&nbsp;speed=0;<br />
&nbsp;posY=0;<br />
}<br />
function huke(){<br />
if(act==1&amp;&amp;cur&lt;100){<br />
speed=(height-posY)*0.69+speed*0.6<br />
posY+=speed<br />
for(i=cur;i&lt;=menu_num;i++){<br />
document.getElementById("hor"+i).style.top=posY+(i-2)*20<br />
}<br />
if(Math.abs(height-posY)&lt;0.5){<br />
for(i=cur;i&lt;=menu_num;i++){<br />
document.getElementById("hor"+i).style.top=height+(i-2)*20<br />
}<br />
act=0<br />
}<br />
setTimeout("huke()",50)<br />
}<br />
}<br />
&lt;/script&gt;<br />
&lt;/head&gt;<br />
&lt;body&gt;<br />
&lt;div id="hor1" onclick="re(1);huke()"&gt;News&lt;/div&gt;<br />
&lt;div id="hor2" onclick="re(2);huke()"&gt;Populor&lt;/div&gt;<br />
&lt;div id="hor3" onclick="re(3);huke()"&gt;Sports&lt;/div&gt;<br />
&lt;div id="hor4" onclick="re(4);huke()"&gt;Woman&lt;/div&gt;<br />
&lt;div id="board1"&gt;1.由AS而想起Javascript&lt;br /&gt;2.用Jscript写ASP有没有先天性的不足？&lt;br /&gt;3.没有了。&lt;/div&gt;<br />
&lt;div id="board2"&gt;1.xhtml+css真的来了吗？&lt;br /&gt;2.Flash取代传统网站&lt;br /&gt;3.Flash何时才能连接数据库？&lt;/div&gt;<br />
&lt;div id="board3"&gt;1.程序员与小姐的10个相同。&lt;br /&gt;2.中国的程序员与中国的足球？&lt;/div&gt;<br />
&lt;div id="board4"&gt;1.二十一世纪最缺的是什么?人才&lt;br /&gt;<br />
&lt;a href="http://www.gamvan.com" target="_blank"&gt;http://www.gamvan.com&lt;/a&gt;<br />
&lt;a href="http://www.gamvan.com" target="_blank"&gt;http://www.gamvan.com&lt;/a&gt;&lt;/div&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;
<img src ="http://www.blogjava.net/WshmAndLily/aggbug/146364.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/WshmAndLily/" target="_blank">semovy</a> 2007-09-19 10:31 <a href="http://www.blogjava.net/WshmAndLily/articles/146364.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>滚动字幕</title><link>http://www.blogjava.net/WshmAndLily/articles/146360.html</link><dc:creator>semovy</dc:creator><author>semovy</author><pubDate>Wed, 19 Sep 2007 02:22:00 GMT</pubDate><guid>http://www.blogjava.net/WshmAndLily/articles/146360.html</guid><wfw:comment>http://www.blogjava.net/WshmAndLily/comments/146360.html</wfw:comment><comments>http://www.blogjava.net/WshmAndLily/articles/146360.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/WshmAndLily/comments/commentRss/146360.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/WshmAndLily/services/trackbacks/146360.html</trackback:ping><description><![CDATA[&lt;style&gt;<br />
div { font-size:12px; }<br />
&lt;/style&gt;<br />
&lt;div id="mq" style="width:100%;height:70px;overflow:hidden" onmouseover="iScrollAmount=0"<br />
onmouseout="iScrollAmount=1"&gt;<br />
　　轻轻的我走了，正如我轻轻的来；&lt;br/&gt;<br />
　　我轻轻的招手，作别西天的云彩。&lt;br/&gt;<br />
　　&lt;br/&gt;<br />
　　那河畔的金柳，是夕阳中的新娘；&lt;br/&gt;<br />
　　波光里的艳影，在我心头荡漾。&lt;br/&gt;<br />
　　&lt;br/&gt;<br />
　　软泥上的青荇，油油的在水底招摇；&lt;br/&gt;<br />
　　在康河的柔波里，我甘心作一条水草。&lt;br/&gt;<br />
　　&lt;br/&gt;<br />
　　那榆荫下的一潭，不是清泉是天上的虹；&lt;br/&gt;<br />
　　揉碎在浮藻间，沉淀彩虹似的梦。&lt;br/&gt;<br />
　　&lt;br/&gt;<br />
　　寻梦，撑支长篙，向青草更青处漫溯；&lt;br/&gt;<br />
　　满载一船星辉，在星辉斑烂里放歌。&lt;br/&gt;<br />
　　&lt;br/&gt;<br />
　　但我不能放歌，悄悄是别离的笙箫；&lt;br/&gt;<br />
　　夏虫也为我沉默，沉默是今晚的康桥。&lt;br/&gt;<br />
　　&lt;br/&gt;<br />
　　悄悄的我走了，正如我悄悄的来；&lt;br/&gt;<br />
　　我挥一挥衣袖，不带走一片云彩。&lt;br/&gt;<br />
　　&lt;br/&gt;<br />
&lt;/div&gt;<br />
&lt;script&gt;<br />
var oMarquee = document.getElementById("mq"); //滚动对象<br />
var iLineHeight = 42; //单行高度，像素<br />
var iLineCount = 7; //实际行数<br />
var iScrollAmount = 1; //每次滚动高度，像素<br />
function run() {<br />
oMarquee.scrollTop += iScrollAmount;<br />
if ( oMarquee.scrollTop == iLineCount * iLineHeight )<br />
oMarquee.scrollTop = 0;<br />
if ( oMarquee.scrollTop % iLineHeight == 0 ) {<br />
window.setTimeout( "run()", 2000 );<br />
} else {<br />
window.setTimeout( "run()", 50 );<br />
}<br />
}<br />
oMarquee.innerHTML += oMarquee.innerHTML;<br />
window.setTimeout( "run()", 2000 );<br />
&lt;/script&gt;
<img src ="http://www.blogjava.net/WshmAndLily/aggbug/146360.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/WshmAndLily/" target="_blank">semovy</a> 2007-09-19 10:22 <a href="http://www.blogjava.net/WshmAndLily/articles/146360.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>js普通检验 check.js</title><link>http://www.blogjava.net/WshmAndLily/articles/145531.html</link><dc:creator>semovy</dc:creator><author>semovy</author><pubDate>Sun, 16 Sep 2007 06:46:00 GMT</pubDate><guid>http://www.blogjava.net/WshmAndLily/articles/145531.html</guid><wfw:comment>http://www.blogjava.net/WshmAndLily/comments/145531.html</wfw:comment><comments>http://www.blogjava.net/WshmAndLily/articles/145531.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/WshmAndLily/comments/commentRss/145531.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/WshmAndLily/services/trackbacks/145531.html</trackback:ping><description><![CDATA[<p>/*<br />
-------------------------------------------------------------------------------<br />
文件名称：check.js<br />
说&nbsp;&nbsp;&nbsp; 明：JavaScript脚本，用于检查网页提交表单的输入数据<br />
版&nbsp;&nbsp;&nbsp; 本：1.0<br />
修改纪录:<br />
---------------------------------------------------------------------------<br />
时间&nbsp;&nbsp;修改人&nbsp;&nbsp;说明<br />
2002-8-29&nbsp;libo&nbsp;&nbsp;创建<br />
2004-03-08&nbsp; xueyishan&nbsp;&nbsp;&nbsp; 修改,加入checkMobile()<br />
2005-06-01&nbsp; zhouming&nbsp;&nbsp;&nbsp; 修改了isDate()，支持格式<br />
------------------------------------------------------------------------------- &nbsp;<br />
*/</p>
<p>/*<br />
用途：校验ip地址的格式<br />
输入：strIP：ip地址<br />
返回：如果通过验证返回true,否则返回false；&nbsp;<br />
*/<br />
function isIP(strIP) { <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (isNull(strIP)) return false;<br />
&nbsp;var re=/^(\d+)\.(\d+)\.(\d+)\.(\d+)$/g //匹配IP地址的正则表达式<br />
&nbsp;if(re.test(strIP))<br />
&nbsp;{<br />
&nbsp; if( RegExp.$1 &lt;256 &amp;&amp; RegExp.$2&lt;256 &amp;&amp; RegExp.$3&lt;256 &amp;&amp; RegExp.$4&lt;256) return true;<br />
&nbsp;}<br />
&nbsp;return false; <br />
} </p>
<p>/*<br />
用途：检查输入字符串是否为空或者全部都是空格<br />
输入：str<br />
返回：<br />
&nbsp;如果全是空返回true,否则返回false<br />
*/<br />
function isNull( str ){<br />
&nbsp;if ( str == "" ) return true;<br />
&nbsp;var regu = "^[ ]+$";<br />
&nbsp;var re = new RegExp(regu);<br />
&nbsp;return re.test(str);<br />
}</p>
<p><br />
/*<br />
用途：检查输入对象的值是否符合整数格式<br />
输入：str 输入的字符串<br />
返回：如果通过验证返回true,否则返回false&nbsp;<br />
*/<br />
function isInteger( str ){&nbsp; <br />
&nbsp;var regu = /^[-]{0,1}[0-9]{1,}$/;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return regu.test(str);<br />
}</p>
<p>/*<br />
用途：检查输入手机号码是否正确<br />
输入：<br />
&nbsp;s：字符串<br />
返回：<br />
&nbsp;如果通过验证返回true,否则返回false&nbsp;<br />
*/<br />
function checkMobile( s ){&nbsp;&nbsp; <br />
&nbsp;var regu =/^[1][3][0-9]{9}$/;<br />
&nbsp;var re = new RegExp(regu);<br />
&nbsp;if (re.test(s)) {<br />
&nbsp;&nbsp; return true;<br />
&nbsp;}else{<br />
&nbsp;&nbsp; return false;<br />
&nbsp;}<br />
}<br />
&nbsp;<br />
&nbsp;<br />
/*<br />
用途：检查输入字符串是否符合正整数格式<br />
输入：<br />
&nbsp;s：字符串<br />
返回：<br />
&nbsp;如果通过验证返回true,否则返回false&nbsp;<br />
*/<br />
function isNumber( s ){&nbsp;&nbsp; <br />
&nbsp;var regu = "^[0-9]+$";<br />
&nbsp;var re = new RegExp(regu);<br />
&nbsp;if (s.search(re) != -1) {<br />
&nbsp;&nbsp;&nbsp; return true;<br />
&nbsp;} else {<br />
&nbsp;&nbsp;&nbsp; return false;<br />
&nbsp;}<br />
}</p>
<p>/*<br />
用途：检查输入字符串是否是带小数的数字格式,可以是负数<br />
输入：<br />
&nbsp;s：字符串<br />
返回：<br />
&nbsp;如果通过验证返回true,否则返回false&nbsp;<br />
*/<br />
function isDecimal( str ){&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(isInteger(str)) return true;<br />
&nbsp;var re = /^[-]{0,1}(\d+)[\.]+(\d+)$/;<br />
&nbsp;if (re.test(str)) {<br />
&nbsp;&nbsp;&nbsp; if(RegExp.$1==0&amp;&amp;RegExp.$2==0) return false;<br />
&nbsp;&nbsp;&nbsp; return true;<br />
&nbsp;} else {<br />
&nbsp;&nbsp;&nbsp; return false;<br />
&nbsp;}<br />
}</p>
<p>/*<br />
用途：检查输入对象的值是否符合端口号格式<br />
输入：str 输入的字符串<br />
返回：如果通过验证返回true,否则返回false&nbsp;<br />
*/<br />
function isPort( str ){&nbsp; <br />
&nbsp;return (isNumber(str) &amp;&amp; str&lt;65536);<br />
}</p>
<p>/*<br />
用途：检查输入对象的值是否符合E-Mail格式<br />
输入：str 输入的字符串<br />
返回：如果通过验证返回true,否则返回false&nbsp;<br />
*/<br />
function isEmail( str ){&nbsp; <br />
&nbsp;var myReg = /^[-_A-Za-z0-9]+@([_A-Za-z0-9]+\.)+[A-Za-z0-9]{2,3}$/; <br />
&nbsp;if(myReg.test(str)) return true; <br />
&nbsp;return false; <br />
}</p>
<p>/*<br />
用途：检查输入字符串是否符合金额格式<br />
&nbsp;格式定义为带小数的正数，小数点后最多三位<br />
输入：<br />
&nbsp;s：字符串<br />
返回：<br />
&nbsp;如果通过验证返回true,否则返回false&nbsp;<br />
*/<br />
function isMoney( s ){&nbsp;&nbsp; <br />
&nbsp;var regu = "^[0-9]+[\.][0-9]{0,3}$";<br />
&nbsp;var re = new RegExp(regu);<br />
&nbsp;if (re.test(s)) {<br />
&nbsp;&nbsp;&nbsp; return true;<br />
&nbsp;} else {<br />
&nbsp;&nbsp;&nbsp; return false;<br />
&nbsp;}<br />
}<br />
/*<br />
用途：检查输入字符串是否只由英文字母和数字和下划线组成<br />
输入：<br />
&nbsp;s：字符串<br />
返回：<br />
&nbsp;如果通过验证返回true,否则返回false&nbsp;<br />
*/<br />
function isNumberOr_Letter( s ){&nbsp;&nbsp;&nbsp; //判断是否是数字或字母<br />
&nbsp;var regu = "^[0-9a-zA-Z\_]+$";<br />
&nbsp;var re = new RegExp(regu);<br />
&nbsp;if (re.test(s)) {<br />
&nbsp;&nbsp; return true;<br />
&nbsp;}else{<br />
&nbsp;&nbsp; return false;<br />
&nbsp;}<br />
}<br />
/*<br />
用途：检查输入字符串是否只由英文字母和数字组成<br />
输入：<br />
&nbsp;s：字符串<br />
返回：<br />
&nbsp;如果通过验证返回true,否则返回false&nbsp;<br />
*/<br />
function isNumberOrLetter( s ){&nbsp;&nbsp;&nbsp; //判断是否是数字或字母<br />
&nbsp;var regu = "^[0-9a-zA-Z]+$";<br />
&nbsp;var re = new RegExp(regu);<br />
&nbsp;if (re.test(s)) {<br />
&nbsp;&nbsp; return true;<br />
&nbsp;}else{<br />
&nbsp;&nbsp; return false;<br />
&nbsp;}<br />
}<br />
&nbsp;/*<br />
用途：检查输入字符串是否只由汉字、字母、数字组成<br />
输入：<br />
&nbsp;value：字符串<br />
返回：<br />
&nbsp;如果通过验证返回true,否则返回false&nbsp;<br />
*/<br />
function isChinaOrNumbOrLett( s ){&nbsp;&nbsp;&nbsp; //判断是否是汉字、字母、数字组成<br />
&nbsp;var regu = "^[0-9a-zA-Z\u4e00-\u9fa5]+$";&nbsp;&nbsp; <br />
&nbsp;var re = new RegExp(regu);<br />
&nbsp;if (re.test(s)) {<br />
&nbsp;&nbsp; return true;<br />
&nbsp;}else{<br />
&nbsp;&nbsp; return false;<br />
&nbsp;}<br />
}</p>
<p>/*<br />
用途：判断是否是日期<br />
输入：date：日期；fmt：日期格式<br />
返回：如果通过验证返回true,否则返回false<br />
*/<br />
function isDate( date, fmt ) {<br />
&nbsp;&nbsp;&nbsp; if (fmt==null) fmt="yyyyMMdd";<br />
&nbsp;&nbsp;&nbsp; var yIndex = fmt.indexOf("yyyy");<br />
&nbsp;&nbsp;&nbsp; if(yIndex==-1) return false;<br />
&nbsp;&nbsp; var year = date.substring(yIndex,yIndex+4);<br />
&nbsp;&nbsp; var mIndex = fmt.indexOf("MM");<br />
&nbsp;&nbsp;&nbsp; if(mIndex==-1) return false;<br />
&nbsp;&nbsp; var month = date.substring(mIndex,mIndex+2);<br />
&nbsp;&nbsp; var dIndex = fmt.indexOf("dd");<br />
&nbsp;&nbsp;&nbsp; if(dIndex==-1) return false;<br />
&nbsp;&nbsp; var day = date.substring(dIndex,dIndex+2);<br />
&nbsp;&nbsp;&nbsp; if(!isNumber(year)||year&gt;"2100" || year&lt; "1900") return false;<br />
&nbsp;&nbsp;&nbsp; if(!isNumber(month)||month&gt;"12" || month&lt; "01") return false;<br />
&nbsp;&nbsp;&nbsp; if(day&gt;getMaxDay(year,month) || day&lt; "01") return false;<br />
&nbsp;&nbsp;&nbsp; return true;<br />
}</p>
<p>function getMaxDay(year,month) {<br />
&nbsp;if(month==4||month==6||month==9||month==11)<br />
&nbsp;&nbsp;return "30";<br />
&nbsp;if(month==2)<br />
&nbsp;&nbsp;if(year%4==0&amp;&amp;year%100!=0 || year%400==0)<br />
&nbsp;&nbsp;&nbsp;return "29";<br />
&nbsp;&nbsp;else<br />
&nbsp;&nbsp;&nbsp;return "28";<br />
&nbsp;return "31";<br />
}</p>
<p>/*<br />
用途：字符1是否以字符串2结束<br />
输入：str1：字符串；str2：被包含的字符串<br />
返回：如果通过验证返回true,否则返回false&nbsp;<br />
*/<br />
function isLastMatch(str1,str2)<br />
{&nbsp; <br />
&nbsp;&nbsp; var index = str1.lastIndexOf(str2);<br />
&nbsp;&nbsp; if(str1.length==index+str2.length) return true;<br />
&nbsp;&nbsp; return false;<br />
}</p>
<p><br />
/*<br />
用途：字符1是否以字符串2开始<br />
输入：str1：字符串；str2：被包含的字符串<br />
返回：如果通过验证返回true,否则返回false&nbsp;<br />
*/<br />
function isFirstMatch(str1,str2)<br />
{&nbsp; <br />
&nbsp;&nbsp; var index = str1.indexOf(str2);<br />
&nbsp;&nbsp; if(index==0) return true;<br />
&nbsp;&nbsp; return false;<br />
}</p>
<p>/*<br />
用途：字符1是包含字符串2<br />
输入：str1：字符串；str2：被包含的字符串<br />
返回：如果通过验证返回true,否则返回false&nbsp;<br />
*/<br />
function isMatch(str1,str2)<br />
{&nbsp; <br />
&nbsp;&nbsp; var index = str1.indexOf(str2);<br />
&nbsp;&nbsp; if(index==-1) return false;<br />
&nbsp;&nbsp; return true;<br />
}</p>
<p><br />
/*<br />
用途：检查输入的起止日期是否正确，规则为两个日期的格式正确，<br />
&nbsp;且结束如期&gt;=起始日期<br />
输入：<br />
&nbsp;startDate：起始日期，字符串<br />
&nbsp;endDate：结束如期，字符串<br />
返回：<br />
&nbsp;如果通过验证返回true,否则返回false&nbsp;<br />
*/<br />
function checkTwoDate( startDate,endDate ) {<br />
&nbsp;if( !isDate(startDate) ) {<br />
&nbsp;&nbsp;alert("起始日期不正确!");<br />
&nbsp;&nbsp;return false;<br />
&nbsp;} else if( !isDate(endDate) ) {<br />
&nbsp;&nbsp;alert("终止日期不正确!");<br />
&nbsp;&nbsp;return false;<br />
&nbsp;} else if( startDate &gt; endDate ) {<br />
&nbsp;&nbsp;alert("起始日期不能大于终止日期!");<br />
&nbsp;&nbsp;return false;<br />
&nbsp;}<br />
&nbsp;return true;<br />
}</p>
<p>/*<br />
用途：检查输入的Email信箱格式是否正确<br />
输入：<br />
&nbsp;strEmail：字符串<br />
返回：<br />
&nbsp;如果通过验证返回true,否则返回false&nbsp;<br />
*/<br />
function checkEmail(strEmail) { <br />
&nbsp;//var emailReg = /^[_a-z0-9]+@([_a-z0-9]+\.)+[a-z0-9]{2,3}$/; <br />
&nbsp;var emailReg = /^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/;<br />
&nbsp;if( emailReg.test(strEmail) ){<br />
&nbsp;&nbsp;return true; <br />
&nbsp;}else{<br />
&nbsp;&nbsp;alert("您输入的Email地址格式不正确！");<br />
&nbsp;&nbsp;return false; <br />
&nbsp;}<br />
}</p>
<p>/*<br />
用途：检查输入的电话号码格式是否正确<br />
输入：<br />
&nbsp;strPhone：字符串<br />
返回：<br />
&nbsp;如果通过验证返回true,否则返回false&nbsp;<br />
*/<br />
function checkPhone( strPhone ) { <br />
&nbsp;var phoneRegWithArea = /^[0][1-9]{2,3}-[0-9]{5,10}$/; <br />
&nbsp;var phoneRegNoArea = /^[1-9]{1}[0-9]{5,8}$/; <br />
&nbsp;var prompt = "您输入的电话号码不正确!"<br />
&nbsp;if( strPhone.length &gt; 9 ) {<br />
&nbsp;&nbsp;if( phoneRegWithArea.test(strPhone) ){<br />
&nbsp;&nbsp;&nbsp;return true; <br />
&nbsp;&nbsp;}else{<br />
&nbsp;&nbsp;&nbsp;alert( prompt );<br />
&nbsp;&nbsp;&nbsp;return false; <br />
&nbsp;&nbsp;}<br />
&nbsp;}else{<br />
&nbsp;&nbsp;if( phoneRegNoArea.test( strPhone ) ){<br />
&nbsp;&nbsp;&nbsp;return true; <br />
&nbsp;&nbsp;}else{<br />
&nbsp;&nbsp;&nbsp;alert( prompt );<br />
&nbsp;&nbsp;&nbsp;return false; <br />
&nbsp;&nbsp;}&nbsp;&nbsp;<br />
&nbsp;}<br />
}<br />
&nbsp;</p>
<p>/*<br />
用途：检查复选框被选中的数目<br />
输入：<br />
&nbsp;checkboxID：字符串<br />
返回：<br />
&nbsp;返回该复选框中被选中的数目&nbsp;<br />
*/&nbsp;<br />
function checkSelect( checkboxID ) {<br />
&nbsp;var check = 0;<br />
&nbsp;var i=0;<br />
&nbsp;if( document.all(checkboxID).length &gt; 0 ) { <br />
&nbsp;&nbsp;for(&nbsp; i=0; i&lt;document.all(checkboxID).length; i++ ) {<br />
&nbsp;&nbsp;&nbsp;if( document.all(checkboxID).item( i ).checked&nbsp; ) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;check += 1;<br />
&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;}<br />
&nbsp;}else{<br />
&nbsp;&nbsp;if( document.all(checkboxID).checked )<br />
&nbsp;&nbsp;&nbsp;check = 1;<br />
&nbsp;}<br />
&nbsp;return check;<br />
}</p>
<p>function getTotalBytes(varField) {<br />
&nbsp;if(varField == null)<br />
&nbsp;&nbsp;return -1;<br />
&nbsp;<br />
&nbsp;var totalCount = 0;<br />
&nbsp;for (i = 0; i&lt; varField.value.length; i++) {<br />
&nbsp;&nbsp;if (varField.value.charCodeAt(i) &gt; 127) <br />
&nbsp;&nbsp;&nbsp;totalCount += 2;<br />
&nbsp;&nbsp;else<br />
&nbsp;&nbsp;&nbsp;totalCount++ ;<br />
&nbsp;}<br />
&nbsp;return totalCount;<br />
}</p>
<p>function getFirstSelectedValue( checkboxID ){<br />
&nbsp;var value = null;<br />
&nbsp;var i=0;<br />
&nbsp;if( document.all(checkboxID).length &gt; 0 ){ <br />
&nbsp;&nbsp;for(&nbsp; i=0; i&lt;document.all(checkboxID).length; i++ ){<br />
&nbsp;&nbsp;&nbsp;if( document.all(checkboxID).item( i ).checked ){<br />
&nbsp;&nbsp;&nbsp;&nbsp;value = document.all(checkboxID).item(i).value;<br />
&nbsp;&nbsp;&nbsp;&nbsp;break;<br />
&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;}<br />
&nbsp;} else {<br />
&nbsp;&nbsp;if( document.all(checkboxID).checked )<br />
&nbsp;&nbsp;&nbsp;value = document.all(checkboxID).value;<br />
&nbsp;&nbsp;}<br />
&nbsp;return value;<br />
}&nbsp;</p>
<p>function getFirstSelectedIndex( checkboxID ){<br />
&nbsp;var value = -2;<br />
&nbsp;var i=0;<br />
&nbsp;if( document.all(checkboxID).length &gt; 0 ){ <br />
&nbsp;&nbsp;for(&nbsp; i=0; i&lt;document.all(checkboxID).length; i++ ) {<br />
&nbsp;&nbsp;&nbsp;if( document.all(checkboxID).item( i ).checked&nbsp; ) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;value = i;<br />
&nbsp;&nbsp;&nbsp;&nbsp;break;<br />
&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;}<br />
&nbsp;} else {<br />
&nbsp;&nbsp;if( document.all(checkboxID).checked )<br />
&nbsp;&nbsp;&nbsp;value = -1;<br />
&nbsp;}<br />
&nbsp;return value;<br />
}<br />
&nbsp;<br />
function selectAll( checkboxID,status )&nbsp;{<br />
&nbsp;if( document.all(checkboxID) == null)<br />
&nbsp;&nbsp;return;</p>
<p>&nbsp;if( document.all(checkboxID).length &gt; 0 ){ <br />
&nbsp;&nbsp;for(&nbsp; i=0; i&lt;document.all(checkboxID).length; i++ )&nbsp;{<br />
&nbsp;&nbsp;&nbsp;document.all(checkboxID).item( i ).checked = status;<br />
&nbsp;&nbsp;}<br />
&nbsp;} else {<br />
&nbsp;&nbsp;document.all(checkboxID).checked = status;<br />
&nbsp;}<br />
}</p>
<p>function selectInverse( checkboxID ) {<br />
&nbsp;if( document.all(checkboxID) == null)<br />
&nbsp;&nbsp;return;</p>
<p>&nbsp;if( document.all(checkboxID).length &gt; 0 ) { <br />
&nbsp;&nbsp;for(&nbsp; i=0; i&lt;document.all(checkboxID).length; i++ ) {<br />
&nbsp;&nbsp;&nbsp;document.all(checkboxID).item( i ).checked = !document.all(checkboxID).item( i ).checked;<br />
&nbsp;&nbsp;}<br />
&nbsp;} else {<br />
&nbsp;&nbsp;document.all(checkboxID).checked = !document.all(checkboxID).checked;<br />
&nbsp;}<br />
}</p>
<p>function checkDate( value ) {<br />
&nbsp;if(value=='') return true;<br />
&nbsp;if(value.length!=8 || !isNumber(value)) return false;&nbsp; <br />
&nbsp;var year = value.substring(0,4);<br />
&nbsp;if(year&gt;"2100" || year&lt; "1900")&nbsp;return false;<br />
&nbsp;<br />
&nbsp;var month = value.substring(4,6);<br />
&nbsp;if(month&gt;"12" || month&lt; "01") return false;<br />
&nbsp;<br />
&nbsp;var day = value.substring(6,8);<br />
&nbsp;if(day&gt;getMaxDay(year,month) || day&lt; "01") return false;<br />
&nbsp;<br />
&nbsp;return true;&nbsp; <br />
}</p>
<p>/*<br />
用途：检查输入的起止日期是否正确，规则为两个日期的格式正确或都为空<br />
&nbsp;且结束日期&gt;=起始日期<br />
输入：<br />
&nbsp;startDate：起始日期，字符串<br />
&nbsp;endDate：&nbsp; 结束日期，字符串<br />
返回：<br />
&nbsp;如果通过验证返回true,否则返回false&nbsp;<br />
*/<br />
function checkPeriod( startDate,endDate ) {<br />
&nbsp;if( !checkDate(startDate) ) {<br />
&nbsp;&nbsp;alert("起始日期不正确!");<br />
&nbsp;&nbsp;return false;<br />
&nbsp;} else if( !checkDate(endDate) ) {<br />
&nbsp;&nbsp;alert("终止日期不正确!");<br />
&nbsp;&nbsp;return false;<br />
&nbsp;} else if( startDate &gt; endDate ) {<br />
&nbsp;&nbsp;alert("起始日期不能大于终止日期!");<br />
&nbsp;&nbsp;return false;<br />
&nbsp;}<br />
&nbsp;return true;<br />
}</p>
<p>/*<br />
用途：检查证券代码是否正确<br />
输入：<br />
&nbsp;secCode:证券代码<br />
返回：<br />
&nbsp;如果通过验证返回true,否则返回false&nbsp;<br />
*/<br />
function checkSecCode( secCode ) {<br />
&nbsp;if( secCode.length !=6 ){<br />
&nbsp;&nbsp;alert("证券代码长度应该为6位");<br />
&nbsp;&nbsp;return false;<br />
&nbsp;}<br />
&nbsp;<br />
&nbsp;if(!isNumber( secCode ) ){<br />
&nbsp;&nbsp;alert("证券代码只能包含数字");&nbsp;&nbsp;<br />
&nbsp;&nbsp;return false;<br />
&nbsp; &nbsp; }<br />
&nbsp;return true;<br />
}</p>
<p>/****************************************************<br />
function&nbsp;:&nbsp;cTrim(sInputString,iType)<br />
description&nbsp;:&nbsp;字符串去空格的函数<br />
parameters&nbsp;:&nbsp;iType：&nbsp;1=去掉字符串左边的空格<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2=去掉字符串左边的空格<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0=去掉字符串左边和右边的空格<br />
return value:&nbsp;去掉空格的字符串<br />
****************************************************/<br />
function cTrim(sInputString,iType)<br />
{<br />
&nbsp;var sTmpStr = ' ';<br />
&nbsp;var i = -1;<br />
&nbsp;<br />
&nbsp;if(iType == 0 || iType == 1)<br />
&nbsp;{<br />
&nbsp;&nbsp;while(sTmpStr == ' ')<br />
&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;++i;<br />
&nbsp;&nbsp;&nbsp;sTmpStr = sInputString.substr(i,1);<br />
&nbsp;&nbsp;}<br />
&nbsp;&nbsp;sInputString = sInputString.substring(i);<br />
&nbsp;}&nbsp;<br />
&nbsp;if(iType == 0 || iType == 2)<br />
&nbsp;{<br />
&nbsp;&nbsp;sTmpStr = ' ';<br />
&nbsp;&nbsp;i = sInputString.length;<br />
&nbsp;&nbsp;while(sTmpStr == ' ')<br />
&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;--i;<br />
&nbsp;&nbsp;&nbsp;sTmpStr = sInputString.substr(i,1);<br />
&nbsp;&nbsp;}<br />
&nbsp;&nbsp;sInputString = sInputString.substring(0,i+1);<br />
&nbsp;}<br />
&nbsp;return sInputString;<br />
}</p>
<p>/*<br />
-------------------------------------------------------------------------------<br />
说&nbsp;&nbsp;&nbsp; 明：JavaScript脚本，验证表单中的数据项&nbsp; begin<br />
------------------------------------------------------------------------------- &nbsp;<br />
*/<br />
function checkForm(objFrm){<br />
&nbsp;var len = 0;<br />
&nbsp;len = objFrm.elements.length;</p>
<p>&nbsp;var i = 0;<br />
&nbsp;var objCheck;<br />
&nbsp;//文本框<br />
&nbsp;for(i = 0; i &lt; len; i ++){<br />
&nbsp;&nbsp;objCheck = objFrm.elements[i];<br />
&nbsp;&nbsp;if(objCheck.type =="text" &amp;&amp; !f_checkTextValid(objCheck) ){<br />
&nbsp;&nbsp;&nbsp;return false;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;}<br />
&nbsp;}<br />
&nbsp;//下拉框<br />
&nbsp;for(i = 0; i &lt; len; i ++){<br />
&nbsp;&nbsp;objCheck = objFrm.elements[i];<br />
&nbsp;&nbsp;if(objCheck.type =="select-one" &amp;&amp; !f_checkSelectValid(objCheck) ){<br />
&nbsp;&nbsp;&nbsp;return false;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;}<br />
&nbsp;}<br />
&nbsp;//时间段有效<br />
&nbsp;if( f_checkStartAndEndDate(objFrm) == false) return false;<br />
&nbsp;<br />
&nbsp;return true;<br />
}<br />
function f_checkSelectValid(obj){<br />
&nbsp;//alert("check select");<br />
&nbsp;if(obj.options.length &lt;= 0){<br />
&nbsp;&nbsp;alert("下拉选框无数据!");<br />
&nbsp;&nbsp;return false;&nbsp;<br />
&nbsp;} <br />
&nbsp;return true;<br />
}<br />
function f_checkStartAndEndDate(frm){<br />
&nbsp;var len = frm.elements.length;<br />
&nbsp;if(len == null &amp;&amp; len == 0) return true;<br />
&nbsp;var i=0;<br />
&nbsp;var temp;<br />
&nbsp;var objCheck;<br />
&nbsp;var objStartDate;<br />
&nbsp;var objEndDate;<br />
&nbsp;//alert("start date period check");<br />
&nbsp;try{<br />
&nbsp;&nbsp;for(i=0; i&lt; len ; i++){<br />
&nbsp;&nbsp;&nbsp;objCheck = frm.elements[i];<br />
&nbsp;&nbsp;&nbsp;temp = objCheck.name;<br />
&nbsp;&nbsp;&nbsp;if( temp.indexOf("startDate") &gt;0 ||temp.indexOf("beginDate")&gt;0 )<br />
&nbsp;&nbsp;&nbsp;&nbsp;objStartDate = objCheck;<br />
&nbsp;&nbsp;&nbsp;if( temp.indexOf("endDate") &gt; 0 )<br />
&nbsp;&nbsp;&nbsp;&nbsp;objEndDate = objCheck;<br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;}<br />
&nbsp;&nbsp;//alert(objStartDate.value);<br />
&nbsp;&nbsp;//alert(objEndDate.value);<br />
&nbsp;&nbsp;if(objStartDate.value==null || objStartDate.value =="" || objStartDate.value ==null || objStartDate.value ==""){<br />
&nbsp;&nbsp;&nbsp;return true;<br />
&nbsp;&nbsp;}<br />
&nbsp;&nbsp;return checkTwoDate(objStartDate.value, objEndDate.value);&nbsp;<br />
&nbsp;&nbsp;//alert("end date period check");<br />
&nbsp;}catch(E){}<br />
&nbsp;return true;<br />
}</p>
<p>function f_checkTextValid(obj){<br />
&nbsp;//不能为空<br />
&nbsp;if(obj.getAttribute("isNeed") != null){<br />
&nbsp;&nbsp;if(f_isNotNull(obj) == false) return false;<br />
&nbsp;}<br />
&nbsp;//不能超过长度<br />
&nbsp;if(obj.getAttribute("maxlength") != null){<br />
&nbsp;&nbsp;if(f_checkLength(obj) == false) return false;<br />
&nbsp;}<br />
&nbsp;var checkType ="";<br />
&nbsp;checkType = obj.getAttribute("checkType");<br />
&nbsp;if(checkType==null||checkType=="") return true;<br />
&nbsp;//<br />
&nbsp;if (checkType.indexOf("number") &gt;=0){<br />
&nbsp;&nbsp;if(f_isNumber(obj) == false)&nbsp; return false;<br />
&nbsp;&nbsp;if(f_checkNumType(obj,checkType) == false)&nbsp; return false;<br />
&nbsp;&nbsp;<br />
&nbsp;}<br />
&nbsp;//<br />
&nbsp;if (checkType.indexOf("positive") &gt;=0){<br />
&nbsp;&nbsp;if(f_isNumber(obj) == false)&nbsp; return false;<br />
&nbsp;&nbsp;if(f_isPositive(obj)==false)&nbsp; return false;<br />
&nbsp;&nbsp;if(f_checkNumType(obj,checkType) == false)&nbsp; return false;<br />
&nbsp;&nbsp;<br />
&nbsp;}<br />
&nbsp;if (checkType.indexOf("date") &gt;=0){<br />
&nbsp;&nbsp;if(f_checkDate(obj) == false) return false;<br />
&nbsp;&nbsp;<br />
&nbsp;}<br />
&nbsp;<br />
&nbsp;/*<br />
&nbsp;switch(checkType){<br />
&nbsp;&nbsp;case "number": if(f_isNumber(obj) == false) return false;break;<br />
&nbsp;&nbsp;case "date": if(f_checkDate(obj) == false) return false;break;<br />
&nbsp;&nbsp;default:<br />
&nbsp;}<br />
&nbsp;*/<br />
&nbsp;return true;<br />
}</p>
<p>function f_isNotNull(obj){<br />
&nbsp;if(obj.value == ""){<br />
&nbsp;&nbsp;f_alert(obj, " 不允许为空值！");<br />
&nbsp;&nbsp;return false;<br />
&nbsp;}<br />
&nbsp;return true;<br />
}</p>
<p>function f_isNumber(obj){<br />
&nbsp;if(isNaN(obj.value)){<br />
&nbsp;&nbsp; f_alert(obj," 应为数值类型");<br />
&nbsp;&nbsp;return false;&nbsp;&nbsp;<br />
&nbsp;}<br />
&nbsp;return true;</p>
<p>}<br />
function f_checkDate(obj) {<br />
&nbsp;if(checkDate(obj.value) ==false){<br />
&nbsp;&nbsp; f_alert(obj," 不是合法日期格式！");<br />
&nbsp;&nbsp;return false;&nbsp;&nbsp;<br />
&nbsp;}<br />
&nbsp;return true;<br />
}</p>
<p>function f_checkLength(obj){<br />
&nbsp;if(getTotalBytes(obj) &gt; Math.abs( obj.getAttribute("maxlength") ) ){<br />
&nbsp;&nbsp; f_alert(obj," 超出长度限制!");<br />
&nbsp;&nbsp;return false;&nbsp;&nbsp;<br />
&nbsp;}<br />
&nbsp;return true;<br />
&nbsp;<br />
}</p>
<p>function&nbsp; f_alert(obj,alertStr){<br />
&nbsp;var fielName = obj.getAttribute("fieldName");<br />
&nbsp;if(fielName == null)<br />
&nbsp;&nbsp;fielName = "";<br />
&nbsp;alert(fielName + "\n" +alertStr);<br />
&nbsp;obj.select();<br />
&nbsp;obj.focus();<br />
}</p>
<p>function f_checkNumType(obj, numType){<br />
&nbsp;//假设: 已经进行数字类型判断<br />
&nbsp;<br />
&nbsp;var strTemp;<br />
&nbsp;var numpric;<br />
&nbsp;var numLen;<br />
&nbsp;var strArr;<br />
&nbsp;var defaultLen = 19;<br />
&nbsp;var defaultpric = 5;</p>
<p>&nbsp;try{<br />
&nbsp;&nbsp;if(numType == null|| numType =="") return f_checkNumLenPrec(obj,defaultLen, defaultpric);<br />
&nbsp;&nbsp;if(numType.indexOf("(") &lt; 0 || numType.indexOf(")") &lt; 0 ) return f_checkNumLenPrec(obj,defaultLen, defaultpric);<br />
&nbsp;&nbsp;strTemp = numType.substr( numType.indexOf("(") + 1 ,numType.indexOf(")") - numType.indexOf("(") -1 );<br />
&nbsp;&nbsp;if(strTemp == null||strTemp =="") return f_checkNumLenPrec(obj,defaultLen, defaultpric);<br />
&nbsp;&nbsp;strArr = strTemp.split(",");&nbsp;<br />
&nbsp;&nbsp;numLen = Math.abs( strArr[0] ); <br />
&nbsp;&nbsp;numpric = Math.abs( strArr[1] );&nbsp;<br />
&nbsp;&nbsp;return f_checkNumLenPrec(obj,numLen, numpric);<br />
&nbsp;}catch(e){<br />
&nbsp;&nbsp;alert("in f_checkNumType = " + e);<br />
&nbsp;&nbsp; return f_checkNumLenPrec(obj,defaultLen, defaultpric);<br />
&nbsp;}</p>
<p>}</p>
<p>function f_checkNumLenPrec(obj, len, pric){<br />
&nbsp;var numReg;<br />
&nbsp;var value = obj.value;<br />
&nbsp;var strValueTemp, strInt, strDec;&nbsp;<br />
&nbsp;//alert(value + "=====" + len + "====="+ pric);<br />
&nbsp;try{&nbsp;<br />
&nbsp;&nbsp;<br />
&nbsp;&nbsp;numReg =/[\-]/;<br />
&nbsp;&nbsp;strValueTemp = value.replace(numReg, "");<br />
&nbsp;&nbsp;strValueTemp = strValueTemp.replace(numReg, "");<br />
&nbsp;&nbsp;//整数<br />
&nbsp;&nbsp;if(pric==0){<br />
&nbsp;&nbsp;&nbsp;numReg =/[\.]/;<br />
&nbsp;&nbsp;&nbsp;//alert(numReg.test(value));<br />
&nbsp;&nbsp;&nbsp;if(numReg.test(value) == true){<br />
&nbsp;&nbsp;&nbsp;&nbsp;f_alert(obj, "输入必须为整数类型!");<br />
&nbsp;&nbsp;&nbsp;&nbsp;return false;&nbsp;<br />
&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;}<br />
&nbsp;&nbsp;<br />
&nbsp;&nbsp;if(strValueTemp.indexOf(".") &lt; 0 ){<br />
&nbsp;&nbsp;&nbsp;//alert("lennth==" + strValueTemp);&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;if(strValueTemp.length &gt;( len - pric)){<br />
&nbsp;&nbsp;&nbsp;&nbsp;f_alert(obj, "整数位不能超过"+ (len - pric) +"位");<br />
&nbsp;&nbsp;&nbsp;&nbsp;return false;<br />
&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;<br />
&nbsp;&nbsp;}else{<br />
&nbsp;&nbsp;&nbsp;strInt = strValueTemp.substr( 0, strValueTemp.indexOf(".") );&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;//alert("lennth==" + strInt);&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;if(strInt.length &gt;( len - pric)){<br />
&nbsp;&nbsp;&nbsp;&nbsp;f_alert(obj, "整数位不能超过"+ (len - pric) +"位");<br />
&nbsp;&nbsp;&nbsp;&nbsp;return false;<br />
&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp;strDec = strValueTemp.substr( (strValueTemp.indexOf(".")+1), strValueTemp.length );&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;//alert("pric==" + strDec);&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;if(strDec.length &gt; pric){<br />
&nbsp;&nbsp;&nbsp;&nbsp;f_alert(obj, "小数位不能超过"+&nbsp; pric +"位");<br />
&nbsp;&nbsp;&nbsp;&nbsp;return false;<br />
&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;<br />
&nbsp;&nbsp;}<br />
&nbsp;&nbsp;<br />
&nbsp;&nbsp;return true;<br />
&nbsp;}catch(e){<br />
&nbsp;&nbsp;alert("in f_checkNumLenPrec = " + e);<br />
&nbsp;&nbsp;return false;<br />
&nbsp;}&nbsp;<br />
}</p>
<p>function f_isPositive(obj){<br />
&nbsp;var numReg =/[\-]/;<br />
&nbsp;if(numReg.test(obj.value) == true){<br />
&nbsp;&nbsp;f_alert(obj, "必须为正数!");<br />
&nbsp;&nbsp;return false;<br />
&nbsp;}<br />
&nbsp;return true;<br />
&nbsp;<br />
}</p>
<p><br />
/*<br />
function selectedCheckboxCount(form)<br />
功能说明：对Form中选中的可选项计数</p>
<p>参数说明：<br />
form:指定的表单<br />
*/<br />
function selectedCheckboxCount(form){<br />
&nbsp;var length =0;<br />
&nbsp;var i=0;<br />
&nbsp;var count =0;<br />
&nbsp;eles = form.elements;<br />
&nbsp;while(i&lt;eles.length){<br />
&nbsp;&nbsp;obj= eles.item(i);<br />
//&nbsp;&nbsp;type = obj.attributes.item("type").nodeValue;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; type = obj.type;<br />
&nbsp;&nbsp;if(type == "checkbox"){<br />
&nbsp;&nbsp;&nbsp;if(obj.checked){<br />
&nbsp;&nbsp;&nbsp;&nbsp;count++;<br />
&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;}<br />
&nbsp;&nbsp;i++;<br />
&nbsp;}<br />
&nbsp;return count;<br />
}</p>
<p>//得到字节长度<br />
function getByteLen(str)<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var l = str.length;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var n = l;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for ( var i=0; i&lt;l; i++ )<br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if ( str.charCodeAt(i) &lt;0 || str.charCodeAt(i) &gt;255 )<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; n=n+1;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return n<br />
}</p>
<p>/*<br />
说明：<br />
1.清除表格中的数据(0.0 和 0)<br />
2.如果cell中没有数据，则自动加上一个空格<br />
3.清除空白行的checkbox</p>
<p>参数：<br />
clearzero:是否清除"0"、"0.0"，false不清除、true清除（默认为true）<br />
tablename:要清除的表格名字，默认为sortTable<br />
*/<br />
function clear_table(clearzero,tablename)<br />
{<br />
&nbsp;var tobject;<br />
&nbsp;if(tablename==null)<br />
&nbsp;&nbsp;tobject=gmobj("sortTable");<br />
&nbsp;else<br />
&nbsp;&nbsp;tobject=gmobj(tablename);<br />
&nbsp;//如果table未定义，则不进行过滤<br />
&nbsp;<br />
&nbsp;if(tobject==null)<br />
&nbsp;&nbsp;return;<br />
&nbsp;&nbsp;<br />
&nbsp;<br />
&nbsp;//如果函数调用参数为空，表示要清除0、0.0；反之，不要清除0、0.0。<br />
&nbsp;var clear = (clearzero==null)?true:clearzero;</p>
<p>&nbsp;//清除0、0.0，填补空格<br />
&nbsp;var rows = tobject.rows;<br />
&nbsp;var j=0;<br />
&nbsp;for(var i=0;i&lt;rows.length;i++)<br />
&nbsp;{<br />
&nbsp;&nbsp;//取得第一个cell的属性clear，如果为1，表示该行没有数据，则清除该行所有数据<br />
&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;while(tobject.rows[i].cells[j] != null)<br />
&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;if(clear)<br />
&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(tobject.rows[i].cells[j].innerHTML==0 ||tobject.rows[i].cells[j].innerHTML==0.0||tobject.rows[i].cells[j].innerHTML=="")<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tobject.rows[i].cells[j].innerText=" ";<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;else<br />
&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (tobject.rows[i].cells[j].innerHTML=="")<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tobject.rows[i].cells[j].innerText=" ";<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;j++;<br />
&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;j=0;<br />
&nbsp;&nbsp;<br />
&nbsp;}<br />
&nbsp;&nbsp;&nbsp; return true;<br />
}</p>
<p>function gmobj(mtxt)&nbsp; /* Get object by object name */<br />
{<br />
&nbsp; if (document.getElementById) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m=document.getElementById(mtxt);<br />
&nbsp; } else if (document.all) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m=document.all[mtxt];<br />
&nbsp; } else if (document.layers) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m=document.layers[mtxt];<br />
&nbsp; }<br />
&nbsp; return m;<br />
}<br />
/*<br />
-------------------------------------------------------------------------------<br />
说&nbsp;&nbsp;&nbsp; 明：JavaScript脚本，验证表单中的数据项&nbsp; end<br />
------------------------------------------------------------------------------- &nbsp;<br />
*/</p>
<p>/*<br />
用途：检查输入字符串是否是带小数的数字格式,可以是负数(并且满足规定的精度)<br />
输入：str：字符串<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; l：总位数<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; d：小数点后位数<br />
返回：<br />
&nbsp;如果通过验证返回true,否则返回false&nbsp;<br />
*/<br />
function isDecimal( str,l,d ){&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(isInteger(str)) {<br />
&nbsp;&nbsp;&nbsp; if (l==null)&nbsp; return true;<br />
&nbsp;&nbsp;&nbsp; if (str&lt;0) l--;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (str.length&lt;=l) return true;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var re = /^[-]{0,1}(\d+)[\.]+(\d+)$/;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (re.test(str)) {<br />
&nbsp;&nbsp;if (l==null)&nbsp; return true;<br />
&nbsp;&nbsp;if (d==null) d=0;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(RegExp.$1==0&amp;&amp;RegExp.$2==0) return false;<br />
&nbsp;&nbsp;if (RegExp.$1.length+RegExp.$2.length&lt;=l<br />
&nbsp;&nbsp;&nbsp;&amp;&amp; RegExp.$2.length&lt;=d)&nbsp; return true;<br />
&nbsp;&nbsp;&nbsp; }<br />
&nbsp;return false;<br />
}</p>
<img src ="http://www.blogjava.net/WshmAndLily/aggbug/145531.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/WshmAndLily/" target="_blank">semovy</a> 2007-09-16 14:46 <a href="http://www.blogjava.net/WshmAndLily/articles/145531.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>javascript固定div位置在页面中的位置</title><link>http://www.blogjava.net/WshmAndLily/articles/144495.html</link><dc:creator>semovy</dc:creator><author>semovy</author><pubDate>Wed, 12 Sep 2007 07:03:00 GMT</pubDate><guid>http://www.blogjava.net/WshmAndLily/articles/144495.html</guid><wfw:comment>http://www.blogjava.net/WshmAndLily/comments/144495.html</wfw:comment><comments>http://www.blogjava.net/WshmAndLily/articles/144495.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/WshmAndLily/comments/commentRss/144495.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/WshmAndLily/services/trackbacks/144495.html</trackback:ping><description><![CDATA[<p>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;<br />
&lt;HTML&gt;<br />
&lt;HEAD&gt;<br />
&lt;TITLE&gt;AAAAAAAA&lt;/TITLE&gt;<br />
&lt;META HTTP-EQUIV="Content-Type" CONTENT="text/html" charset="UTF-8"&gt;<br />
&lt;/HEAD&gt;<br />
&lt;style&gt;<br />
&lt;!--<br />
.div{<br />
position: absolute;<br />
border: 2px solid red;<br />
background-color: #EFEFEF;<br />
line-height:90px;<br />
font-size:12px;<br />
z-index:1000;<br />
}<br />
--&gt;<br />
&lt;/style&gt;<br />
&lt;BODY&gt;<br />
&lt;div id="Javascript.Div1" class="div" style="width: 240px; height:90px" align="center"&gt;正中...&lt;/div&gt;<br />
&lt;SCRIPT LANGUAGE="JavaScript"&gt;<br />
function sc1(){<br />
document.getElementById("Javascript.Div1").style.top=<br />
&nbsp;&nbsp; document.documentElement.scrollTop+(document.documentElement.clientHeight-document.getElementById("Javascript.Div1").offsetHeight)/2<br />
document.getElementById("Javascript.Div1").style.left=<br />
&nbsp;&nbsp; document.documentElement.scrollLeft+(document.documentElement.clientWidth-document.getElementById("Javascript.Div1").offsetWidth)/2;<br />
}<br />
&lt;/SCRIPT&gt;</p>
<p><br />
&lt;div id="Javascript.Div2" class="div" style="width: 240px; height:90px;" align="center"&gt;左上...&lt;/div&gt;<br />
&lt;SCRIPT LANGUAGE="JavaScript"&gt;<br />
function sc2(){<br />
document.getElementById("Javascript.Div2").style.top=document.documentElement.scrollTop<br />
document.getElementById("Javascript.Div2").style.left=document.documentElement.scrollLeft;<br />
}<br />
&lt;/SCRIPT&gt;</p>
<p>&lt;div id="Javascript.Div3" class="div" style="width: 240px; height:90px;" align="center"&gt;左下...&lt;/div&gt;<br />
&lt;SCRIPT LANGUAGE="JavaScript"&gt;<br />
function sc3(){<br />
document.getElementById("Javascript.Div3").style.top=<br />
&nbsp;&nbsp;&nbsp; document.documentElement.scrollTop+document.documentElement.clientHeight-document.getElementById("Javascript.Div3").offsetHeight;<br />
document.getElementById("Javascript.Div3").style.left=document.documentElement.scrollLeft;<br />
}<br />
&lt;/SCRIPT&gt;</p>
<p>&lt;div id="Javascript.Div4" class="div" style="width: 240px; height:90px;" align="center"&gt;右上...&lt;/div&gt;<br />
&lt;SCRIPT LANGUAGE="JavaScript"&gt;<br />
function sc4(){<br />
document.getElementById("Javascript.Div4").style.top=document.documentElement.scrollTop;<br />
document.getElementById("Javascript.Div4").style.left=<br />
&nbsp;&nbsp;&nbsp; document.documentElement.scrollLeft+document.documentElement.clientWidth-document.getElementById("Javascript.Div4").offsetWidth;<br />
}<br />
&lt;/SCRIPT&gt;</p>
<p>&lt;div id="Javascript.Div5" class="div" style="width: 240px; height:90px;" align="center"&gt;右下...&lt;/div&gt;<br />
&lt;SCRIPT LANGUAGE="JavaScript"&gt;<br />
function sc5(){</p>
<p>document.getElementById("Javascript.Div5").style.top=<br />
&nbsp;&nbsp;&nbsp; document.documentElement.scrollTop+document.documentElement.clientHeight-document.getElementById("Javascript.Div5").offsetHeight;<br />
document.getElementById("Javascript.Div5").style.left=<br />
&nbsp;&nbsp;&nbsp; document.documentElement.scrollLeft+document.documentElement.clientWidth-document.getElementById("Javascript.Div5").offsetWidth;;<br />
}<br />
&lt;/SCRIPT&gt;</p>
<p><br />
&lt;SCRIPT LANGUAGE="JavaScript"&gt;<br />
&lt;!--<br />
function scall(){<br />
sc1();sc2();sc3();sc4();sc5();<br />
}<br />
window.onscroll=scall;<br />
window.onresize=scall;<br />
window.onload=scall;<br />
//--&gt;<br />
&lt;/SCRIPT&gt;<br />
&lt;div style="position: absolute; top: 0; left: 0; width: 10000px; height: 4000px;"&gt;&lt;/div&gt;<br />
&lt;/BODY&gt;<br />
&lt;/HTML&gt;</p>
<p>&nbsp;<br />
</p>
<img src ="http://www.blogjava.net/WshmAndLily/aggbug/144495.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/WshmAndLily/" target="_blank">semovy</a> 2007-09-12 15:03 <a href="http://www.blogjava.net/WshmAndLily/articles/144495.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Javascript 获取滚动条位置</title><link>http://www.blogjava.net/WshmAndLily/articles/144429.html</link><dc:creator>semovy</dc:creator><author>semovy</author><pubDate>Wed, 12 Sep 2007 02:50:00 GMT</pubDate><guid>http://www.blogjava.net/WshmAndLily/articles/144429.html</guid><wfw:comment>http://www.blogjava.net/WshmAndLily/comments/144429.html</wfw:comment><comments>http://www.blogjava.net/WshmAndLily/articles/144429.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/WshmAndLily/comments/commentRss/144429.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/WshmAndLily/services/trackbacks/144429.html</trackback:ping><description><![CDATA[<li class="li1">
<div class="de1">&lt;script type=<span class="st0">"text/javascript"</span>&gt; </div>
<li class="li1">
<div class="de1">&nbsp;</div>
<li class="li1">
<div class="de1"><span class="co1">// 说明：用 Javascript 获取滚动条位置等信息 </span></div>
<li class="li2">
<div class="de2"><span class="co1">// 来源 ：ThickBox 2.1&nbsp; </span></div>
<li class="li1">
<div class="de1"><span class="co1">// 整理 ：CodeBit.cn ( http://www.CodeBit.cn ) </span></div>
<li class="li1">
<div class="de1">&nbsp;</div>
<li class="li1">
<div class="de1"><span class="kw2">function</span> getScroll<span class="br0">(</span><span class="br0">)</span>&nbsp; </div>
<li class="li1">
<div class="de1"><span class="br0">{</span> </div>
<li class="li2">
<div class="de2">&nbsp;&nbsp;&nbsp; <span class="kw2">var</span> t, l, w, h; </div>
<li class="li1">&nbsp;&nbsp;&nbsp;&nbsp;
<li class="li1">
<div class="de1">&nbsp;&nbsp;&nbsp; <span class="kw1">if</span> <span class="br0">(</span>document.<span class="me1">documentElement</span> &amp;&amp; document.<span class="me1">documentElement</span>.<span class="me1">scrollTop</span><span class="br0">)</span> <span class="br0">{</span> </div>
<li class="li1">
<div class="de1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; t = document.<span class="me1">documentElement</span>.<span class="me1">scrollTop</span>; </div>
<li class="li1">
<div class="de1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; l = document.<span class="me1">documentElement</span>.<span class="me1">scrollLeft</span>; </div>
<li class="li2">
<div class="de2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; w = document.<span class="me1">documentElement</span>.<span class="me1">scrollWidth</span>; </div>
<li class="li1">
<div class="de1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; h = document.<span class="me1">documentElement</span>.<span class="me1">scrollHeight</span>; </div>
<li class="li1">
<div class="de1">&nbsp;&nbsp;&nbsp; <span class="br0">}</span> <span class="kw1">else</span> <span class="kw1">if</span> <span class="br0">(</span>document.<span class="me1">body</span><span class="br0">)</span> <span class="br0">{</span> </div>
<li class="li1">
<div class="de1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; t = document.<span class="me1">body</span>.<span class="me1">scrollTop</span>; </div>
<li class="li1">
<div class="de1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; l = document.<span class="me1">body</span>.<span class="me1">scrollLeft</span>; </div>
<li class="li2">
<div class="de2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; w = document.<span class="me1">body</span>.<span class="me1">scrollWidth</span>; </div>
<li class="li1">
<div class="de1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; h = document.<span class="me1">body</span>.<span class="me1">scrollHeight</span>; </div>
<li class="li1">
<div class="de1">&nbsp;&nbsp;&nbsp; <span class="br0">}</span> </div>
<li class="li1">
<div class="de1">&nbsp;&nbsp;&nbsp; <span class="kw1">return</span> <span class="br0">{</span> t: t, l: l, w: w, h: h <span class="br0">}</span>; </div>
<li class="li1">
<div class="de1"><span class="br0">}</span> </div>
<li class="li2">
<div class="de2">&nbsp;</div>
<li class="li1">
<div class="de1">&lt;/script&gt; </div>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<img src ="http://www.blogjava.net/WshmAndLily/aggbug/144429.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/WshmAndLily/" target="_blank">semovy</a> 2007-09-12 10:50 <a href="http://www.blogjava.net/WshmAndLily/articles/144429.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>prototype.js开发实例</title><link>http://www.blogjava.net/WshmAndLily/articles/144121.html</link><dc:creator>semovy</dc:creator><author>semovy</author><pubDate>Mon, 10 Sep 2007 15:30:00 GMT</pubDate><guid>http://www.blogjava.net/WshmAndLily/articles/144121.html</guid><wfw:comment>http://www.blogjava.net/WshmAndLily/comments/144121.html</wfw:comment><comments>http://www.blogjava.net/WshmAndLily/articles/144121.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/WshmAndLily/comments/commentRss/144121.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/WshmAndLily/services/trackbacks/144121.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Table of Contents 1. Programming Guide &nbsp;1.1. Prototype是什么? &nbsp;1.2. 关联文章 &nbsp;1.3. 通用性方法 &nbsp;&nbsp;1.3.1. 使用 $()方法 &nbsp;&nbsp;1.3.2. 使用$F()方法 &nbsp;&nbsp;1.3.3. 使用$A()方法 &nb...&nbsp;&nbsp;<a href='http://www.blogjava.net/WshmAndLily/articles/144121.html'>阅读全文</a><img src ="http://www.blogjava.net/WshmAndLily/aggbug/144121.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/WshmAndLily/" target="_blank">semovy</a> 2007-09-10 23:30 <a href="http://www.blogjava.net/WshmAndLily/articles/144121.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>为图片添加圆角与3D阴影</title><link>http://www.blogjava.net/WshmAndLily/articles/142148.html</link><dc:creator>semovy</dc:creator><author>semovy</author><pubDate>Sun, 02 Sep 2007 14:37:00 GMT</pubDate><guid>http://www.blogjava.net/WshmAndLily/articles/142148.html</guid><wfw:comment>http://www.blogjava.net/WshmAndLily/comments/142148.html</wfw:comment><comments>http://www.blogjava.net/WshmAndLily/articles/142148.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/WshmAndLily/comments/commentRss/142148.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/WshmAndLily/services/trackbacks/142148.html</trackback:ping><description><![CDATA[<a href="/Files/WshmAndLily/glossy.zip">为图片添加圆角与3D阴影</a>
<img src ="http://www.blogjava.net/WshmAndLily/aggbug/142148.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/WshmAndLily/" target="_blank">semovy</a> 2007-09-02 22:37 <a href="http://www.blogjava.net/WshmAndLily/articles/142148.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>