﻿<?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-Kelven Cheung-文章分类-HTML</title><link>http://www.blogjava.net/zhangrenquan/category/12648.html</link><description /><language>zh-cn</language><lastBuildDate>Thu, 15 Nov 2012 05:44:24 GMT</lastBuildDate><pubDate>Thu, 15 Nov 2012 05:44:24 GMT</pubDate><ttl>60</ttl><item><title>实现log4j日志文件在相对路径保存</title><link>http://www.blogjava.net/zhangrenquan/articles/284624.html</link><dc:creator>kelven</dc:creator><author>kelven</author><pubDate>Mon, 29 Jun 2009 08:11:00 GMT</pubDate><guid>http://www.blogjava.net/zhangrenquan/articles/284624.html</guid><wfw:comment>http://www.blogjava.net/zhangrenquan/comments/284624.html</wfw:comment><comments>http://www.blogjava.net/zhangrenquan/articles/284624.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhangrenquan/comments/commentRss/284624.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhangrenquan/services/trackbacks/284624.html</trackback:ping><description><![CDATA[<p><span class="Apple-style-span" style="font-weight: normal; font-size: 12px; word-spacing: 0px; text-transform: none; color: rgb(0,0,0); text-indent: 0px; line-height: 18px; font-style: normal; white-space: normal; letter-spacing: normal; border-collapse: separate; text-align: left; font-variant: normal; orphans: 2; widows: 2"><span class="hilite1" style="background-color: rgb(255,255,0)">Log4j</span>日志输出路径只能设定成绝对路径，这个在web项目中就变得很不方便了。<span class="Apple-converted-space"> </span><br />
比如我想要设定日志保存在webapp/log<span class="Apple-converted-space"> </span><br />
<br />
参考了网上资料：<span class="Apple-converted-space"> </span><br />
<a style="color: rgb(16,138,198); text-decoration: underline" href="http://hi.baidu.com/suofang/blog/item/6cf2befbd1ff07234f4aea90.html" target="_blank">http://hi.baidu.com/suofang/blog/item/6cf2befbd1ff07234f4aea90.html</a><span class="Apple-converted-space"> </span><br />
下面是引入内容：<span class="Apple-converted-space"> </span><br />
<br />
方法一主要是扩展了<span class="hilite1" style="background-color: rgb(255,255,0)">log4j</span>的RollingFileAppender类，其他的FileAppender同样道理。扩展的方法，就是用一个子类去覆盖setFile方法，这个方法在<span class="hilite1" style="background-color: rgb(255,255,0)">log4j</span>读取配置文件生成appender的时候调用，传入的就是配置文件中的路径，这样我就可以按照自己的想法在路径前面加上根路径了。这种方法可以在<span class="hilite1" style="background-color: rgb(255,255,0)">log4j</span>.properties中用相对路径自由配置<span class="hilite1" style="background-color: rgb(255,255,0)">log4j</span>.appender.A1.File属性来决定生成的日志相对web应用根目录的位置。<span class="Apple-converted-space"> </span><br />
<br />
方法二是利用服务器vm中已经存在的环境变量如${catalina.home}来设置相对于${catalina.home}的日志路径，日志只能放到服务器子目录里，而且如果是用的其它服务器，则要改对应的环境变量。此方法平台移植不方便。<span class="Apple-converted-space"> </span><br />
<br />
方法三是扩展ActionServlet类，覆盖其init()方法，新方法中载入<span class="hilite1" style="background-color: rgb(255,255,0)">log4j</span>.properties位置的参数，可以自由配置<span class="hilite1" style="background-color: rgb(255,255,0)">log4j</span>的配置文件的名字和存放位置。也可自由配置<span class="hilite1" style="background-color: rgb(255,255,0)">log4j</span>日志文件的相对于当前应用的路径。<span class="Apple-converted-space"> </span><br />
<br />
对于第三个方法，作者提出了个问题：<span class="Apple-converted-space"> </span><br />
<span class="hilite1" style="background-color: rgb(255,255,0)">log4j</span>配置文件的位置，不让其在<span class="hilite2" style="background-color: rgb(85,255,85)">web-inf</span>/classes目录，因为在加载此Servlet之前，服务器如tomcat启动时会自动搜索<span class="hilite2" style="background-color: rgb(85,255,85)">web-inf</span>目录和<span class="hilite2" style="background-color: rgb(85,255,85)">web-inf</span>/classes目录中<span class="hilite1" style="background-color: rgb(255,255,0)">log4j</span>.properties文件，如有则自动加载。<span class="hilite1" style="background-color: rgb(255,255,0)">log4j</span>属性文件加载后,由于该属性文件中<span class="hilite1" style="background-color: rgb(255,255,0)">log4j</span>.appender.A1.File的值用的是相对路径，自动加载配置便会出错：<span class="Apple-converted-space"> </span><br />
<span class="hilite1" style="background-color: rgb(255,255,0)">log4j</span>:ERROR setFile(null,true) call failed.<span class="Apple-converted-space"> </span><br />
java.io.FileNotFoundException:<span class="Apple-converted-space"> </span><span class="hilite2" style="background-color: rgb(85,255,85)">WEB-INF</span>\logs\bysxxglxt.log<span class="Apple-converted-space"> </span><br />
(系统找不到指定的路径。)<span class="Apple-converted-space"> </span><br />
<br />
尽管后面加载扩展的ActionServlet中正确设置了<span class="hilite1" style="background-color: rgb(255,255,0)">log4j</span>属性文件并正常加载了，但还是报的这个错，怪不爽的。只有更改<span class="hilite1" style="background-color: rgb(255,255,0)">log4j</span>属性文件名字或者更改其存放位置，让其不能自动加载了，不过还是有两个警告：<span class="Apple-converted-space"> </span><br />
<span class="hilite1" style="background-color: rgb(255,255,0)">log4j</span>:WARN No appenders could be found for logger (org.apache.commons.digester.Digester.sax).<span class="Apple-converted-space"> </span><br />
<span class="hilite1" style="background-color: rgb(255,255,0)">log4j</span>:WARN Please initialize the<span class="Apple-converted-space"> </span><span class="hilite1" style="background-color: rgb(255,255,0)">log4j</span><span class="Apple-converted-space"> </span>system properly.<span class="Apple-converted-space"> </span><br />
<br />
新的发现：<span class="Apple-converted-space"> </span><br />
由于spring也会加载<span class="hilite1" style="background-color: rgb(255,255,0)">log4j</span>.properties，如果加载不到就往控制台打log信息，总觉得有些碍眼，于是想办法去掉。Spring提供了一个Log4jConfigListener，本身就能通过web.xml中配置来指定位置加载<span class="hilite1" style="background-color: rgb(255,255,0)">log4j</span>配置文件和log输出路径，注意该listener需要放在spring的Listener之前。<span class="Apple-converted-space"> </span><br />
事实上，Log4jConfigListener更适合<span class="hilite1" style="background-color: rgb(255,255,0)">log4j</span>在web工程中使用，原因如下：<span class="Apple-converted-space"> </span><br />
1. 动态的改变记录级别和策略，不需要重启Web应用，如《Effective Enterprise Java》所说。<span class="Apple-converted-space"> </span><br />
&nbsp;&nbsp; 2. 把log文件定在 /<span class="hilite2" style="background-color: rgb(85,255,85)">WEB-INF</span>/logs/ 而不需要写绝对路径。<span class="Apple-converted-space"> </span><br />
因为 系统把web目录的路径压入一个叫webapp.root的系统变量。这样写log文件路径时不用写绝对路径了.<span class="Apple-converted-space"> </span><br />
<span class="hilite1" style="background-color: rgb(255,255,0)">log4j</span>.appender.logfile.File=${webapp.root}/<span class="hilite2" style="background-color: rgb(85,255,85)">WEB-INF</span>/logs/myfuse.log<span class="Apple-converted-space"> </span><br />
&nbsp;&nbsp; 3. 可以把<span class="hilite1" style="background-color: rgb(255,255,0)">log4j</span>.properties和其他properties一起放在/<span class="hilite2" style="background-color: rgb(85,255,85)">WEB-INF</span>/ ，而不是Class-Path。<span class="Apple-converted-space"> </span><br />
&nbsp;&nbsp; 4.log4jRefreshInterval为60000表示 开一条watchdog线程每60秒扫描一下配置文件的变化;<span class="Apple-converted-space"> </span><br />
&nbsp;&nbsp; 在web.xml 添加<span class="Apple-converted-space"> </span><br />
</p>
<div class="dp-highlighter" style="padding-right: 1px; padding-left: 1px; font-size: 12px; padding-bottom: 1px; margin-left: 9px; overflow: auto; width: 97%; padding-top: 1px; background-color: transparent">
<div class="bar">
<div class="tools" style="padding-right: 3px; padding-left: 3px; font-weight: bold; padding-bottom: 3px; margin: 0px; color: black; padding-top: 3px; text-align: left">Xml代码<span class="Apple-converted-space"> </span></embed></div>
</div>
<ol class="dp-xml" style="border-right: rgb(209,215,220) 1px solid; padding-right: 0px; border-top: rgb(209,215,220) 1px solid; padding-left: 0px; font-size: 1em; padding-bottom: 2px; margin: 0px 0px 1px; border-left: rgb(209,215,220) 1px solid; color: rgb(43,145,175); line-height: 1.4em; padding-top: 2px; border-bottom: rgb(209,215,220) 1px solid; list-style-type: decimal; background-color: rgb(255,255,255)">
    <li style="padding-right: 0px; padding-left: 10px; font-size: 1em; padding-bottom: 0px; margin: 0px 0px 0px 38px; border-left: rgb(209,215,220) 1px solid; line-height: 18px; padding-top: 0px; background-color: rgb(250,250,250)"><span style="color: black"><span class="tag" style="font-weight: bold; color: rgb(0,102,153)">&lt;</span><span class="tag-name" style="font-weight: bold; color: rgb(0,102,153)">context-param</span><span class="tag" style="font-weight: bold; color: rgb(0,102,153)">&gt;</span><span style="color: black">&nbsp;&nbsp;</span></span>
    <li style="padding-right: 0px; padding-left: 10px; font-size: 1em; padding-bottom: 0px; margin: 0px 0px 0px 38px; border-left: rgb(209,215,220) 1px solid; line-height: 18px; padding-top: 0px; background-color: rgb(250,250,250)"><span style="color: black">&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag" style="font-weight: bold; color: rgb(0,102,153)">&lt;</span><span class="tag-name" style="font-weight: bold; color: rgb(0,102,153)">param-name</span><span class="tag" style="font-weight: bold; color: rgb(0,102,153)">&gt;</span><span style="color: black">log4jConfigLocation</span><span class="tag" style="font-weight: bold; color: rgb(0,102,153)">&lt;/</span><span class="tag-name" style="font-weight: bold; color: rgb(0,102,153)">param-name</span><span class="tag" style="font-weight: bold; color: rgb(0,102,153)">&gt;</span><span style="color: black">&nbsp;&nbsp;</span></span>
    <li style="padding-right: 0px; padding-left: 10px; font-size: 1em; padding-bottom: 0px; margin: 0px 0px 0px 38px; border-left: rgb(209,215,220) 1px solid; line-height: 18px; padding-top: 0px; background-color: rgb(250,250,250)"><span style="color: black">&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag" style="font-weight: bold; color: rgb(0,102,153)">&lt;</span><span class="tag-name" style="font-weight: bold; color: rgb(0,102,153)">param-value</span><span class="tag" style="font-weight: bold; color: rgb(0,102,153)">&gt;</span><span style="color: black"><span class="hilite2" style="color: black; background-color: rgb(85,255,85)">WEB-INF</span>/<span class="hilite1" style="color: black; background-color: rgb(255,255,0)">log4j</span>.properties</span><span class="tag" style="font-weight: bold; color: rgb(0,102,153)">&lt;/</span><span class="tag-name" style="font-weight: bold; color: rgb(0,102,153)">param-value</span><span class="tag" style="font-weight: bold; color: rgb(0,102,153)">&gt;</span><span style="color: black">&nbsp;&nbsp;</span></span>
    <li style="padding-right: 0px; padding-left: 10px; font-size: 1em; padding-bottom: 0px; margin: 0px 0px 0px 38px; border-left: rgb(209,215,220) 1px solid; line-height: 18px; padding-top: 0px; background-color: rgb(250,250,250)"><span style="color: black"><span class="tag" style="font-weight: bold; color: rgb(0,102,153)">&lt;/</span><span class="tag-name" style="font-weight: bold; color: rgb(0,102,153)">context-param</span><span class="tag" style="font-weight: bold; color: rgb(0,102,153)">&gt;</span><span style="color: black">&nbsp;&nbsp;</span></span>
    <li style="padding-right: 0px; padding-left: 10px; font-size: 1em; padding-bottom: 0px; margin: 0px 0px 0px 38px; border-left: rgb(209,215,220) 1px solid; line-height: 18px; padding-top: 0px; background-color: rgb(250,250,250)"><span style="color: black">&nbsp;&nbsp;</span>
    <li style="padding-right: 0px; padding-left: 10px; font-size: 1em; padding-bottom: 0px; margin: 0px 0px 0px 38px; border-left: rgb(209,215,220) 1px solid; line-height: 18px; padding-top: 0px; background-color: rgb(250,250,250)"><span style="color: black"><span class="tag" style="font-weight: bold; color: rgb(0,102,153)">&lt;</span><span class="tag-name" style="font-weight: bold; color: rgb(0,102,153)">context-param</span><span class="tag" style="font-weight: bold; color: rgb(0,102,153)">&gt;</span><span style="color: black">&nbsp;&nbsp;</span></span>
    <li style="padding-right: 0px; padding-left: 10px; font-size: 1em; padding-bottom: 0px; margin: 0px 0px 0px 38px; border-left: rgb(209,215,220) 1px solid; line-height: 18px; padding-top: 0px; background-color: rgb(250,250,250)"><span style="color: black">&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag" style="font-weight: bold; color: rgb(0,102,153)">&lt;</span><span class="tag-name" style="font-weight: bold; color: rgb(0,102,153)">param-name</span><span class="tag" style="font-weight: bold; color: rgb(0,102,153)">&gt;</span><span style="color: black">log4jRefreshInterval</span><span class="tag" style="font-weight: bold; color: rgb(0,102,153)">&lt;/</span><span class="tag-name" style="font-weight: bold; color: rgb(0,102,153)">param-name</span><span class="tag" style="font-weight: bold; color: rgb(0,102,153)">&gt;</span><span style="color: black">&nbsp;&nbsp;</span></span>
    <li style="padding-right: 0px; padding-left: 10px; font-size: 1em; padding-bottom: 0px; margin: 0px 0px 0px 38px; border-left: rgb(209,215,220) 1px solid; line-height: 18px; padding-top: 0px; background-color: rgb(250,250,250)"><span style="color: black">&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag" style="font-weight: bold; color: rgb(0,102,153)">&lt;</span><span class="tag-name" style="font-weight: bold; color: rgb(0,102,153)">param-value</span><span class="tag" style="font-weight: bold; color: rgb(0,102,153)">&gt;</span><span style="color: black">60000</span><span class="tag" style="font-weight: bold; color: rgb(0,102,153)">&lt;/</span><span class="tag-name" style="font-weight: bold; color: rgb(0,102,153)">param-value</span><span class="tag" style="font-weight: bold; color: rgb(0,102,153)">&gt;</span><span style="color: black">&nbsp;&nbsp;</span></span>
    <li style="padding-right: 0px; padding-left: 10px; font-size: 1em; padding-bottom: 0px; margin: 0px 0px 0px 38px; border-left: rgb(209,215,220) 1px solid; line-height: 18px; padding-top: 0px; background-color: rgb(250,250,250)"><span style="color: black"><span class="tag" style="font-weight: bold; color: rgb(0,102,153)">&lt;/</span><span class="tag-name" style="font-weight: bold; color: rgb(0,102,153)">context-param</span><span class="tag" style="font-weight: bold; color: rgb(0,102,153)">&gt;</span><span style="color: black">&nbsp;&nbsp;</span></span>
    <li style="padding-right: 0px; padding-left: 10px; font-size: 1em; padding-bottom: 0px; margin: 0px 0px 0px 38px; border-left: rgb(209,215,220) 1px solid; line-height: 18px; padding-top: 0px; background-color: rgb(250,250,250)"><span style="color: black">&nbsp;&nbsp;</span>
    <li style="padding-right: 0px; padding-left: 10px; font-size: 1em; padding-bottom: 0px; margin: 0px 0px 0px 38px; border-left: rgb(209,215,220) 1px solid; line-height: 18px; padding-top: 0px; background-color: rgb(250,250,250)"><span style="color: black"><span class="tag" style="font-weight: bold; color: rgb(0,102,153)">&lt;</span><span class="tag-name" style="font-weight: bold; color: rgb(0,102,153)">listener</span><span class="tag" style="font-weight: bold; color: rgb(0,102,153)">&gt;</span><span style="color: black">&nbsp;&nbsp;</span></span>
    <li style="padding-right: 0px; padding-left: 10px; font-size: 1em; padding-bottom: 0px; margin: 0px 0px 0px 38px; border-left: rgb(209,215,220) 1px solid; line-height: 18px; padding-top: 0px; background-color: rgb(250,250,250)"><span style="color: black">&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag" style="font-weight: bold; color: rgb(0,102,153)">&lt;</span><span class="tag-name" style="font-weight: bold; color: rgb(0,102,153)">listener-class</span><span class="tag" style="font-weight: bold; color: rgb(0,102,153)">&gt;</span><span style="color: black">org.springframework.web.util.Log4jConfigListener</span><span class="tag" style="font-weight: bold; color: rgb(0,102,153)">&lt;/</span><span class="tag-name" style="font-weight: bold; color: rgb(0,102,153)">listener-class</span><span class="tag" style="font-weight: bold; color: rgb(0,102,153)">&gt;</span><span style="color: black">&nbsp;&nbsp;</span></span>
    <li style="padding-right: 0px; padding-left: 10px; font-size: 1em; padding-bottom: 0px; margin: 0px 0px 0px 38px; border-left: rgb(209,215,220) 1px solid; line-height: 18px; padding-top: 0px; background-color: rgb(250,250,250)"><span style="color: black"><span class="tag" style="font-weight: bold; color: rgb(0,102,153)">&lt;/</span><span class="tag-name" style="font-weight: bold; color: rgb(0,102,153)">listener</span><span class="tag" style="font-weight: bold; color: rgb(0,102,153)">&gt;</span><span style="color: black">&nbsp;&nbsp; <br />
    </span></span></li>
</ol>
</div>
</span><img src ="http://www.blogjava.net/zhangrenquan/aggbug/284624.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhangrenquan/" target="_blank">kelven</a> 2009-06-29 16:11 <a href="http://www.blogjava.net/zhangrenquan/articles/284624.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>CSS控制图片等比放缩（IE,GOOGLE浏览器,FIREFOX测试通过）</title><link>http://www.blogjava.net/zhangrenquan/articles/284623.html</link><dc:creator>kelven</dc:creator><author>kelven</author><pubDate>Mon, 29 Jun 2009 08:07:00 GMT</pubDate><guid>http://www.blogjava.net/zhangrenquan/articles/284623.html</guid><wfw:comment>http://www.blogjava.net/zhangrenquan/comments/284623.html</wfw:comment><comments>http://www.blogjava.net/zhangrenquan/articles/284623.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/zhangrenquan/comments/commentRss/284623.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhangrenquan/services/trackbacks/284623.html</trackback:ping><description><![CDATA[img{ <br />
width:expression(this.width/this.height &gt; 126/96 ? 126 : (this.width*96/this.height));<br />
height:expression(this.width/this.height &gt; 126/96 ? (this.width*126/this.height) : 96);<br />
max-height:96px;<br />
max-width:126px;<br />
}<img src ="http://www.blogjava.net/zhangrenquan/aggbug/284623.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhangrenquan/" target="_blank">kelven</a> 2009-06-29 16:07 <a href="http://www.blogjava.net/zhangrenquan/articles/284623.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>支持多浏览器的半透明化CSS</title><link>http://www.blogjava.net/zhangrenquan/articles/284621.html</link><dc:creator>kelven</dc:creator><author>kelven</author><pubDate>Mon, 29 Jun 2009 08:03:00 GMT</pubDate><guid>http://www.blogjava.net/zhangrenquan/articles/284621.html</guid><wfw:comment>http://www.blogjava.net/zhangrenquan/comments/284621.html</wfw:comment><comments>http://www.blogjava.net/zhangrenquan/articles/284621.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhangrenquan/comments/commentRss/284621.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhangrenquan/services/trackbacks/284621.html</trackback:ping><description><![CDATA[<span class="Apple-style-span" style="font-weight: normal; font-size: 16px; word-spacing: 0px; text-transform: none; color: rgb(0,0,0); text-indent: 0px; line-height: normal; font-style: normal; white-space: normal; letter-spacing: normal; border-collapse: separate; font-variant: normal; orphans: 2; widows: 2"><span class="Apple-style-span" style="font-size: 14px; color: rgb(134,82,30); line-height: 24px">&nbsp; [转自:http://hi.baidu.com/paulau/blog/item/32139d90648f6884a977a4cd.html]<br />
<br />
<p style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px 0px 15px; text-indent: 2em; padding-top: 0px"><code style="padding-right: 2px; padding-left: 2px; font-size: 12px; padding-bottom: 1px; color: rgb(102,51,0); padding-top: 1px">opacity</code>是CSS 3里的一个属性，用来设定元素的透明度。当然现在还只有少部分浏览器支持。</p>
<p style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px 0px 15px; text-indent: 2em; padding-top: 0px">不过各个浏览器都有自己的私有属性来支持,其中包括老版本的Mozilla和Safari：</p>
<ul style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px 0px 10px 2em; padding-top: 0px; list-style-type: none">
    <li style="padding-right: 0px; background-position: -35px -251px; padding-left: 18px; background-image: url(http://fireyy.com/user/themes/bamboo/i/fireyy.png); padding-bottom: 0px; margin: 0px; padding-top: 0px; background-repeat: no-repeat">IE:<span class="Apple-converted-space"> </span><code style="padding-right: 2px; padding-left: 2px; font-size: 12px; padding-bottom: 1px; color: rgb(102,51,0); padding-top: 1px">filter:alpha(opacity)</code>
    <li style="padding-right: 0px; background-position: -35px -251px; padding-left: 18px; background-image: url(http://fireyy.com/user/themes/bamboo/i/fireyy.png); padding-bottom: 0px; margin: 0px; padding-top: 0px; background-repeat: no-repeat">Mozilla:<span class="Apple-converted-space"> </span><code style="padding-right: 2px; padding-left: 2px; font-size: 12px; padding-bottom: 1px; color: rgb(102,51,0); padding-top: 1px">-moz-opacity</code>
    <li style="padding-right: 0px; background-position: -35px -251px; padding-left: 18px; background-image: url(http://fireyy.com/user/themes/bamboo/i/fireyy.png); padding-bottom: 0px; margin: 0px; padding-top: 0px; background-repeat: no-repeat">Safari:<span class="Apple-converted-space"> </span><code style="padding-right: 2px; padding-left: 2px; font-size: 12px; padding-bottom: 1px; color: rgb(102,51,0); padding-top: 1px">-khtml-opacity</code> </li>
</ul>
<p style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px 0px 15px; text-indent: 2em; padding-top: 0px">很不幸的是，你没看见Opera，老版本的Opera并没有什么私有属性可以代替<code style="padding-right: 2px; padding-left: 2px; font-size: 12px; padding-bottom: 1px; color: rgb(102,51,0); padding-top: 1px">opacity</code>。（新版Opera已经支持<code style="padding-right: 2px; padding-left: 2px; font-size: 12px; padding-bottom: 1px; color: rgb(102,51,0); padding-top: 1px">opacity</code>）</p>
<p style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px 0px 15px; text-indent: 2em; padding-top: 0px">所以以前用CSS设定一个元素半透明的话，可能会这样写:</p>
<pre style="padding-right: 10px; display: block; padding-left: 10px; font-size: 12px; padding-bottom: 10px; margin: 0px 0px 10px; overflow: hidden; color: rgb(102,51,0); padding-top: 10px; text-shadow: 0px 1px 0px rgb(102, 51, 0)"><code style="padding-right: 2px; padding-left: 2px; font-size: 12px; padding-bottom: 1px; color: rgb(227,210,156); padding-top: 1px; background-color: transparent"><br />
.opacity{<br />
filter:alpha(opacity=50);       /* IE */<br />
-moz-opacity:0.5;              /* 老版Mozilla */<br />
-khtml-opacity:0.5;              /* 老版Safari */<br />
opacity: 0.5;           /* 支持opacity的浏览器*/<br />
}<br />
</code></pre>
<p style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px 0px 15px; text-indent: 2em; padding-top: 0px">用javascript来设定一个元素为半透明:</p>
<pre style="padding-right: 10px; display: block; padding-left: 10px; font-size: 12px; padding-bottom: 10px; margin: 0px 0px 10px; overflow: hidden; color: rgb(102,51,0); padding-top: 10px; text-shadow: 0px 1px 0px rgb(102, 51, 0)"><code style="padding-right: 2px; padding-left: 2px; font-size: 12px; padding-bottom: 1px; color: rgb(227,210,156); padding-top: 1px; background-color: transparent"><br />
object.filter = "alpha(opacity=" + opacity + ")";  /* IE */<br />
object.MozOpacity = (opacity / 100);    /* 老版Mozilla */<br />
object.KhtmlOpacity = (opacity / 100);    /* 老版Safari */<br />
object.opacity = (opacity / 100);    /* 支持opacity的浏览器*/<br />
</code></pre>
</span></span><img src ="http://www.blogjava.net/zhangrenquan/aggbug/284621.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhangrenquan/" target="_blank">kelven</a> 2009-06-29 16:03 <a href="http://www.blogjava.net/zhangrenquan/articles/284621.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Div+CSS布局入门教程(一)</title><link>http://www.blogjava.net/zhangrenquan/articles/81920.html</link><dc:creator>kelven</dc:creator><author>kelven</author><pubDate>Sat, 18 Nov 2006 06:08:00 GMT</pubDate><guid>http://www.blogjava.net/zhangrenquan/articles/81920.html</guid><wfw:comment>http://www.blogjava.net/zhangrenquan/comments/81920.html</wfw:comment><comments>http://www.blogjava.net/zhangrenquan/articles/81920.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhangrenquan/comments/commentRss/81920.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhangrenquan/services/trackbacks/81920.html</trackback:ping><description><![CDATA[[摘录自：<a href="http://www.tblog.com.cn/article.asp?id=283">http://www.tblog.com.cn/article.asp?id=283</a>]<br /><br />一、页面布局与规划<br /><br />　　好久没有认真写点东西了，想起最近这些时间经常有朋友问到我有关于DIV+CSS布局的问题，其实归根结底还是由于没有入门造成的。那么接下来的这篇文章就带领大家入门吧...<br /><br />　　在网页制作中，有许多的术语，例如：CSS、HTML、DHTML、XHTML等等。在下面的文章中我们将会用到一些有关于HTML的基本知识，而在你学习这篇入门教程之前，请确定你已经具有了一定的HTML基础。下面我们就开始一步一步使用DIV+CSS进行网页布局设计吧。<br /><br />　　所有的设计第一步就是构思，构思好了，一般来说还需要用PhotoShop或FireWorks(以下简称PS或FW)等图片处理软件将需要制作的界面布局简单的构画出来，以下是我构思好的界面布局图。<br /><br /><img alt="" src="http://www.tblog.com.cn/attachments/month_0603/w2006318142229.jpg" border="0" /><br /><br />　　下面，我们需要根据构思图来规划一下页面的布局，仔细分析一下该图，我们不难发现，图片大致分为以下几个部分：<br />　　1、顶部部分，其中又包括了LOGO、MENU和一幅Banner图片；<br />　　2、内容部分又可分为侧边栏、主体内容；<br />　　3、底部，包括一些版权信息。<br />　　有了以上的分析，我们就可以很容易的布局了，我们设计层如下图：<br /><img alt="" src="http://www.tblog.com.cn/attachments/month_0603/72006318142329.jpg" border="0" /><br /><br />　　根据上图，我再画了一个实际的页面布局图，说明一下层的嵌套关系，这样理解起来就会更简单了。<br /><br /><img alt="" src="http://www.tblog.com.cn/attachments/month_0603/j200631814242.gif" border="0" /><br />　　DIV结构如下：<br />　　│body {}　/*这是一个HTML元素，具体我就不说明了*/<br />　　└#Container {}　/*页面层容器*/<br />　　　　　├#Header {}　/*页面头部*/<br />　　　　　├#PageBody {}　/*页面主体*/<br />　　　　　│　├#Sidebar {}　/*侧边栏*/<br />　　　　　│　└#MainBody {}　/*主体内容*/<br />　　　　　└#Footer {}　/*页面底部*/<br />　　至此，页面布局与规划已经完成，接下来我们要做的就是开始书写HTML代码和CSS。<br /><img src ="http://www.blogjava.net/zhangrenquan/aggbug/81920.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhangrenquan/" target="_blank">kelven</a> 2006-11-18 14:08 <a href="http://www.blogjava.net/zhangrenquan/articles/81920.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>div＋css布局入门</title><link>http://www.blogjava.net/zhangrenquan/articles/81919.html</link><dc:creator>kelven</dc:creator><author>kelven</author><pubDate>Sat, 18 Nov 2006 06:05:00 GMT</pubDate><guid>http://www.blogjava.net/zhangrenquan/articles/81919.html</guid><wfw:comment>http://www.blogjava.net/zhangrenquan/comments/81919.html</wfw:comment><comments>http://www.blogjava.net/zhangrenquan/articles/81919.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhangrenquan/comments/commentRss/81919.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhangrenquan/services/trackbacks/81919.html</trackback:ping><description><![CDATA[[摘录：<a href="http://www.tblog.com.cn/article.asp?id=189">http://www.tblog.com.cn/article.asp?id=189</a>]<br /><br />这是在网页设计师上看到的一篇文章，很适合入门div＋css布局的人看，转了过来收藏，hoho～～<br /><br />你正在学习CSS布局吗？是不是还不能完全掌握纯CSS布局？通常有两种情况阻碍你的学习：<br /><br />第一种可能是你还没有理解CSS处理页面的原理。在你考虑你的页面整体表现效果前，你应当先考虑内容的语义和结构，然后再针对语义、结构添加CSS。这篇文章将告诉你应该怎样把HTML结构化。<br /><br />另一种原因是你对那些非常熟悉的表现层属性(例如：cellpadding,、hspace、align="left"等等)束手无策，不知道该转换成对应的什么CSS语句。当你解决了第一种问题，知道了如何结构化你的HTML，我再给出一个列表，详细列出原来的表现属性用什么CSS来代替。<br /><br />结构化HTML<br />我们在刚学习网页制作时，总是先考虑怎么设计，考虑那些图片、字体、颜色、以及布局方案。然后我们用Photoshop或者Fireworks画出来、切割成小图。最后再通过编辑HTML将所有设计还原表现在页面上。<br /><br />如果你希望你的HTML页面用CSS布局(是CSS-friendly的)，你需要回头重来，先不考虑“外观”，要先思考你的页面内容的语义和结构。<br /><br />外观并不是最重要的。一个结构良好的HTML页面可以以任何外观表现出来，CSS Zen Garden是一个典型的例子。CSS Zen Garden帮助我们最终认识到CSS的强大力量。<br /><br />HTML不仅仅只在电脑屏幕上阅读。你用photoshop精心设计的画面可能不能显示在PDA、移动电话和屏幕阅读机上。但是一个结构良好的HTML页面可以通过CSS的不同定义，显示在任何地方，任何网络设备上。<br /><br />开始思考<br />首先要学习什么是"结构"，一些作家也称之为"语义"。这个术语的意思是你需要分析你的内容块，以及每块内容服务的目的，然后再根据这些内容目的建立起相应的HTML结构。<br /><br />如果你坐下来仔细分析和规划你的页面结构，你可能得到类似这样的几块：<br /><br />标志和站点名称 <br />主页面内容 <br />站点导航(主菜单) <br />子菜单 <br />搜索框 <br />功能区(例如购物车、收银台) <br />页脚(版权和有关法律声明) <br />我们通常采用DIV元素来将这些结构定义出来，类似这样：<br /><br />&lt;div id="header"&gt;&lt;/div&gt;<br /><br />&lt;div id="content"&gt;&lt;/div&gt;<br /><br />&lt;div id="globalnav"&gt;&lt;/div&gt;<br /><br />&lt;div id="subnav"&gt;&lt;/div&gt;<br /><br />&lt;div id="search"&gt;&lt;/div&gt;<br /><br />&lt;div id="shop"&gt;&lt;/div&gt;<br /><br />&lt;div id="footer"&gt;&lt;/div&gt; <br /><br />这不是布局，是结构。这是一个对内容块的语义说明。当你理解了你的结构，就可以加对应的ID在DIV上。DIV容器中可以包含任何内容块，也可以嵌套另一个DIV。内容块可以包含任意的HTML元素---标题、段落、图片、表格、列表等等。<br /><br />根据上面讲述的，你已经知道如何结构化HTML，现在你可以进行布局和样式定义了。每一个内容块都可以放在页面上任何地方，再指定这个块的颜色、字体、边框、背景以及对齐属性等等。<br /><br />使用选择器是件美妙的事<br />id的名称是控制某一内容块的手段,通过给这个内容块套上DIV并加上唯一的id,你就可以用CSS选择器来精确定义每一个页面元素的外观表现,包括标题、列表、图片、链接或者段落等等。例如你为#header写一个CSS规则，就可以完全不同于#content里的图片规则。<br /><br />另外一个例子是：你可以通过不同规则来定义不同内容块里的链接样式。类似这样：#globalnav a:link或者 #subnav a:link或者#content a:link。你也可以定义不同内容块中相同元素的样式不一样。例如，通过#content p和#footer p分别定义#content和#footer中p的样式。从结构上讲，你的页面是由图片、链接、列表、段落等组成的，这些元素本身并不会对显示在什么网络设备中(PDA还是手机或者网络电视)有影响，它们可以被定义为任何的表现外观。<br /><br />一个仔细结构化的HTML页面非常简单，每一个元素都被用于结构目的。当你想缩进一个段落，不需要使用blockquote标签，只要使用p标签，并对p加一个CSS的margin规则就可以实现缩进目的。p是结构化标签，margin是表现属性，前者属于HTML，后者属于CSS。(这就是结构于表现的相分离.)<br /><br />良好结构的HTML页面内几乎没有表现属性的标签。代码非常干净简洁。例如，原先的代码&lt;table width="80%" cellpadding="3" border="2" align="left"&gt;，现在可以只在HTML中写&lt;table&gt;，所有控制表现的东西都写到CSS中去，在结构化的HTML中，table就是表格，而不是其他什么(比如被用来布局和定位)。<br /><br />亲自实践一下结构化<br />上面说的只是最基本的结构，实际应用中，你可以根据需要来调整内容块。常常会出现DIV嵌套的情况，你会看到"container"层中又有其它层，结构类似这样：<br /><br />&lt;div id="navcontainer"&gt;<br /><br />&lt;div id="globalnav"&gt;<br /><br />&lt;ul&gt;a list&lt;/ul&gt;<br /><br />&lt;/div&gt;<br /><br />&lt;div id="subnav"&gt;<br /><br />&lt;ul&gt;another list&lt;/ul&gt;<br /><br />&lt;/div&gt;<br /><br />&lt;/div&gt; <br /><br />嵌套的div元素允许你定义更多的CSS规则来控制表现，例如：你可以给#navcontainer一个规则让列表居右，再给#globalnav一个规则让列表居左，而给#subnav的list另一个完全不同的表现。<br /><br />用CSS替换传统方法<br />下面的列表将帮助你用CSS替换传统方法：<br /><br />HTML属性以及相对应的CSS方法<br />HTML属性  CSS方法  说明 <br />align="left"<br /><br />align="right"  float: left; <br /><br />float: right;  使用CSS可以浮动 任何元素:图片、段落、div、标题、表格、列表等等 <br /><br />当你使用float属性，必须给这个浮动元素定义一个宽度。<br /><br />marginwidth="0" leftmargin="0" marginheight="0" topmargin="0" margin: 0;  使用CSS, margin可以设置在任何元素上, 不仅仅是body元素.更重要的，你可以分别指定元素的top, right, bottom和left的margin值。<br /><br />vlink="#333399" alink="#000000" link="#3333FF" a:link #3ff;<br /><br />a:visited: #339;<br /><br />a:hover: #999;<br /><br />a:active: #00f; <br />在HTML中，链接的颜色作为body的一个属性值定义。整个页面的链接风格都一样。使用CSS的选择器，页面不同部分的链接样式可以不一样。<br /><br />bgcolor="#FFFFFF" background-color: #fff;  在CSS中，任何元素都可以定义背景颜色，不仅仅局限于body和table元素。<br /><br />bordercolor="#FFFFFF" border-color: #fff; 任何元素都可以设置边框(boeder)，你可以分别定义top, right, bottom和left<br /><br />border="3"<br /><br />cellspacing="3"  border-width: 3px;  用CSS，你可以定义table的边框为统一样式，也可以分别定义top, right, bottom and left边框的颜色、尺寸和样式。 <br /><br />你可以使用 table, td or th 这些选择器. <br /><br />如果你需要设置无边框效果，可以使用CSS定义： border-collapse: collapse;<br /><br />&lt;br clear="left"&gt;<br /><br />&lt;br clear="right"&gt;<br /><br />&lt;br clear="all"&gt; <br />clear: left;<br /><br />clear: right;<br /><br />clear: both; <br />许多2列或者3列布局都使用 float属性来定位。如果你在浮动层中定义了背景颜色或者背景图片，你可以使用clear属性.<br /><br />cellpadding="3"<br /><br />vspace="3"<br /><br />hspace="3"  padding: 3px;  用CSS，任何元素都可以设定padding属性，同样，padding可以分别设置top, right, bottom and left。padding是透明的。<br /><br />align="center" text-align: center;<br /><br />margin-right: auto; margin-left: auto; <br />Text-align 只适用于文本. <br /><br />象div，p这样的块级怨毒可以通过margin-right: auto; 和margin-left: auto;来水平居中<br /><br /><br />一些令人遗憾的技巧和工作环境<br />由于浏览器对CSS支持的不完善，我们有时候不得不采取一些技巧(hacks)或建立一种环境(Workarounds)来让CSS实现传统方法同样的效果。例如块级元素有时侯需要使用水平居中的技巧，盒模型bug的技巧等等。所有这些技巧都在Molly Holzschlag的文章《Integrated Web Design: Strategies for Long-Term CSS Hack Management》中有详细说明。<br /><br />另外一个关于CSS技巧的资源站点是Big John和Holly Bergevin的“Position is Everything”。<br /><br />理解浮动行为<br />Eric Meyer的《Containing Floats》将帮助你掌握如何使用float属性布局。float元素有时候需要清除(clear)，阅读《How To Clear Floats Without Structural Markup》将非常有帮助。<br /><br />更多帮助<br />已有的《CSS Discussion》列表是很好的资源，它收集了一个WiKiA讨论组的信息，其中包括CSS布局总结(css-discuss.incutio.com/?page=CssLayouts)，CSS 技巧总结 (css-discuss.incutio.com/?page=CssHack) 以及更多 <br /><br /><img src ="http://www.blogjava.net/zhangrenquan/aggbug/81919.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhangrenquan/" target="_blank">kelven</a> 2006-11-18 14:05 <a href="http://www.blogjava.net/zhangrenquan/articles/81919.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>提高页面显示速度的秘技</title><link>http://www.blogjava.net/zhangrenquan/articles/81918.html</link><dc:creator>kelven</dc:creator><author>kelven</author><pubDate>Sat, 18 Nov 2006 06:03:00 GMT</pubDate><guid>http://www.blogjava.net/zhangrenquan/articles/81918.html</guid><wfw:comment>http://www.blogjava.net/zhangrenquan/comments/81918.html</wfw:comment><comments>http://www.blogjava.net/zhangrenquan/articles/81918.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhangrenquan/comments/commentRss/81918.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhangrenquan/services/trackbacks/81918.html</trackback:ping><description><![CDATA[<div class="Content-body Content-bodyLink" id="logPanel">提高页面显示速度的秘技 <br /><br /><br />在安排Web页面的布局时，最常用的方法之一是用HTML表格界定页面的结构。例如，假设Web页面由顶端的导航条和它下面的两栏（列）构成——左边的列是一个导航条，右边的列是实际安置内容的区域。对于这样一个页面，我们可以用一个两行、两列的大表格进行布局：在第一行中，合并两个列然后放上顶端导航表格；在第二个行中，左边的列放上一个显示导航按钮的表格，右边的列再用一个表格显示页面的实际内容。用这种表格嵌套表格的方法进行布局可以得到非常好的效果。<br /><br />要制作出这种页面，我们可以使用如下HTML代码<br />　 <br />&lt; TABLE BORDER="0" &gt; &lt; TR &gt; &lt; TD COLSPAN="2" &gt;&lt; !-- 顶端导航条的内容 -- &gt;&lt; /TD &gt;&lt; /TR &gt; &lt; TR &gt; &lt; TD ALIGN="LEFT" VALIGN="TOP" &gt;&lt; !-- 左边导航条的内容 -- &gt;&lt; /TD &gt; &lt;TD ALIGN="LEFT" VALIGN="TOP" &gt;&lt; !-- 页面内容区域 -- &gt;&lt; /TD &gt; &lt; /TR &gt; &lt; /TABLE &gt;　<br /><br /><br />如果浏览器发现页面中有一个TABLE标记，在接收到对应的结束标记&lt; /TABLE&gt;之前它不会显示这个表格。因此，如果整个页面都放入了一个大表格中，在浏览器下载这个大表格的&lt; /TABLE&gt;标记之前整个页面都不会显示。当显示内容非常多的页面时（例如，搜索结果或者电子商务网站上的产品目录），表格的延迟显示会导致整个页面显示的停顿。 <br /><br />　　为了避免出现这种情况，我们应该把页面划分成多个较小且独立的表格区域。这样的话，每个表格的HTML代码下载之后浏览器就可以立即显示它。对于浏览者来说，页面将在屏幕上一部分、一部分地逐渐显示出来。而且更重要的是，这种页面在屏幕上开始显示的速度要比前面等待整个页面下载才显示的方法快得多。<br /><br />　　对于前面介绍的例子，我们不是使用单个大表格进行页面布局，而是使用三个独立的表格：第一个表格显示页面顶端的导航条，使其具有足够的宽度显示页面内容并完整地给出其&lt;TABLE &gt;&lt; /TABLE&gt;标记对；在第一个表格的左下位置安排第二个表格，使这个表格向左对齐；最后一个表格位于第二个表格的右边，用于放置页面内容。由于现在每一部分都是一个独立的表格，浏览器只要下载了任一部分的代码就会立即显示它。因此，页面顶端和左面的导航条将比页面其余部分更快地显示出来。这就避免了让浏览者长时间地在空白页面前等待，而是给了他这样一种印象：页面已经开始下载，整个页面将立刻出现在屏幕上。<br /><br />　　修改后的布局代码如下所示：　<br /><br />　<br />&lt; TABLE BORDER="0" WIDTH="100%" &gt; &lt; TR &gt; &lt; TD ALIGN="CENTER" VALIGN="TOP"&gt;&lt; !-- 顶端导航条的内容 -- &gt;&lt; /TD &gt; &lt; /TR &gt; &lt; /TABLE &gt; &lt; TABLE BORDER="0"ALIGN="LEFT" &gt; &lt; TR &gt; &lt; TD ALIGN="LEFT" VALIGN="TOP" &gt;&lt; !-- 左边导航条的内容 -- &gt;&lt;/TD &gt; &lt; /TR &gt; &lt; /TABLE &gt; &lt; TABLE BORDER="0" &gt; &lt; TR &gt; &lt; TD ALIGN="LEFT"VALIGN="TOP" &gt;&lt; !-- 页面内容区域 -- &gt;&lt; /TD &gt; &lt; /TR &gt; &lt; /TABLE &gt; 　<br /><br /><br />正如尽可能早地关闭TABLE标记使得浏览器能够快速地显示出表格中的数据，还有另外两个标记也同样可以用这种方法提高显示速度，这两个标记就是用于制作列表框的&lt;OPTION &gt;标记和用于制作无序列表的&lt; LI &gt;标记。<br /><br />ASP程序员常常要访问数据库获取数据然后用&lt; OPTION &gt;标记构造列表框。只要简单地改动一下代码关闭&lt;OPTION &gt;标记，就可以让浏览器显示页面的速度加快。 <br /><br />　　例如，原先使用下面的代码： 　 <br /><br />　<br />Do while not objRS.EOF strOptionList = strOptionList &amp; "&lt; OPTIONVALUE=""" &amp; objRS("ID") &amp; _ """ &gt;" &amp; objRS("ProductName") objRS.MoveNextLoop Response.Write "&lt; SELECT SIZE=""1"" &gt;" &amp; strOptionList &amp; "&lt; /SELECT &gt;"　<br /><br /><br />　　现在只需改动一行代码： 　 <br /><br />　<br /><br />　<br />Do while not objRS.EOF strOptionList = strOptionList &amp; "&lt; OPTIONVALUE=""" &amp; objRS("ID") &amp; _ """ &gt;" &amp; objRS("ProductName") &amp; "&lt; /OPTION &gt;"objRS.MoveNext Loop Response.Write "&lt; SELECT SIZE=""1"" &gt;" &amp; strOptionList &amp;"" 　<br /><br /><br />　　如果原来使用的代码如下：　<br /><br />　<br />&lt; UL &gt; &lt; LI &gt;苹果 &lt; LI &gt;桔子 &lt; LI &gt;香蕉 &lt; /UL &gt; 　<br /><br /><br />　　那么现在改用： 　<br /><br />　<br />&lt; UL &gt; &lt; LI &gt;苹果&lt; /LI &gt; &lt; LI &gt;桔子&lt; /LI &gt; &lt; LI &gt;香蕉&lt; /LI &gt; &lt; /UL &gt; 　<br /><br /><br />　　经过这些改动之后，浏览器显示页面的速度将会更快。</div><img src ="http://www.blogjava.net/zhangrenquan/aggbug/81918.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhangrenquan/" target="_blank">kelven</a> 2006-11-18 14:03 <a href="http://www.blogjava.net/zhangrenquan/articles/81918.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在主页中制作会移动的文字</title><link>http://www.blogjava.net/zhangrenquan/articles/81917.html</link><dc:creator>kelven</dc:creator><author>kelven</author><pubDate>Sat, 18 Nov 2006 06:01:00 GMT</pubDate><guid>http://www.blogjava.net/zhangrenquan/articles/81917.html</guid><wfw:comment>http://www.blogjava.net/zhangrenquan/comments/81917.html</wfw:comment><comments>http://www.blogjava.net/zhangrenquan/articles/81917.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhangrenquan/comments/commentRss/81917.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhangrenquan/services/trackbacks/81917.html</trackback:ping><description><![CDATA[<br />基本语法：<br /><br />　　&lt;marquee&gt;需要移动的文字&lt;/marquee&gt;&lt;direction=＃&gt;<br /><br />　　1.方向＃=left, right<br /><br />　　例:&lt;marquee direction=left&gt;从右向左移动&lt;/marquee&gt;&gt;<br />　　 &lt;marquee direction=right&gt;从左向右移动&lt;/marquee&gt;&gt;<br /><br />　　2.次数&lt;bihavior=＃&gt;＃=scroll, slide, alternate<br /><br />　　例:&lt;marquee behavior=scroll&gt;一圈一圈的绕着移动&lt;/marquee&gt;&gt;<br />　　 &lt;marquee behavior=slide&gt;只移动一次就停&lt;/marquee&gt;&gt;&lt;marqueebehavior=alternate&gt;来回移动，不停&lt;/marquee&gt;&gt;<br /><br />　　3.循环&lt;loop=＃&gt;＃=次数，若未指定则循环不止(infinite)<br /><br />　　例:&lt;marquee loop=3 width=50％behavior=scroll&gt;只走3趟&lt;/marquee&gt;<br /><br />　　4.速度加快&lt;scrollamount=＃&gt;<br /><br />　　例:&lt;marquee scrollamount=20&gt;移动速度加快&lt;/marquee&gt;&gt;<br /><br />　　5.速度减慢&lt;scrolldelay=＃&gt;<br /><br />　　例:&lt;marquee scrolldelay=500 scrollamount=100&gt;移动速度减慢&lt;/marquee&gt;<br />　　 <br />　　 6.底色&lt;bgcolor=＃&gt;＃=rrggbb 16进制数码，或者是下列预定义色彩<br />：Black, Olive, Teal, Red, Blue, Maroon, Navy, Gray, Lime,<br />Fuchsia,White, Green, Purple, Silver, Yellow, Aqua<br /><br />　　例:&lt;marquee bgcolor=red&gt;是红色的&lt;/marquee&gt;<br /><br />　　7.面积&lt;height=＃width=＃&gt;<br /><br />　　例:&lt;marquee height=80 bgcolor=red&gt;面积变大了&lt;/marquee&gt; <br /> <br /><img src ="http://www.blogjava.net/zhangrenquan/aggbug/81917.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhangrenquan/" target="_blank">kelven</a> 2006-11-18 14:01 <a href="http://www.blogjava.net/zhangrenquan/articles/81917.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>你可能不知道的CSS语法技巧（转）</title><link>http://www.blogjava.net/zhangrenquan/articles/62162.html</link><dc:creator>kelven</dc:creator><author>kelven</author><pubDate>Mon, 07 Aug 2006 06:06:00 GMT</pubDate><guid>http://www.blogjava.net/zhangrenquan/articles/62162.html</guid><wfw:comment>http://www.blogjava.net/zhangrenquan/comments/62162.html</wfw:comment><comments>http://www.blogjava.net/zhangrenquan/articles/62162.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhangrenquan/comments/commentRss/62162.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhangrenquan/services/trackbacks/62162.html</trackback:ping><description><![CDATA[1. CSS字体定义简写规则<br />一般的写法会是这样：<br /><br />font-weight: bold;<br />font-style: italic;<br />font-varient: small-caps;<br />font-size: 1em;<br />line-height: 1.5em;<br />font-family: verdana,sans-serif <br /><br />而实际上你可以用更简洁的写法：<br /><br />font: bold italic small-caps 1em/1.5em verdana,sans-serif<br /><br />是不是更省事？不过使用这种简写需要注意几点：要使简写定义有效必须至少提供 font-size 和 font-family 这两个属性；同时font-weight, font-style 以及 font-varient 这几个属性如果不做设定的话将默认为normal。<br /><br />2. 同时使用两个Class定义<br />一般我们只会给内容块指定一个Class，但这并不代表我们只能指定一个。实际上只要你愿意，可以同时把任意多个Class赋给某块内容。比如：<br /><br />&lt;p class="text side"&gt;...&lt;/p&gt;<br /><br />多个Class之间用空格分隔即可。当多个Class之间的属性发生重叠的时候，将根据各个Class在CSS定义文件中被定义的位置，后定义的Class属性自动覆盖之前定义的Class属性（而不是根据你在class="text side"这里排列的顺序来进行覆盖）<br /><br />3. CSS border的缺省值<br />通常我们定义border属性都会提供color,width,style这些属性。比如 border: 3px solid #000 。不过实际上必须要提供的属性只有style。如果你只写 border: solid 的话，其他的属性自动使用缺省值。border的缺省宽度是medium(大约3px-4px)，缺省的颜色是位于border里面的内容文字的颜色。如果这些缺省值可以满足你的要求，你完全可以省略这两项属性。<br /><br />4. 专门用于打印的CSS文档<br />很多web页面都会提供一个打印链接，方便用户使用另一种适合打印界面的CSS。但实际上你完全可以为你的页面指定两个CSS文档link，这样浏览器会自动调用合适的CSS来用于显示或打印。比如：<br /><br />&lt;link type="text/css" rel="stylesheet" href="stylesheet.css" media="screen" /&gt;<br />&lt;link type="text/css" rel="stylesheet" href="printstyle.css" media="print" /&gt; <br /><br />通过指定link的media属性，浏览器就能根据需要来调用特定的CSS文件来处理页面了。关于打印更多的建议，请参见 Print Different,<br /><br />5. CSS中的内容垂直对齐<br />用传统的table来实现垂直对齐很容易，只要用 vertical-align: middle 就可以让table的内容垂直居中。但这个属性在CSS里面却行不通。<br />解决方法是把内容的行高设置成与内容块一样高。比如你的div高是32px，那就在你的CSS定义里面添加属性 line-height: 32px; 这样文字看上去就垂直居中于层里面了。不过这个方法只适用于单行文字，对于多行文字，似乎没有什么好方法。<br /><br />6. 让背景色能够垂直拉齐到底部<br />CSS与传统的table来说另一个让人不爽的地方是它的垂直层的对齐。如果你的页面分为两列，其中一列比较长而另一列比较短，同时两列的背景色和页面总的背景色是不同的话，显示出来的效果就比较丑陋，不像table那样只要把td的高度设成100%就能够把每一列的高度拉到一样长。<br />要解决这个问题似乎只能用一个取巧的办法，根据每列的宽度和背景色设置背景图片，让用户看上去似乎拉平了：<br /><br />body<br />{<br />background: url(blue-image.gif) 0 0 repeat-y<br />} <br /><br />7. block / inline 属性<br />任何一个HTML元素都是block或者inline的。<br />block元素的特性包括：<br /><br />总是另起一行开始显示 <br />height, line-height, top/bottom margin属性可以被设置 <br />width缺省值是100%,除非你指定了另外的width值 <br />这一类的HTML元素包括&lt;div&gt;, &lt;p&gt;, &lt;h1&gt;, &lt;form&gt;, &lt;ul&gt; 以及 &lt;li&gt;等。<br /><br />inline元素的特性包括：<br /><br />直接跟在当前行的后面显示 <br />height, line-height, top/bottom margin属性不能改变 <br />width值就等于包含其中的文字/图片的宽度，并且这个值不能被改变 <br />这一类的HTML元素包括&lt;span&gt;, &lt;a&gt;, &lt;label&gt;, &lt;input&gt;, &lt;img&gt;, &lt;strong&gt; 以及 &lt;em&gt;等。<br /><br />你可以通过设置元素属性display: inline 或 display: block来改变元素的以上特性。<br /><br />8. 设置页面的最小宽度<br />CSS语法中很有用的一个属性是 min-width 。通过这个属性你可以设置任何元素的最小宽度。也就是说你也可以用这个来限制页面显示的最小宽度。<br />但有个小问题是：IE浏览器无法为&lt;body&gt;元素设置min-width，因此要让这个属性起作用，我们需要走点弯路。<br />首先在&lt;body&gt;后面插入一个&lt;div&gt;：<br /><br />&lt;body&gt;<br />&lt;div class="container"&gt; <br /><br />然后在CSS定义里面定义最小宽度为600px：<br /><br />#container<br />{<br />min-width: 600px;<br />width:expression(document.body.clientWidth &lt; 600? "600px": "auto" );<br />} <br /><br />第一个属性是最小宽度定义的标准写法；第二个属性则是只有IE能够理解的javascript表达式。<br />你也可以同时设定页面的最大最小宽度：<br /><br />#container<br />{<br />min-width: 600px;<br />max-width: 1200px;<br />width:expression(document.body.clientWidth &lt; 600? "600px" : document.body.clientWidth &gt; 1200? "1200px" : "auto");<br />} <br /><br />9. Text-transform 属性<br />这个属性可能也是CSS当中用的人不多但却很有用处的属性之一。其常见的可用值包括：text-transform: uppercase, text-transform: lowercase 以及 text-transform: capitalize。第一个将把所有的字母转化成大写；第二个将把所有字母转成小写；第三个则把每个单词的首字母转成大写。不过对于非英文网站来说，这个功能确实就没什么用了。<br /><br />10. IE中消失的文字和图片<br />IE有个很莫名其妙的Bug：有时候文字或者背景图片死活显示不出来。如果你全选整个页面，会发现那些内容实际上还在那里，或者重新刷新一下页面显示就正常了。<br />通常来说这个问题都发生在那些跟在浮动元素后面显示的文字或背景图片身上。要解决这个问题，可以试试给你的那些消失的元素加上position: relative 属性。如果还不行，再试试设置一下width属性。一般来说这样做之后问题就解决了。<img src ="http://www.blogjava.net/zhangrenquan/aggbug/62162.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhangrenquan/" target="_blank">kelven</a> 2006-08-07 14:06 <a href="http://www.blogjava.net/zhangrenquan/articles/62162.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>隐藏html源码</title><link>http://www.blogjava.net/zhangrenquan/articles/61195.html</link><dc:creator>kelven</dc:creator><author>kelven</author><pubDate>Tue, 01 Aug 2006 06:08:00 GMT</pubDate><guid>http://www.blogjava.net/zhangrenquan/articles/61195.html</guid><wfw:comment>http://www.blogjava.net/zhangrenquan/comments/61195.html</wfw:comment><comments>http://www.blogjava.net/zhangrenquan/articles/61195.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhangrenquan/comments/commentRss/61195.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhangrenquan/services/trackbacks/61195.html</trackback:ping><description><![CDATA[<p>&lt;html&gt;<br />&lt;head&gt;<br />&lt;script&gt;<br />function clear() {<br />Source=document.body.firstChild.data;<br />document.open();<br />document.close();<br />document.body.innerHTML=Source;<br />}<br />&lt;/script&gt;<br />&lt;/head&gt;<br />&lt;body onload=clear()&gt;<br />网页的内容<br />&lt;/body&gt;<br />&lt;/html&gt;</p><img src ="http://www.blogjava.net/zhangrenquan/aggbug/61195.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhangrenquan/" target="_blank">kelven</a> 2006-08-01 14:08 <a href="http://www.blogjava.net/zhangrenquan/articles/61195.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>图片渐变轮换效果</title><link>http://www.blogjava.net/zhangrenquan/articles/61193.html</link><dc:creator>kelven</dc:creator><author>kelven</author><pubDate>Tue, 01 Aug 2006 06:06:00 GMT</pubDate><guid>http://www.blogjava.net/zhangrenquan/articles/61193.html</guid><wfw:comment>http://www.blogjava.net/zhangrenquan/comments/61193.html</wfw:comment><comments>http://www.blogjava.net/zhangrenquan/articles/61193.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhangrenquan/comments/commentRss/61193.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhangrenquan/services/trackbacks/61193.html</trackback:ping><description><![CDATA[<p>&lt;html&gt;<br />&lt;head&gt;<br />&lt;title&gt;图片渐变轮换效果&lt;/title&gt;<br />&lt;meta name="generator" content="editplus"&gt;<br />&lt;meta name="author" content=""&gt;<br />&lt;/head&gt;<br />&lt;body&gt;<br />&lt;p&gt;图片渐变轮换效果(IE),请等几秒钟看效果&lt;/p&gt;<br />&lt;a href="#" id="javascript.a"&gt;&lt;img src="<a href="http://www.12free.cn/mypic/1.JPG">http://www.12free.cn/kelven/mypic/1.JPG</a>" id="javascript.img" border=0 style="filter:blendTrans(duration=2)" width="240" height="180"&gt;&lt;/a&gt;<br />&lt;script&gt;<br />&lt;!--<br />var ImgSrc = new Array();//图片地址<br />ImgSrc[0] ="<a href="http://www.12free.cn/kelven/mypic/2.JPG">http://www.12free.cn/kelven/mypic/2.JPG</a>";<br />ImgSrc[1] = "<a href="http://www.12free.cn/mypic/3.JPG">http://www.12free.cn/kelven/mypic/3.JPG</a>";<br />ImgSrc[2] = "<a href="http://www.12free.cn/mypic/4.JPG">http://www.12free.cn/kelven/mypic/4.JPG</a>";<br />ImgSrc[3] ="<a href="http://www.12free.cn/mypic/5.JPG">http://www.12free.cn/kelven/mypic/5.JPG</a>";<br />ImgSrc[4] = "<a href="http://www.12free.cn/mypic/6.JPG">http://www.12free.cn/kelven/mypic/6.JPG</a>";<br />ImgSrc[5] = "<a href="http://www.12free.cn/mypic/7.JPG">http://www.12free.cn/kelven/mypic/7.JPG</a>";<br />ImgSrc[6] = "<a href="http://www.12free.cn/mypic/8.JPG">http://www.12free.cn/kelven/mypic/8.JPG</a>";<br />ImgSrc[7] = "<a href="http://www.12free.cn/mypic/9.JPG">http://www.12free.cn/kelven/mypic/9.JPG</a>";<br /><br />for (var i=0;i&lt;ImgSrc.length;i++){(new Image()).src = ImgSrc[i];}//预加载图片</p>
		<p>var ImgAlt = new Array();//鼠标放上去显示的文字<br />ImgAlt[0] = "美国《国家地理杂志》1"<br />ImgAlt[1] = "美国《国家地理杂志》2"<br />ImgAlt[2] = "美国《国家地理杂志》3"<br />ImgAlt[3] = "美国《国家地理杂志》4"<br />ImgAlt[4] = "美国《国家地理杂志》5"<br />ImgAlt[5] = "美国《国家地理杂志》6"<br />ImgAlt[6] = "美国《国家地理杂志》7"<br />ImgAlt[7] = "美国《国家地理杂志》8"</p>
		<p>var ImgHerf =  new Array();//链接<br />ImgHerf[0] = "<a href="http://www.12free.cn/kelven/mypic/Usa_geography/pic2006/page_01.htm">http://www.12free.cn/kelven/mypic/Usa_geography/pic2006/page_01.htm</a>"<br />ImgHerf[1] = "<a href="http://www.51windows.net/mypic/Usa_geography/pic2006/page_02.htm">http://www.12free.cn/kelven/mypic/Usa_geography/pic2006/page_02.htm</a>"<br />ImgHerf[2] = "<a href="http://www.51windows.net/mypic/Usa_geography/pic2006/page_03.htm">http://<font color="#0000ff">www.12free.cn/kelven</font>/mypic/Usa_geography/pic2006/page_03.htm</a>"<br />ImgHerf[3] = "<a href="http://www.51windows.net/mypic/Usa_geography/pic2006/page_04.htm">http://www.12free.cn/kelven/mypic/Usa_geography/pic2006/page_04.htm</a>"<br />ImgHerf[4] = "<a href="http://www.51windows.net/mypic/Usa_geography/pic2006/page_05.htm">http://www.12free.cn/kelven/mypic/Usa_geography/pic2006/page_05.htm</a>"<br />ImgHerf[5] = "<a href="http://www.51windows.net/mypic/Usa_geography/pic2006/page_06.htm">http://www.12free.cn/kelven/mypic/Usa_geography/pic2006/page_06.htm</a>"<br />ImgHerf[6] = "<a href="http://www.51windows.net/mypic/Usa_geography/pic2006/page_07.htm">http://www.12free.cn/kelven/mypic/Usa_geography/pic2006/page_07.htm</a>"<br />ImgHerf[7] = "<a href="http:///mypic/Usa_geography/pic2006/page_08.htm">http://www.12free.cn/kelven/mypic/Usa_geography/pic2006/page_08.htm</a>"</p>
		<p>var step=0;<br />function slideit(){<br /> var oImg = document.getElementById("javascript.img");<br /> if (document.all){oImg.filters.blendTrans.apply();}<br /> oImg.src=ImgSrc[step];<br /> document.getElementById("javascript.a").href=ImgHerf[step];<br /> oImg.title=ImgAlt[step];<br /> if (document.all){oImg.filters.blendTrans.play();}<br /> step = (step&lt;(ImgSrc.length-1))?(step+1):0;<br /> (new Image()).src = ImgSrc[step];//加载下一个图片<br />}<br />setInterval("slideit()",3000);<br />//--&gt;<br />&lt;/script&gt;<br />&lt;/body&gt;<br />&lt;/html&gt;</p><img src ="http://www.blogjava.net/zhangrenquan/aggbug/61193.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhangrenquan/" target="_blank">kelven</a> 2006-08-01 14:06 <a href="http://www.blogjava.net/zhangrenquan/articles/61193.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>网页特效－用层模拟的小窗</title><link>http://www.blogjava.net/zhangrenquan/articles/61186.html</link><dc:creator>kelven</dc:creator><author>kelven</author><pubDate>Tue, 01 Aug 2006 05:50:00 GMT</pubDate><guid>http://www.blogjava.net/zhangrenquan/articles/61186.html</guid><wfw:comment>http://www.blogjava.net/zhangrenquan/comments/61186.html</wfw:comment><comments>http://www.blogjava.net/zhangrenquan/articles/61186.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhangrenquan/comments/commentRss/61186.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhangrenquan/services/trackbacks/61186.html</trackback:ping><description><![CDATA[<p>&lt;html&gt;<br />&lt;head&gt;<br />&lt;title&gt;_xWin&lt;/title&gt;<br />&lt;meta http-equiv="Content-Type" content="text/html; charset=gb2312"&gt;<br />&lt;style type='text/css'&gt;<br />&lt;!--<br />body{font-size:12px;}<br />a:visited{text-decoration:none;color:slategray;}<br />a:hover{text-decoration:underline;color:slategray;}<br />a:link{text-decoration:none;color:slategray;}<br />--&gt;<br />&lt;/style&gt;<br />&lt;script language=JScript&gt;<br />&lt;!--<br />//可以打包为js文件;<br />var x0=0,y0=0,x1=0,y1=0;<br />var offx=6,offy=6;<br />var moveable=false;<br />var hover='orange',normal='#336699';//color;<br />var index=10000;//z-index;<br />//开始拖动;<br />function startDrag(obj)<br />{<br /> if(event.button==1)<br /> {<br />  //锁定标题栏;<br />  obj.setCapture();<br />  //定义对象;<br />  var win = obj.parentNode;<br />  var sha = win.nextSibling;<br />  //记录鼠标和层位置;<br />  x0 = event.clientX;<br />  y0 = event.clientY;<br />  x1 = parseInt(win.style.left);<br />  y1 = parseInt(win.style.top);<br />  //记录颜色;<br />  normal = obj.style.backgroundColor;<br />  //改变风格;<br />  obj.style.backgroundColor = hover;<br />  win.style.borderColor = hover;<br />  obj.nextSibling.style.color = hover;<br />  sha.style.left = x1 + offx;<br />  sha.style.top = y1 + offy;<br />  moveable = true;<br /> }<br />}<br />//拖动;<br />function drag(obj)<br />{<br /> if(moveable)<br /> {<br />  var win = obj.parentNode;<br />  var sha = win.nextSibling;<br />  win.style.left = x1 + event.clientX - x0;<br />  win.style.top = y1 + event.clientY - y0;<br />  sha.style.left = parseInt(win.style.left) + offx;<br />  sha.style.top = parseInt(win.style.top) + offy;<br /> }<br />}<br />//停止拖动;<br />function stopDrag(obj)<br />{<br /> if(moveable)<br /> {<br />  var win = obj.parentNode;<br />  var sha = win.nextSibling;<br />  var msg = obj.nextSibling;<br />  win.style.borderColor = normal;<br />  obj.style.backgroundColor = normal;<br />  msg.style.color = normal;<br />  sha.style.left = obj.parentNode.style.left;<br />  sha.style.top = obj.parentNode.style.top;<br />  obj.releaseCapture();<br />  moveable = false;<br /> }<br />}<br />//获得焦点;<br />function getFocus(obj)<br />{<br /> if(obj.style.zIndex!=index)<br /> {<br />  index = index + 2;<br />  var idx = index;<br />  obj.style.zIndex=idx;<br />  obj.nextSibling.style.zIndex=idx-1;<br /> }<br />}<br />//最小化;<br />function min(obj)<br />{<br /> var win = obj.parentNode.parentNode;<br /> var sha = win.nextSibling;<br /> var tit = obj.parentNode;<br /> var msg = tit.nextSibling;<br /> var flg = msg.style.display=="none";<br /> if(flg)<br /> {<br />  win.style.height = parseInt(msg.style.height) + parseInt(tit.style.height) + 2*2;<br />  sha.style.height = win.style.height;<br />  msg.style.display = "block";<br />  obj.innerHTML = "0";<br /> }<br /> else<br /> {<br />  win.style.height = parseInt(tit.style.height) + 2*2;<br />  sha.style.height = win.style.height;<br />  obj.innerHTML = "2";<br />  msg.style.display = "none";<br /> }<br />}<br />//创建一个对象;<br />function xWin(id,w,h,l,t,tit,msg)<br />{<br /> index = index+2;<br /> this.id = id;<br /> this.width = w;<br /> this.height = h;<br /> this.left = l;<br /> this.top = t;<br /> this.zIndex = index;<br /> this.title = tit;<br /> this.message = msg;<br /> this.obj = null;<br /> this.bulid = bulid;<br /> this.bulid();<br />}<br />//初始化;<br />function bulid()<br />{<br /> var str = ""<br />  + "&lt;div id=xMsg" + this.id + " "<br />  + "style='"<br />  + "z-index:" + this.zIndex + ";"<br />  + "width:" + this.width + ";"<br />  + "height:" + this.height + ";"<br />  + "left:" + this.left + ";"<br />  + "top:" + this.top + ";"<br />  + "background-color:" + normal + ";"<br />  + "color:" + normal + ";"<br />  + "font-size:8pt;"<br />  + "font-family:Tahoma;"<br />  + "position:absolute;"<br />  + "cursor:default;"<br />  + "border:2px solid " + normal + ";"<br />  + "' "<br />  + "onmousedown='getFocus(this)'&gt;"<br />   + "&lt;div "<br />   + "style='"<br />   + "background-color:" + normal + ";"<br />   + "width:" + (this.width-2*2) + ";"<br />   + "height:20;"<br />   + "color:white;"<br />   + "' "<br />   + "onmousedown='startDrag(this)' "<br />   + "onmouseup='stopDrag(this)' "<br />   + "onmousemove='drag(this)' "<br />   + "ondblclick='min(this.childNodes[1])'"<br />   + "&gt;"<br />    + "&lt;span style='width:" + (this.width-2*12-4) + ";padding-left:3px;'&gt;" + this.title + "&lt;/span&gt;"<br />    + "&lt;span style='width:12;border-width:0px;color:white;font-family:webdings;' onclick='min(this)'&gt;0&lt;/span&gt;"<br />    + "&lt;span style='width:12;border-width:0px;color:white;font-family:webdings;' onclick='ShowHide(\""+this.id+"\",null)'&gt;r&lt;/span&gt;"<br />   + "&lt;/div&gt;"<br />    + "&lt;div style='"<br />    + "width:100%;"<br />    + "height:" + (this.height-20-4) + ";"<br />    + "background-color:white;"<br />    + "line-height:14px;"<br />    + "word-break:break-all;"<br />    + "padding:3px;"<br />    + "'&gt;" + this.message + "&lt;/div&gt;"<br />  + "&lt;/div&gt;"<br />  + "&lt;div id=xMsg" + this.id + "bg style='"<br />  + "width:" + this.width + ";"<br />  + "height:" + this.height + ";"<br />  + "top:" + this.top + ";"<br />  + "left:" + this.left + ";"<br />  + "z-index:" + (this.zIndex-1) + ";"<br />  + "position:absolute;"<br />  + "background-color:black;"<br />  + "filter:alpha(opacity=40);"<br />  + "'&gt;&lt;/div&gt;";<br /> document.body.insertAdjacentHTML("beforeEnd",str);<br />}<br />//显示隐藏窗口<br />function ShowHide(id,dis){<br /> var bdisplay = (dis==null)?((document.getElementById("xMsg"+id).style.display=="")?"none":""):dis<br /> document.getElementById("xMsg"+id).style.display = bdisplay;<br /> document.getElementById("xMsg"+id+"bg").style.display = bdisplay;<br />}<br />//modify by haiwa @ 2005-7-14 <br />//<a href="http://www.51windows.net/" target="_blank">http://www.51windows.Net</a><br />//--&gt;<br />&lt;/script&gt;<br /><br />&lt;script language='JScript'&gt;<br />&lt;!--<br />function initialize()<br />{<br /> var a = new xWin("1",160,200,200,200,"窗口1","xWin &lt;br&gt; A Cool Pop Div Window&lt;br&gt;Version:1.0&lt;br&gt;2002-8-13");<br /> var b = new xWin("2",240,200,100,100,"窗口2","Welcome to visited my personal website:&lt;br&gt;&lt;a href=http://www.by159.com target=_blank&gt;<a href="http://www.by159.com/" target="_blank">http://www.by159.com</a>&lt;/a&gt;&lt;br&gt;and u can also sign my guestbook at:&lt;br&gt;&lt;a href=http://www.by159.com target=_blank&gt;<a href="http://www.by159.com/" target="_blank">http://www.by159.com</a>&lt;/a&gt;&lt;br&gt;&lt;br&gt;thx!!! =)...");<br /> var c = new xWin("3",200,160,250,50,"窗口3","Copyright by &lt;a href='<a href="http://www.by159.com/" target="_blank">http://www.by159.com</a>'&gt;by159&lt;/a&gt;!");<br /> ShowHide("1","none");//隐藏窗口1<br />}<br />window.onload = initialize;<br />//--&gt;<br />&lt;/script&gt;<br />&lt;/head&gt;<br />&lt;base target="_blank"&gt;<br />&lt;body onselectstart='return false' oncontextmenu='return false' &gt;<br />&lt;a onclick="ShowHide('1',null);return false;" href=""&gt;窗口1&lt;/a&gt;<br />&lt;a onclick="ShowHide('2',null);return false;" href=""&gt;窗口2&lt;/a&gt;<br />&lt;a onclick="ShowHide('3',null);return false;" href=""&gt;窗口3&lt;/a&gt;<br />&lt;/body&gt;<br />&lt;/html&gt;</p><img src ="http://www.blogjava.net/zhangrenquan/aggbug/61186.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhangrenquan/" target="_blank">kelven</a> 2006-08-01 13:50 <a href="http://www.blogjava.net/zhangrenquan/articles/61186.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>javascript表单事件汇总</title><link>http://www.blogjava.net/zhangrenquan/articles/60641.html</link><dc:creator>kelven</dc:creator><author>kelven</author><pubDate>Fri, 28 Jul 2006 10:15:00 GMT</pubDate><guid>http://www.blogjava.net/zhangrenquan/articles/60641.html</guid><wfw:comment>http://www.blogjava.net/zhangrenquan/comments/60641.html</wfw:comment><comments>http://www.blogjava.net/zhangrenquan/articles/60641.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhangrenquan/comments/commentRss/60641.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhangrenquan/services/trackbacks/60641.html</trackback:ping><description><![CDATA[1. onabort（ns3，ns4，ie4）：当用户终止正在打开的网页时产生该事件。<br />2. onblur（ns3，ns4，ie3，ie4）：某元素失去活动焦点时产生该事件。例如鼠标在文本框中点击后又在文本框外点击时就会产生。<br />3. onchange（ns3，ns4，ie3，ie4）：当网页上某元素的内容发生改变时产生。例如在文本框中输入文本后又在文本框外点击时就会产生。<br />4. onclick（ns3，ns4，ie3，ie4）单击网页上的某元素时产生<br />5. ondblclick（ns4，ie4）：双击网页上的元素时产生<br />6. onerror（ns3，ns4，ie4）：浏览器在打开网页的过程中发生错误时产生该事件<br />7. onfinish（ie4）：滚动文本条中的文本完成一次滚动时产生的事件<br />8. onfocus（ns3，ns4，ie3，ie4）网页上的元素获得焦点时产生该事件<br />9. onkeydown（ns4，ie4）按下任意键时产生该事件<br />10. onkeypress（ns4，ie4）按下任意键时并释放该键产生的事件<br />11. onkeyup（ns4，ie4）释放按下的按键产生该事件<br />12. onload（ns3、4，ie3、4）网页或图象调入完成后产生该事件<br />13. onmousedown（ns4，ie4）在网页的某元素上按下鼠标时产生该事件<br />14. onmousemove（ie3、4）在网页的某元素上移动鼠标时产生该事件<br />15. onmouseout（ns3、4，ie4）从网页的某元素移出鼠标时产生该事件<br />16. onmouseover（ns3、4，ie3、4）鼠标移入网页的某元素时产生该事件<br />17. onmouseup（ns4，ie4）释放按下的鼠标时产生该事件<br />18. onreset（ns3、4，ie3、4）复位表格时产生该事件<br />19. onresize（ns4，ie4）改变浏览器时产生该事件<br />20. onselect（ns3、4，ie3、4）选择文本框中的文本时产生该事件<br />21. onstart（ie4）滚动文本条中的文本开始滚动时产生该事件<br />22. onsubmit（ns3、4，ie3、4）提交表单时产生该事件<br />23. onunload（ns3、4，ie3、4）从当前的网页退出时产生该事件<img src ="http://www.blogjava.net/zhangrenquan/aggbug/60641.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhangrenquan/" target="_blank">kelven</a> 2006-07-28 18:15 <a href="http://www.blogjava.net/zhangrenquan/articles/60641.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>拖拽 div ＋ div半透明 的代码</title><link>http://www.blogjava.net/zhangrenquan/articles/55905.html</link><dc:creator>kelven</dc:creator><author>kelven</author><pubDate>Fri, 30 Jun 2006 03:35:00 GMT</pubDate><guid>http://www.blogjava.net/zhangrenquan/articles/55905.html</guid><wfw:comment>http://www.blogjava.net/zhangrenquan/comments/55905.html</wfw:comment><comments>http://www.blogjava.net/zhangrenquan/articles/55905.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/zhangrenquan/comments/commentRss/55905.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhangrenquan/services/trackbacks/55905.html</trackback:ping><description><![CDATA[拖拽 div ＋ div半透明 的代码：<br /><a href="http://www.cnlei.org/codes/javascript/js-drag-drop/demo.html" target="_blank"><br />http://www.cnlei.org/codes/javascript/js-drag-drop/demo.html</a><img src ="http://www.blogjava.net/zhangrenquan/aggbug/55905.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhangrenquan/" target="_blank">kelven</a> 2006-06-30 11:35 <a href="http://www.blogjava.net/zhangrenquan/articles/55905.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>多窗口操作</title><link>http://www.blogjava.net/zhangrenquan/articles/55897.html</link><dc:creator>kelven</dc:creator><author>kelven</author><pubDate>Fri, 30 Jun 2006 03:19:00 GMT</pubDate><guid>http://www.blogjava.net/zhangrenquan/articles/55897.html</guid><wfw:comment>http://www.blogjava.net/zhangrenquan/comments/55897.html</wfw:comment><comments>http://www.blogjava.net/zhangrenquan/articles/55897.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhangrenquan/comments/commentRss/55897.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhangrenquan/services/trackbacks/55897.html</trackback:ping><description><![CDATA[<p>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "<a href="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd</a>"&gt;<br />&lt;html&gt;<br />&lt;head&gt;<br />&lt;meta http-equiv="content-type" content="text/html; charset=gb2312" /&gt;<br />&lt;title&gt;xWin HTC Demo&lt;/title&gt;<br />&lt;style type="text/css"&gt;<br />body {<br /> width:100%;<br /> height:100%;<br /> margin:0px;<br /> padding:0px;<br /> overflow:auto;<br />}</p>
		<p>.xWin {<br /> position:absolute;<br /> cursor:default;<br /> border-width:2px;<br /> border-style:outset;<br /> padding:0px;<br /> font-size:12px;<br /> overflow:hidden;<br /> display:block;<br />}</p>
		<p>.xWin .xWinSetting {<br /> display:none;<br />}</p>
		<p>.xWin .xTitle {<br /> color:#FFFFFF;<br /> height:20px;<br /> display:block;<br />}</p>
		<p>.xWin .xTitle input {<br /> background-color:transparent;<br /> color:#FFFFFF;<br /> border-width:0px;<br /> border-style:solid;<br /> height:20px;<br /> width:16px;<br /> line-height:20px;<br /> font-family:webdings;<br /> font-size:10px;<br /> margin:0px;<br /> padding:0px;<br /> text-align:center;<br /> float:right;<br /> display:block;<br />}</p>
		<p>.xWin .xTitle .xWinTitleCloseButton {<br /> <br />}</p>
		<p>.xWin .xTitle .xWinTitleMaxButton {<br /> <br />}</p>
		<p>.xWin .xTitle .xWinTitleMinButton {<br /> <br />}</p>
		<p>.xWin .xTitle .xWinTitleContent {<br /> color:#FFFFFF;<br /> font-size:12px;<br /> height:18px;<br /> line-height:20px;<br /> margin:0px;<br /> padding-left:3px;<br /> float:left;<br /> display:block;<br /> overflow:hidden;<br /> white-space:nowrap;<br /> text-align:left;<br /> cursor:default;<br />}</p>
		<p>.xWin .xWinBody {<br /> margin:0px;<br /> background-color:#FFFFFF;<br /> color:#000000;<br /> padding:3px;<br /> font-size:12px;<br /> overflow:auto;<br /> position:relative;<br /> display:block;<br />}</p>
		<p>.xShadow {<br /> position:absolute;<br /> display:block;<br /> background-Color:#000000;<br /> color:#FFFFFF;<br />}<br />&lt;/style&gt;<br />&lt;script type="text/javascript"&gt;<br />//&lt;![CDATA[<br />//********************/<br />//  x 系列之 xWin<br />//  作者：Hutia<br />//  未经同意不得转载或用于商业用途<br />//********************/</p>
		<p>/*<br />说明：<br />  x系列是Hutia开发的系列JS代码，配合相应的css后可以实现快速的自定义标签<br />  目前x系列支持的浏览器类型为：IE5.5, FF1.5</p>
		<p>  xWin的标签为 &lt;div class="xwin"&gt;content&lt;/div&gt;<br />  支持属性：<br />    int left, int top, int width, int height<br />  支持方法：<br />    Close(), Destroy(), Max([bolean Variable]), Min([bolean Variable]), <br />    MoveTo(int x, int y), ResizeTo(int x, int y), SetContent(string Variable | htmlObject Variable)<br /> SetTitle(string Variable), ShowHide()<br />*/</p>
		<p>//**载入CSS*****<br />var xWinCssFilePath="sp\/css\/xwin.css";<br />//document.write("&lt;style&gt;@import url("+xWinCssFilePath+");&lt;/style&gt;");</p>
		<p>//**检测浏览器种类*****<br />var BROWSERNAME="";<br />switch(navigator.appName.toLowerCase()){<br /> case "netscape":<br />  BROWSERNAME="ns";<br /> break;<br /> case "microsoft internet explorer":<br /> default:<br />  BROWSERNAME="ie";<br /> break;<br />}</p>
		<p>//**设置初始化变量******<br />switch(BROWSERNAME){<br /> case "ns":<br />  window.addEventListener("load",_xWin_init,false);<br /> break;<br /> case "ie":<br /> default:<br />  window.attachEvent("onload",_xWin_init);<br />}</p>
		<p>//**设置全局定时器******<br />if(typeof(__xSeriaTimer__)=="undefined"){<br /> var __xSeriaTimer__={<br />  events:new Array(),<br />  objs:new Array(),<br />  handle:null,<br />  exec:function(){<br />   for(var i=0;i&lt;__xSeriaTimer__.events.length;i++){<br />    try{<br />     with(__xSeriaTimer__.objs[i]){<br />      eval(__xSeriaTimer__.events[i]);<br />     }<br />    }catch(e){}<br />   }<br />  },<br />  pop:function(i){<br />   __xSeriaTimer__.events[i]=null;<br />   __xSeriaTimer__.objs[i]=null;<br />  },<br />  push:function(strV,obj){<br />   for(var i=0;i&lt;__xSeriaTimer__.events.length;i++){<br />    if(__xSeriaTimer__.events[i]==null){<br />     __xSeriaTimer__.events[i]=strV;<br />     __xSeriaTimer__.objs[i]=obj;<br />     return(i);<br />    }<br />   }<br />   __xSeriaTimer__.events[i]=strV;<br />   __xSeriaTimer__.objs[i]=obj;<br />   return(i);<br />  },<br />  start:function(){<br />   __xSeriaTimer__.stop();<br />   __xSeriaTimer__.handle=setInterval(__xSeriaTimer__.exec,30);<br />  },<br />  stop:function(){<br />   clearInterval(__xSeriaTimer__.handle);<br />  }<br /> };<br /> __xSeriaTimer__.start();<br />}</p>
		<p>//**初始化函数******<br />function _xWin_init(){<br /> var allTheWindows=document.getElementsByTagName("div");<br /> for(var i=0;i&lt;allTheWindows.length;i++){<br />  if(allTheWindows[i].className=="xWin")_xWin_event_doInit(allTheWindows[i]);<br /> }<br />}</p>
		<p>
				<br />//**事件响应函数区******</p>
		<p>function _xWin_event_doInit(element){<br /> //初始化变量<br /> element.ownerDocument.index=isNaN(element.ownerDocument.index)?10000:parseInt(element.ownerDocument.index)+1;<br /> element.x0=0;element.y0=0;<br /> element.x1=0;element.y1=0;<br /> element.w0=0;element.h0=0;<br /> element.offx=6;element.offy=6;<br /> element.padx=0;element.pady=0;<br /> element.minW=90;element.minH=(BROWSERNAME=="ns"?20:20);<br /> element.moveable=false;<br /> element.resizable=false;<br /> element.hover='orange';element.normal='#336699';<br /> element.minButton=BROWSERNAME=="ie"?"0":"_";<br /> element.maxButton=BROWSERNAME=="ie"?"1":"=";<br /> element.normalButton=BROWSERNAME=="ie"?"2":"+";<br /> element.closeButton=BROWSERNAME=="ie"?"r":"X";<br /> element._title="Untitled Window";<br /> element._body="";<br /> element._winRect={l:0,t:0,w:0,h:0};<br /> element._restoredWinRect={l:0,t:0,w:0,h:0};<br /> element._windowState="normal";<br /> element.settingNode=getElementByClassName(element,"xWinSetting");<br /> if(!element.settingNode){<br />  element.settingNode=document.createElement("div");<br />  element.settingNode.className="xWinSetting";<br />  element.settingNode.xwin=element;<br />  element.appendChild(element.settingNode);<br /> }<br /> element.xwin=element;<br /> <br /> //设置方法<br /> element.Close=_xWin_method_Close;<br /> element.Destroy=_xWin_method_Destroy;<br /> element.GetSetting=_xWin_method_GetSetting;<br /> element.Max=_xWin_method_Max;<br /> element.Min=_xWin_method_Min;<br /> element.MoveTo=_xWin_method_MoveTo;<br /> element.ResizeTo=_xWin_method_ResizeTo;<br /> element.SetContent=_xWin_method_SetContent;<br /> element.SetTitle=_xWin_method_SetTitle;<br /> element.ShowHide=_xWin_method_ShowHide;<br /> <br /> //设置事件<br /> element.onmousedown=_xWin_event_doMDown;<br /> element.onmouseup=element.onlosecapture=_xWin_event_doMUp;<br /> element.onmousemove=_xWin_event_doMMove;<br /> element.onclick=_xWin_event_doClick;<br /> element.onselectstart=element.onselect=_xWin_event_doSelect;<br /> <br /> //记录显示风格<br /> var tempDisplay=element.style.display;<br /> //改变显示风格<br /> element.style.display="block";<br /> //设置窗口变量<br /> var w=parseInt(element.GetSetting("width"));<br /> w=isNaN(w)?(element.offsetWidth+10):parseInt(w);<br /> w=w&lt;element.minW?element.minW:w;<br /> var h=parseInt(element.GetSetting("height"));<br /> h=isNaN(h)?(element.offsetHeight+30):parseInt(h);<br /> h=h&lt;element.minH?element.minH:h;<br /> var l=parseInt(element.GetSetting("left"));<br /> l=isNaN(l)?element.offsetLeft:parseInt(l);<br /> l=l&lt;1?1:l;<br /> var t=parseInt(element.GetSetting("top"));<br /> t=isNaN(t)?element.offsetTop:parseInt(t);<br /> t=t&lt;1?1:t;<br /> var z=element.ownerDocument.index;<br /> var title=new String(element.GetSetting("title"));<br /> <br /> //设置窗口标题<br /> element.oTitle=element.ownerDocument.createElement("div");<br /> element.oTitle.xwin=element;<br /> element.oTitle.className="xTitle";<br /> element.appendChild(element.oTitle);<br /> <br /> //设置窗口标题内容<br /> element.oTitleContent=element.ownerDocument.createElement("span");<br /> element.oTitleContent.xwin=element;<br /> element.oTitleContent.className="xWinTitleContent";<br /> element.oTitle.appendChild(element.oTitleContent);<br /> element.oTitleContent.ondblclick=function(){this.xwin.Max();};<br /> element.SetTitle(title);<br /> <br /> //设置窗口标题关闭按钮<br /> element.oTitleCButton=element.ownerDocument.createElement("input");<br /> element.oTitleCButton.xwin=element;<br /> element.oTitleCButton.type="button";<br /> element.oTitleCButton.className="xWinTitleCloseButton";<br /> element.oTitle.appendChild(element.oTitleCButton);<br /> element.oTitleCButton.onclick=function(){this.xwin.ShowHide("none");};<br /> element.oTitleCButton.value=element.closeButton;<br /> <br /> //设置窗口标题最大化按钮<br /> element.oTitleMaButton=element.ownerDocument.createElement("input");<br /> element.oTitleMaButton.xwin=element;<br /> element.oTitleMaButton.type="button";<br /> element.oTitleMaButton.className="xWinTitleMaxButton";<br /> element.oTitle.appendChild(element.oTitleMaButton);<br /> element.oTitleMaButton.onclick=function(){this.xwin.Max();};<br /> element.oTitleMaButton.value=element.maxButton;<br /> <br /> //设置窗口标题最小化按钮<br /> element.oTitleMButton=element.ownerDocument.createElement("input");<br /> element.oTitleMButton.xwin=element;<br /> element.oTitleMButton.type="button";<br /> element.oTitleMButton.className="xWinTitleMinButton";<br /> element.oTitle.appendChild(element.oTitleMButton);<br /> element.oTitleMButton.onclick=function(){this.xwin.Min();};<br /> element.oTitleMButton.value=element.minButton;<br /> <br /> //设置窗口内容<br /> element.oContent=element.ownerDocument.createElement("div");<br /> element.oContent.xwin=element;<br /> element.oContent.className="xWinBody";<br /> element.appendChild(element.oContent);<br /> oC=element.firstChild;<br /> while(oC){<br />  tC=oC.nextSibling;<br />  if(oC!=element.oTitle&amp;&amp;oC!=element.oContent){   <br />   element.oContent.appendChild(oC);<br />  }<br />  oC=tC;<br /> }<br /> <br /> //设置窗口阴影<br /> element.oShadow=element.ownerDocument.createElement("div");<br /> element.oShadow.xwin=element;<br /> element.oShadow.className="xShadow";<br /> element.parentNode.insertBefore(element.oShadow,element.nextSibling);<br /> element.oShadow.style.zIndex=z-1;<br /> <br /> element.MoveTo(l,t);<br /> element.ResizeTo(w,h);<br /> <br /> //恢复显示风格<br /> element.style.display=tempDisplay;<br /> //设置窗口样式<br /> with(element.style){<br />  zIndex=z;<br />  backgroundColor=element.normal;<br />  color=element.normal;<br /> }<br /> padx=element.offsetWidth-element.clientWidth;<br /> pady=element.offsetHeight-element.clientHeight;<br /> <br />}</p>
		<p>function _xWin_event_doMDown(evt){<br /> var e=evt?evt:window.event;<br /> var eSrc=e.srcElement?e.srcElement:e.target;<br /> var leftButton=e.srcElement?e.button==1:e.button==0;</p>
		<p> if(this.style.zIndex!=this.ownerDocument.index){//将窗口放到最前<br />  this.ownerDocument.index+=2;<br />  var idx = this.ownerDocument.index;<br />  this.style.zIndex=idx;<br />  this.nextSibling.style.zIndex=idx-1;<br /> }<br /> if(eSrc==this.oTitleContent&amp;&amp;leftButton&amp;&amp;this._windowState=="normal"){//如果开始拖动<br />  //锁定标题栏;<br />  document.captureEvents?document.captureEvents("mousemove",this.oTitle):this.oTitle.setCapture();<br />  //定义对象;<br />  var win = this;<br />  var sha = win.nextSibling;<br />  //记录鼠标和层位置;<br />  this.x0 = e.clientX;<br />  this.y0 = e.clientY;<br />  this.x1 = parseInt(win.style.left);<br />  this.y1 = parseInt(win.style.top);<br />  //改变风格;<br />  this.oTitle.style.backgroundColor = this.hover;<br />  win.style.borderColor = this.hover;<br />  this.oTitle.nextSibling.style.color = this.hover;<br />  sha.style.left = this.x1 + this.offx;<br />  sha.style.top  = this.y1 + this.offy;<br />  this.moveable = true;<br />  return(true);<br /> }<br /> if(this.style.cursor!="default"&amp;&amp;this._windowState=="normal"){//开始改变大小<br />  //锁定标题栏;<br />  document.captureEvents?document.captureEvents("mousemove",this.oTitle):this.oTitle.setCapture();<br />  //定义对象;<br />  var win = this;<br />  var sha = win.nextSibling;<br />  //记录鼠标位置和层位置和大小;<br />  this.x0=e.clientX;<br />  this.y0=e.clientY;<br />  this.x1=parseInt(win.offsetLeft);<br />  this.y1=parseInt(win.offsetTop);<br />  this.w0=parseInt(win.offsetWidth);<br />  this.h0=parseInt(win.offsetHeight);<br />  //改变风格;<br />  this.oTitle.style.backgroundColor = this.hover;<br />  win.style.borderColor = this.hover;<br />  this.oTitle.nextSibling.style.color = this.hover;<br />  sha.style.left = this.x1 + this.offx;<br />  sha.style.top  = this.y1 + this.offy;<br />  this.resizable = true;<br />  return(true);<br /> }<br />}</p>
		<p>function _xWin_event_doMUp(evt){<br /> var e=evt?evt:window.event;<br /> document.releaseEvents?document.releaseEvents("mousemove",this.oTitle):this.oTitle.releaseCapture();<br /> if(this.moveable){<br />  var win = this;<br />  var sha = win.nextSibling;<br />  var msg = this.oTitle.nextSibling;<br />  win.style.borderColor     = "";<br />  this.oTitle.style.backgroundColor = "";<br />  msg.style.color           = "";<br />  sha.style.left = this.oTitle.parentNode.style.left;<br />  sha.style.top  = this.oTitle.parentNode.style.top;<br />  this.moveable = false;<br />  return(false);<br /> }<br /> if(this.resizable){<br />  var win = this;<br />  var sha = win.nextSibling;<br />  var msg = this.oTitle.nextSibling;<br />  win.style.borderColor     = "";<br />  this.oTitle.style.backgroundColor = "";<br />  msg.style.color           = "";<br />  sha.style.left = this.oTitle.parentNode.style.left;<br />  sha.style.top  = this.oTitle.parentNode.style.top;<br />  sha.style.width = this.oTitle.parentNode.style.width;<br />  sha.style.height = this.oTitle.parentNode.style.height;<br />  this.style.cursor="default";<br />  this.resizable = false;<br />  return(false);<br /> }<br />}</p>
		<p>function _xWin_event_doMMove(evt){<br /> var e=evt?evt:window.event;<br /> if(this.moveable){//拖动窗口<br />  this.MoveTo(this.x1 + e.clientX - this.x0, this.y1 + e.clientY - this.y0);<br />  return(true);<br /> }<br /> if(this.resizable){//改变窗口大小<br />  var xxx=this.style.cursor.substring(0,2).match(/[we]/i);<br />  var yyy=this.style.cursor.substring(0,2).match(/[ns]/i);<br />  l=this.offsetLeft;<br />  t=this.offsetTop;<br />  w=parseInt(this.style.width);<br />  h=parseInt(this.style.height);<br />  if(xxx=="w"){<br />   l=this.x1+e.clientX - this.x0;<br />   w=this.w0+this.x0-e.clientX;<br />   if(l&lt;0){w+=l;l=0;}<br />   if(w&lt;this.minW){l=l+w-this.minW;w=this.minW;}<br />  }<br />  if(xxx=="e"){<br />   w=this.w0+e.clientX-this.x0;<br />   w=w&lt;this.minW?this.minW:w;<br />  }<br />  if(yyy=="n"){<br />   t=this.y1+e.clientY - this.y0;<br />   h=this.h0+this.y0-e.clientY;<br />   if(t&lt;0){h+=t;t=0;}<br />   if(h&lt;this.minH){t=t+h-this.minH;h=this.minH;}<br />  }<br />  if(yyy=="s"){<br />   h=this.h0+e.clientY-this.y0;<br />   h=h&lt;this.minH?this.minH:h;<br />  }<br />  this.MoveTo(l,t);<br />  this.ResizeTo(w,h);<br />  <br />  return(true);<br /> }<br /> if(this._windowState=="normal"){<br />  var cc="";<br />  x=window.getRealLeft(this);<br />  y=window.getRealTop(this);<br />  w=parseInt(this.offsetWidth);<br />  h=parseInt(this.offsetHeight);<br />  if(e.clientY-y&lt;5)cc+="n";<br />  if(y+h-e.clientY&lt;5)cc+="s";<br />  if(e.clientX-x&lt;5)cc+="w";<br />  if(x+w-e.clientX&lt;5)cc+="e";<br />  if(cc!=""){<br />   this.style.cursor=cc+"-resize";<br />   return(true);<br />  }<br />  if(this.style.cursor!="default"){<br />   this.style.cursor="default";<br />  }<br /> }<br />}</p>
		<p>function _xWin_event_doClick(evt){<br /> var e=evt?evt:window.event;<br /> var eSrc=e.srcElement?e.srcElement:e.target;<br /> switch(eSrc){<br />  <br /> }<br />}</p>
		<p>function _xWin_event_doSelect(evt){<br /> var e=evt?evt:window.event;<br /> var eSrc=e.srcElement?e.srcElement:e.target;<br /> if(eSrc==this.oTitle||this.oTitle.contains(eSrc)){<br />  e.cancelBubble=true;<br />  e.returnValue=false;<br />  return(false);<br /> }<br />}</p>
		<p>function _xWinParentNode_event_doScroll(evt){<br /> if(!this.minimizedWindows)return(true);<br /> for(var i=0;i&lt;this.minimizedWindows.length;i++){<br />  this.minimizedWindows[i].Min(true);<br /> }<br />}</p>
		<p> </p>
		<p>//**方法函数区******</p>
		<p>function _xWin_method_Close(){<br /> this.Destroy();<br />}</p>
		<p>function _xWin_method_Destroy(){<br /> if(this.minIndex){<br />  this.parentNode.minimizedWindows[this.minIndex]=null;<br />  this.minIndex=null;<br /> }<br /> this.outerHTML="";<br />}</p>
		<p>function _xWin_method_GetSetting(attributeName){<br /> var settingString=this.settingNode.innerHTML;<br /> if(!attributeName)return(settingString);<br /> var regE=new RegExp(attributeName+"=[ \t]*\"?([^\"]*)","i");<br /> var re=settingString.match(regE);<br /> if(re){<br />  return(re[1]);<br /> }else{<br />  return(re);<br /> }<br />}</p>
		<p>function _xWin_method_Max(reV){<br /> if(this._windowState=="maximize"&amp;&amp;(!reV)){<br />  //还原父节点overflow属性<br />  this.parentNode.style.overflow=this.parentNode.restoredStyle_overflow;<br />  <br />  this.MoveTo(this._restoredWinRect.l,this._restoredWinRect.t);<br />  this.ResizeTo(this._restoredWinRect.w,this._restoredWinRect.h);<br />  this.oTitleMButton.value = this.minButton;<br />  this.oTitleMaButton.value = this.maxButton;<br />  this._windowState="normal";<br /> }else{<br />  if(this._windowState=="normal"){<br />   this._restoredWinRect.l=this._winRect.l;this._restoredWinRect.t=this._winRect.t;<br />   this._restoredWinRect.w=this._winRect.w;this._restoredWinRect.h=this._winRect.h;<br />  }<br />  if(this.minIndex!=null){<br />   this.parentNode.minimizedWindows[this.minIndex]=null;<br />   this.minIndex=null;<br />  }<br />  if(this.minTimeHandle!=null){<br />   __xSeriaTimer__.pop(this.minTimeHandle);<br />   this.minTimeHandle=null;<br />  }<br />  //纪录父节点overflow属性<br />  this.parentNode.restoredStyle_overflow=this.parentNode.style.overflow;<br />  //改变父节点overflow属性<br />  this.parentNode.style.overflow="hidden";<br />  <br />  this.MoveTo(0,0);<br />  if(this.parentNode!=document.body){<br />   w=this.parentNode.clientWidth-5;<br />   h=this.parentNode.clientHeight-4;<br />  }else{<br />   w=document.documentElement.clientWidth-5;<br />   h=document.documentElement.clientHeight-4;<br />  }<br />  this.ResizeTo(w,h);<br />  this.oTitleMButton.value = this.minButton;<br />  this.oTitleMaButton.value = this.normalButton;<br />  this._windowState="maximize";<br />  this.scrollIntoView();<br /> }<br />}</p>
		<p>function _xWin_method_Min(reV){<br /> if(this._windowState=="minimize"&amp;&amp;(!reV)){<br />  this.MoveTo(this._restoredWinRect.l,this._restoredWinRect.t);<br />  this.ResizeTo(this._restoredWinRect.w,this._restoredWinRect.h);<br />  this.oTitleMButton.value = this.minButton;<br />  this.oTitleMaButton.value = this.maxButton;<br />  this._windowState="normal";<br />  this.parentNode.minimizedWindows[this.minIndex]=null;<br />  this.minIndex=null;<br />  if(this.minTimeHandle!=null){<br />   __xSeriaTimer__.pop(this.minTimeHandle);<br />   this.minTimeHandle=null;<br />  }<br /> }else{<br />  if(this._windowState=="normal"){<br />   this._restoredWinRect.l=this._winRect.l;this._restoredWinRect.t=this._winRect.t;<br />   this._restoredWinRect.w=this._winRect.w;this._restoredWinRect.h=this._winRect.h;<br />  }else{<br />   //还原父节点overflow属性<br />   try{<br />    this.parentNode.style.overflow=this.parentNode.restoredStyle_overflow;<br />   }catch(e){}<br />  }<br />  if(!this.parentNode.minimizedWindows)this.parentNode.minimizedWindows=new Array();<br />  if(this._windowState!="minimize"){<br />   for(var i=0;i&lt;this.parentNode.minimizedWindows.length;i++){<br />    if(this.parentNode.minimizedWindows[i]==null)break;<br />   }<br />   this.parentNode.minimizedWindows[i]=this;<br />  }else{<br />   i=this.minIndex;<br />  }<br />  this.ResizeTo(0,0);<br />  var w=this.offsetWidth;<br />  var h=this.offsetHeight;<br />  var mw=getParentRect(this).mw;<br />  var mh=getParentRect(this).mh;<br />  var n=parseInt(mw/w);<br />  var t=parseInt(i/n)+1;<br />  this.MoveTo(w*(i%n),mh-t*h-1);<br />  if(mh&gt;getParentRect(this).mh){<br />   this.MoveTo(w*(i%n),mh-t*h-200);<br />   mh=getParentRect(this).mh;<br />   this.MoveTo(w*(i%n),mh-t*h-1);<br />  }<br />  this.minIndex=i;<br />  this.oTitleMButton.value = this.normalButton;<br />  this.oTitleMaButton.value = this.maxButton;<br />  this._windowState="minimize";<br />  if(this.minTimeHandle==null){<br />   this.minTimeHandle=__xSeriaTimer__.push("Min(true)",this);<br />   this.scrollIntoView();<br />  }<br /> }<br />}</p>
		<p>function _xWin_method_MoveTo(x,y){<br /> var win = this.oTitle.parentNode;<br /> var sha = win.nextSibling;<br /> <br /> x=isNaN(x)?0:parseInt(x);<br /> y=isNaN(y)?0:parseInt(y);<br /> x=x&lt;0?0:x;<br /> y=y&lt;0?0:y;<br /> this.style.left=x+"px";<br /> this.style.top=y+"px";<br /> <br /> sha.style.left = parseInt(win.style.left) + ((this.moveable||this.resizable)?this.offx:0)+"px";<br /> sha.style.top  = parseInt(win.style.top) + ((this.moveable||this.resizable)?this.offy:0)+"px";<br /> this._winRect.l=x;<br /> this._winRect.t=y;<br />}</p>
		<p>function _xWin_method_ResizeTo(w,h){<br /> var win = this;<br /> var sha = win.nextSibling;<br />  <br /> var w=isNaN(w)?this.minW:parseInt(w);<br /> var h=isNaN(h)?this.minH:parseInt(h);<br /> var w=w&lt;this.minW?this.minW:w;<br /> var h=h&lt;this.minH?this.minH:h;<br /> <br /> this.style.width=w+"px";<br /> this.style.height=h+"px";</p>
		<p> this.oTitle.style.width=parseInt(this.clientWidth)+"px";<br /> var wTC=this.clientWidth;<br /> for(var i=0;i&lt;this.oTitle.childNodes.length;i++){<br />  if(this.oTitle.childNodes[i]!=this.oTitleContent){wTC-=this.oTitle.childNodes[i].offsetWidth;}<br /> }<br /> wTC-=8;<br /> this.oTitleContent.style.width=(wTC&lt;1?1:wTC)+"px";<br /> <br /> var wC=this.clientHeight-this.oTitle.offsetHeight-6;<br /> this.oContent.style.height=(wC&lt;1?1:wC)+"px";<br /> this.oContent.style.width=parseInt(this.clientWidth-6)+"px";<br /> sha.style.left = parseInt(win.style.left) + ((this.moveable||this.resizable)?this.offx:0)+"px";<br /> sha.style.top  = parseInt(win.style.top) + ((this.moveable||this.resizable)?this.offy:0)+"px";<br /> sha.style.width = parseInt(win.style.width)+"px";<br /> sha.style.height = parseInt(win.style.height)+"px";<br /> <br /> this._winRect.w=w;<br /> this._winRect.h=h;<br />}</p>
		<p>function _xWin_method_SetContent(v){<br /> if(this.oContent){<br />  if(v==null||v==undefined||v==""){this._body=this.oContent.innerHTML="";return(this.oContent);}<br />  if(typeof(v)=="string"){<br />   this._body=this.oContent.innerHTML=v;<br />   return(this.oContent);<br />  }else{<br />   try{<br />    this.oContent.innerHTML="";<br />    this._body=this.oContent.appendChild(v);<br />    return(this.oContent);<br />   }catch(e){<br />    throw(e);<br />   }<br />  }<br /> }else{<br />  this._body=v;<br />  return(null);<br /> }<br />}</p>
		<p>function _xWin_method_SetTitle(strT){<br /> this._title=strT==null?this._title:strT;<br /> if(this.oTitleContent){<br />  setInnerText(this.oTitleContent,this._title);<br /> }<br />}</p>
		<p>function _xWin_method_ShowHide(dis){<br /> var bdisplay = (dis==null)?((this.style.display=="none")?"":"none"):dis;<br /> this.style.display = bdisplay;<br /> this.nextSibling.style.display = bdisplay;<br /> if(bdisplay=="none"){<br />  if(this._windowState=="minimize"){<br />   this.parentNode.minimizedWindows[this.minIndex]=null;<br />   this.minIndex=null;<br />  }<br /> }else{<br />  if(this._windowState=="minimize"){<br />   this.Min();<br />  }<br /> }<br />}</p>
		<p>
				<br />//**通用函数区***<br />function getRealLeft(o){<br /> var l=o.offsetLeft-o.scrollLeft;<br /> while(o=o.offsetParent){<br />  l+=o.offsetLeft-o.scrollLeft;<br /> }<br /> return(l);<br />}</p>
		<p>function getRealTop(o){<br /> var t=o.offsetTop-o.scrollTop;<br /> while(o=o.offsetParent){<br />  t+=o.offsetTop-o.scrollTop;<br /> }<br /> return(t);<br />}</p>
		<p>function setInnerText(obj,text){<br /> switch(BROWSERNAME){<br />  case "ns":<br />   obj.textContent=text;<br />  break;<br />  case "ie":<br />  default:<br />   obj.innerText=text;<br /> }<br />}</p>
		<p>function getElementByClassName(obj,className){<br /> for(var i=0;i&lt;obj.childNodes.length;i++){<br />  if(obj.childNodes[i].className==className)return(obj.childNodes[i]);<br /> }<br /> return(null);<br />}</p>
		<p>function getParentRect(obj){<br /> var re=new Object();<br /> if(obj.parentNode!=document.body){<br />  re.mw=Math.max(obj.parentNode.scrollWidth,obj.parentNode.clientWidth);<br />  re.mh=Math.max(obj.parentNode.scrollHeight,obj.parentNode.clientHeight);<br /> }else{<br />  re.mw=Math.max(document.documentElement.scrollWidth,document.documentElement.clientWidth);<br />  re.mh=Math.max(document.documentElement.scrollHeight,document.documentElement.clientHeight);<br /> }<br /> return(re);<br />} <br />//]]&gt;<br />&lt;/script&gt;<br />&lt;/head&gt;<br />&lt;body&gt;</p>
		<p>&lt;div class="xWin" id="win1" &gt;<br /> &lt;span class="xWinSetting"&gt;width="400" height="400" top="300" left="100" title="我就是传说中那个超长的窗口标题"&lt;/span&gt;<br /> 我就是传说中那个超长的窗口标题我就是传说<br /> &lt;div class="xWin" id="win30" &gt;<br />  &lt;span class="xWinSetting"&gt; width="100" top="20" left="20" title="我就是传说中那个超长的窗口标题"&lt;/span&gt;<br />  中那个超长的窗口标题我就是传说中那个超&lt;br/&gt;长的窗口标题我就是传说中那个超长<br /> &lt;/div&gt;<br /> 的窗口标题我就是传说中那个超长的窗口标题我就是传说中那个超长的窗口标题我就是传说中那个超长的窗口标题<br /> 我就是传说中那个超长的<br /> &lt;div class="xWin" id="win31" &gt;<br />  &lt;span class="xWinSetting"&gt;width="100" top="40" left="40" title="我就是传说中那个超长的窗口标题" &lt;/span&gt;<br />  中那个超长的窗口标题我就是传说中那个超&lt;br/&gt;长的窗口标题我就是传说中那个超长<br /> &lt;/div&gt;<br /> 窗口标题我就是传说中那<br /> 个超长的窗口标题我就是传说中那个超长的窗口标题我就是传说中那个超长的窗口标题我就是传说中那<br /> 个超长的窗口标题我就是传说中那个超长的窗口标题<br /> c&lt;br/&gt;<br /> 12345<br />&lt;/div&gt;</p>
		<p>&lt;div class="xWin" id="win2"&gt;<br /> &lt;span class="xWinSetting"&gt; width="200" top="270" left="140" title="我就是传说中那个超长的窗口标题"&lt;/span&gt;<br /> 我是窗口2&lt;br/&gt;<br /> 我是窗口2&lt;br/&gt;<br /> 我是窗口2&lt;br/&gt;<br /> 我是窗口2&lt;br/&gt;<br /> &lt;a href="javascript:void(0);"&gt;更换标题&lt;/a&gt;<br /> 我是窗口2&lt;br/&gt;<br /> 我是窗口2&lt;br/&gt;<br /> 我是窗口2&lt;br/&gt;<br /> 我是窗口2&lt;br/&gt;<br />&lt;/div&gt;</p>
		<p>&lt;a href="javascript:win1.ShowHide('');void(0);"&gt;win1&lt;/a&gt;<br />&lt;a href="javascript:win2.ShowHide('');void(0);"&gt;win2&lt;/a&gt;<br />&lt;a href="javascript:document.getElementById('win3').ShowHide('');void(0);"&gt;win3&lt;/a&gt;<br />&lt;a href="javascript:document.getElementById('win4').ShowHide('');void(0);"&gt;win4&lt;/a&gt;<br />&lt;div id="ssss"&gt;&lt;/div&gt;<br />&lt;/body&gt;<br />&lt;/html&gt;<br /><br />效果：<br /><span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: Arial; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"><?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /?><v:shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"> <br /><span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: Arial; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"><v:shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"><v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></v:path><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?><o:lock aspectratio="t" v:ext="edit"></o:lock></v:shapetype><v:shape id="_x0000_i1025" style="WIDTH: 415.5pt; HEIGHT: 258pt" type="#_x0000_t75"><v:imagedata o:title="1111.jpg" src="file:///C:\DOCUME~1\kelven\LOCALS~1\Temp\msohtml1\01\clip_image001.png"></v:imagedata></v:shape></span></v:shapetype></span></p><img src ="http://www.blogjava.net/zhangrenquan/aggbug/55897.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhangrenquan/" target="_blank">kelven</a> 2006-06-30 11:19 <a href="http://www.blogjava.net/zhangrenquan/articles/55897.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>用层做的一个模拟窗口</title><link>http://www.blogjava.net/zhangrenquan/articles/55893.html</link><dc:creator>kelven</dc:creator><author>kelven</author><pubDate>Fri, 30 Jun 2006 03:05:00 GMT</pubDate><guid>http://www.blogjava.net/zhangrenquan/articles/55893.html</guid><wfw:comment>http://www.blogjava.net/zhangrenquan/comments/55893.html</wfw:comment><comments>http://www.blogjava.net/zhangrenquan/articles/55893.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhangrenquan/comments/commentRss/55893.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhangrenquan/services/trackbacks/55893.html</trackback:ping><description><![CDATA[html 源文件：vwindow.htm<br /><br /><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #0000ff">&lt;!</span><span style="COLOR: #ff00ff">DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">html</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">head</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">title</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"> New Document </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">title</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">meta </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="Generator"</span><span style="COLOR: #ff0000"> content</span><span style="COLOR: #0000ff">="Microsoft FrontPage 6.0"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">meta </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="Author"</span><span style="COLOR: #ff0000"> content</span><span style="COLOR: #0000ff">=""</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">meta </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="Keywords"</span><span style="COLOR: #ff0000"> content</span><span style="COLOR: #0000ff">=""</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">meta </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="Description"</span><span style="COLOR: #ff0000"> content</span><span style="COLOR: #0000ff">=""</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">link </span><span style="COLOR: #ff0000">rel</span><span style="COLOR: #0000ff">="stylesheet"</span><span style="COLOR: #ff0000"> href</span><span style="COLOR: #0000ff">="vwindow.css"</span><span style="COLOR: #ff0000"> </span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">script </span><span style="COLOR: #ff0000">language</span><span style="COLOR: #0000ff">="javascript"</span><span style="COLOR: #ff0000"> type</span><span style="COLOR: #0000ff">="text/javascript"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"><br /></span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">function</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> show()<br />{<br />    </span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">var</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> v_ht </span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> parseInt(document.getElementById(</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">ht</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">).value);<br />    </span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">var</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> v_wd </span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> parseInt(document.getElementById(</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">wd</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">).value);<br />    </span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">var</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> v_co_x </span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> parseInt(document.getElementById(</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">cooX</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">).value);<br />    </span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">var</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> v_co_y </span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> parseInt(document.getElementById(</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">cooY</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">).value);<br />    </span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">var</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> v_tt </span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> document.getElementById(</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">tt</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">).value;<br />    </span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">var</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> v_main </span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> document.getElementById(</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">main</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">).value;<br />    </span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">var</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> v_st </span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> document.getElementById(</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">st</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">).value;<br />    showvw(v_ht,v_wd,v_co_y,v_co_x,v_tt,v_main,</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">0</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">,v_st);<br />}<br /></span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">script</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">head</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><br /></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">body</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">script </span><span style="COLOR: #ff0000">language</span><span style="COLOR: #0000ff">="JavaScript"</span><span style="COLOR: #ff0000"> src</span><span style="COLOR: #0000ff">="vwindow.js"</span><span style="COLOR: #0000ff">&gt;&lt;/</span><span style="COLOR: #800000">script</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br />虚拟窗口--jat 2005-05-15</span><span style="COLOR: #ff0000">&amp;nbsp;</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">a </span><span style="COLOR: #ff0000">href</span><span style="COLOR: #0000ff">="http://www.tmcode.net/"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br />http://www.tmcode.net</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">a</span><span style="COLOR: #0000ff">&gt;&lt;</span><span style="COLOR: #800000">br </span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">br </span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br />参数：<br /><br /></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">hr</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br />高度：</span><span style="COLOR: #ff0000">&amp;nbsp;</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">input </span><span style="COLOR: #ff0000">type</span><span style="COLOR: #0000ff">="text"</span><span style="COLOR: #ff0000"> id</span><span style="COLOR: #0000ff">="ht"</span><span style="COLOR: #ff0000"> size</span><span style="COLOR: #0000ff">="7"</span><span style="COLOR: #0000ff">&gt;&lt;</span><span style="COLOR: #800000">br </span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br />宽度：</span><span style="COLOR: #ff0000">&amp;nbsp;</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">input </span><span style="COLOR: #ff0000">type</span><span style="COLOR: #0000ff">="text"</span><span style="COLOR: #ff0000"> id</span><span style="COLOR: #0000ff">="wd"</span><span style="COLOR: #ff0000"> size</span><span style="COLOR: #0000ff">="7"</span><span style="COLOR: #0000ff">&gt;&lt;</span><span style="COLOR: #800000">br </span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br />坐标X： </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">input </span><span style="COLOR: #ff0000">type</span><span style="COLOR: #0000ff">="text"</span><span style="COLOR: #ff0000"> id</span><span style="COLOR: #0000ff">="cooX"</span><span style="COLOR: #ff0000"> size</span><span style="COLOR: #0000ff">="7"</span><span style="COLOR: #0000ff">&gt;&lt;</span><span style="COLOR: #800000">br </span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br />坐标Y： </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">input </span><span style="COLOR: #ff0000">type</span><span style="COLOR: #0000ff">="text"</span><span style="COLOR: #ff0000"> id</span><span style="COLOR: #0000ff">="cooY"</span><span style="COLOR: #ff0000"> size</span><span style="COLOR: #0000ff">="7"</span><span style="COLOR: #0000ff">&gt;&lt;</span><span style="COLOR: #800000">br </span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br />标题：</span><span style="COLOR: #ff0000">&amp;nbsp;</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">input </span><span style="COLOR: #ff0000">type</span><span style="COLOR: #0000ff">="text"</span><span style="COLOR: #ff0000"> id</span><span style="COLOR: #0000ff">="tt"</span><span style="COLOR: #ff0000"> size</span><span style="COLOR: #0000ff">="25"</span><span style="COLOR: #0000ff">&gt;&lt;</span><span style="COLOR: #800000">br </span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br />内容：</span><span style="COLOR: #ff0000">&amp;nbsp;</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">textarea </span><span style="COLOR: #ff0000">id</span><span style="COLOR: #0000ff">="main"</span><span style="COLOR: #ff0000"> rows</span><span style="COLOR: #0000ff">="6"</span><span style="COLOR: #ff0000"> cols</span><span style="COLOR: #0000ff">="41"</span><span style="COLOR: #ff0000"> </span><span style="COLOR: #0000ff">&gt;&lt;/</span><span style="COLOR: #800000">textarea</span><span style="COLOR: #0000ff">&gt;&lt;</span><span style="COLOR: #800000">br </span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br />状态栏：</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">input </span><span style="COLOR: #ff0000">type</span><span style="COLOR: #0000ff">="text"</span><span style="COLOR: #ff0000"> id</span><span style="COLOR: #0000ff">="st"</span><span style="COLOR: #ff0000"> size</span><span style="COLOR: #0000ff">="25"</span><span style="COLOR: #0000ff">&gt;&lt;</span><span style="COLOR: #800000">p</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">br </span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">button </span><span style="COLOR: #ff0000">onclick</span><span style="COLOR: #0000ff">="show()"</span><span style="COLOR: #ff0000"> style</span><span style="COLOR: #0000ff">="width: 254px; height: 26px"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">显示</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">button</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><br /></span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">p</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">p</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><br /></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">br </span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">font </span><span style="COLOR: #ff0000">color</span><span style="COLOR: #0000ff">="#FF00FF"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">CTRL+D</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">font</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"> 调出调试窗口,详细参数见vwindow.js注释,请自行更改vwindow.css样式</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">p</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">body</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">html</span><span style="COLOR: #0000ff">&gt;</span></div><br /><br />css 样式：vwindow.css<br /><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #800000">#vwin </span><span style="COLOR: #000000">{</span><span style="COLOR: #ff0000">background-color</span><span style="COLOR: #000000">:</span><span style="COLOR: #0000ff">#ffcc66</span><span style="COLOR: #000000">;</span><span style="COLOR: #ff0000">border</span><span style="COLOR: #000000">:</span><span style="COLOR: #0000ff">outset 1px</span><span style="COLOR: #000000">;</span><span style="COLOR: #ff0000">position</span><span style="COLOR: #000000">:</span><span style="COLOR: #0000ff">absolute</span><span style="COLOR: #000000">;</span><span style="COLOR: #ff0000">visibility</span><span style="COLOR: #000000">:</span><span style="COLOR: #0000ff">hidden</span><span style="COLOR: #000000">;</span><span style="COLOR: #ff0000">width</span><span style="COLOR: #000000">:</span><span style="COLOR: #0000ff">300px</span><span style="COLOR: #000000">;</span><span style="COLOR: #ff0000">height</span><span style="COLOR: #000000">:</span><span style="COLOR: #0000ff">200px</span><span style="COLOR: #000000">;</span><span style="COLOR: #ff0000">cursor</span><span style="COLOR: #000000">:</span><span style="COLOR: #0000ff">crosshair</span><span style="COLOR: #000000">;</span><span style="COLOR: #000000">}</span><span style="COLOR: #800000"><br />#vwTit</span><span style="COLOR: #000000">{</span><span style="COLOR: #ff0000">background-color</span><span style="COLOR: #000000">:</span><span style="COLOR: #0000ff">#3399FF</span><span style="COLOR: #000000">;</span><span style="COLOR: #000000">}</span><span style="COLOR: #800000"><br />#vwTitle </span><span style="COLOR: #000000">{</span><span style="COLOR: #ff0000">color</span><span style="COLOR: #000000">:</span><span style="COLOR: #0000ff">#ffffff</span><span style="COLOR: #000000">;</span><span style="COLOR: #ff0000">font-size</span><span style="COLOR: #000000">:</span><span style="COLOR: #0000ff">10pt</span><span style="COLOR: #000000">;</span><span style="COLOR: #ff0000">font-weight</span><span style="COLOR: #000000">:</span><span style="COLOR: #0000ff">bold</span><span style="COLOR: #000000">;</span><span style="COLOR: #ff0000">text-align</span><span style="COLOR: #000000">:</span><span style="COLOR: #0000ff">left</span><span style="COLOR: #000000">;</span><span style="COLOR: #000000">}</span><span style="COLOR: #800000"><br />#vwStatus </span><span style="COLOR: #000000">{</span><span style="COLOR: #ff0000">background-color</span><span style="COLOR: #000000">:</span><span style="COLOR: #0000ff">#88ddff</span><span style="COLOR: #000000">;</span><span style="COLOR: #ff0000">font-size</span><span style="COLOR: #000000">:</span><span style="COLOR: #0000ff">9pt</span><span style="COLOR: #000000">;</span><span style="COLOR: #000000">}</span><span style="COLOR: #800000"><br />#vwText </span><span style="COLOR: #000000">{</span><span style="COLOR: #ff0000">background-color</span><span style="COLOR: #000000">:</span><span style="COLOR: #0000ff">#88ddff</span><span style="COLOR: #000000">;</span><span style="COLOR: #ff0000">border</span><span style="COLOR: #000000">:</span><span style="COLOR: #0000ff">0px</span><span style="COLOR: #000000">;</span><span style="COLOR: #ff0000">font-size</span><span style="COLOR: #000000">:</span><span style="COLOR: #0000ff">9pt</span><span style="COLOR: #000000">;</span><span style="COLOR: #ff0000">padding</span><span style="COLOR: #000000">:</span><span style="COLOR: #0000ff">8px</span><span style="COLOR: #000000">;</span><span style="COLOR: #000000">}</span><span style="COLOR: #800000"><br />table</span><span style="COLOR: #000000">{</span><span style="COLOR: #ff0000">word-break</span><span style="COLOR: #000000">:</span><span style="COLOR: #0000ff">break-all</span><span style="COLOR: #000000">;</span><span style="COLOR: #000000">}</span></div><br /><br />javascript ：vwindow.js<br /><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #008000">/*</span><span style="COLOR: #008000">*<br /> * 虚拟窗口<br /> * 制作：jat<br /> * 2005-05-15<br />*</span><span style="COLOR: #008000">*/</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #0000ff">var</span><span style="COLOR: #000000"> inivw<br /></span><span style="COLOR: #0000ff">var</span><span style="COLOR: #000000"> tbx;<br /></span><span style="COLOR: #0000ff">var</span><span style="COLOR: #000000"> tby;<br /><br />inivw </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&lt;div id='vwin'&gt;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br /></span><span style="COLOR: #008000">/*</span><span style="COLOR: #008000">**标题栏**</span><span style="COLOR: #008000">*/</span><span style="COLOR: #000000"><br />inivw </span><span style="COLOR: #000000">+=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&lt;table cellspacing='0' cellpadding='0' border='0' width='100%' id='vwTit'&gt;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br />inivw </span><span style="COLOR: #000000">+=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&lt;tr&gt;&lt;td id='vwIcon' width='25'&gt;&lt;img src='image/bomber.gif' border='0' height='25' width='25' ondblclick='hidevw()'&gt;&lt;/td&gt;&lt;td id='vwTitle' onmousemove='dr_mv()' onmousedown='xy();setCapture()' onmouseup='releaseCapture()'&gt;title&lt;/td&gt;&lt;td id='vwButton' align='right' width='25'&gt;&lt;img src='image/error.gif' border='0' height='25' width='25' alt='关闭' onclick='hidevw()'&gt;&lt;/td&gt;&lt;/tr&gt;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br />inivw </span><span style="COLOR: #000000">+=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&lt;/table&gt;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br /></span><span style="COLOR: #008000">/*</span><span style="COLOR: #008000">**标题栏**</span><span style="COLOR: #008000">*/</span><span style="COLOR: #000000"><br /><br /></span><span style="COLOR: #008000">/*</span><span style="COLOR: #008000">**内容区**</span><span style="COLOR: #008000">*/</span><span style="COLOR: #000000"><br />inivw </span><span style="COLOR: #000000">+=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&lt;table cellspacing='0' cellpadding='0' border='0' width='100%' height='100%'&gt;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br />inivw </span><span style="COLOR: #000000">+=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&lt;tr&gt;&lt;td id='vwText' valign='top'&gt;&lt;/td&gt;&lt;/tr&gt;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br />inivw </span><span style="COLOR: #000000">+=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&lt;/table&gt;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br /></span><span style="COLOR: #008000">/*</span><span style="COLOR: #008000">**内容区**</span><span style="COLOR: #008000">*/</span><span style="COLOR: #000000"><br /><br /></span><span style="COLOR: #008000">/*</span><span style="COLOR: #008000">**状态栏**</span><span style="COLOR: #008000">*/</span><span style="COLOR: #000000"><br />inivw </span><span style="COLOR: #000000">+=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&lt;table cellspacing='0' cellpadding='0' border='0' width='100%' height='20' &gt;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br />inivw </span><span style="COLOR: #000000">+=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&lt;tr&gt;&lt;td id='vwStatus'&gt;rrr&lt;/td&gt;&lt;/tr&gt;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br />inivw </span><span style="COLOR: #000000">+=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&lt;/table&gt;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br /></span><span style="COLOR: #008000">/*</span><span style="COLOR: #008000">**状态栏**</span><span style="COLOR: #008000">*/</span><span style="COLOR: #000000"><br /><br />inivw </span><span style="COLOR: #000000">+=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&lt;/div&gt;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br />document.write(inivw);<br />inivw </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">""</span><span style="COLOR: #000000">;<br /></span><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000"> showvw(Ht,Wd,Tp,Lt,Tt,Txt,Icon,stat,name)   </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">showvw(高度,宽度,垂直坐标,水平坐标,标题,内容,图标,状态栏信息)</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #000000"> {<br />  </span><span style="COLOR: #0000ff">var</span><span style="COLOR: #000000"> vwHeight;<br />  </span><span style="COLOR: #0000ff">var</span><span style="COLOR: #000000"> vwWidth;<br />  </span><span style="COLOR: #0000ff">var</span><span style="COLOR: #000000"> vwTop;<br />  </span><span style="COLOR: #0000ff">var</span><span style="COLOR: #000000"> vwLeft;<br />  </span><span style="COLOR: #0000ff">var</span><span style="COLOR: #000000"> vwTitle;<br />  </span><span style="COLOR: #0000ff">var</span><span style="COLOR: #000000"> vwIcon;<br />  </span><span style="COLOR: #0000ff">var</span><span style="COLOR: #000000"> vwText;<br />  </span><span style="COLOR: #0000ff">var</span><span style="COLOR: #000000"> vwStat;<br /><br />  </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(Ht </span><span style="COLOR: #000000">&amp;&amp;</span><span style="COLOR: #000000"> Ht </span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">30</span><span style="COLOR: #000000">)<br />   vwHeight </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> Ht;<br />  </span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000"><br />   vwHeight </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">150</span><span style="COLOR: #000000">;<br />  </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(Wd </span><span style="COLOR: #000000">&amp;&amp;</span><span style="COLOR: #000000"> Wd </span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">100</span><span style="COLOR: #000000">)<br />   vwWidth </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> Wd;<br />  </span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000"><br />   vwWidth </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">400</span><span style="COLOR: #000000">;<br />  </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(Tp </span><span style="COLOR: #000000">&amp;&amp;</span><span style="COLOR: #000000"> Tp </span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">)<br />   vwTop </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> Tp;<br />  </span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000"><br />   vwTop </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> Math.max(Math.round((document.body.offsetHeight</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">vwHeight)</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">),</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">);<br />  </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(Lt </span><span style="COLOR: #000000">&amp;&amp;</span><span style="COLOR: #000000"> Lt </span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">)<br />   vwLeft </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> Lt;<br />  </span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000"><br />   vwLeft </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> Math.max(Math.round((document.body.offsetWidth</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">vwWidth)</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">),</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">);<br />  </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(Tt)<br />   vwTitle </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> Tt;<br />  </span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000"><br />   vwTitle </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">无标题</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br />  </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(Txt)<br />   vwText </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> Txt;<br />  </span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000"><br />   vwText </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">无内容</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br />  </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(stat)<br />   vwStat </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> stat;<br />  </span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000"><br />   vwStat </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">""</span><span style="COLOR: #000000">;<br />  document.getElementById(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">vwin</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">).style.height </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> vwHeight;<br />  document.getElementById(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">vwin</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">).style.width </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> vwWidth;<br />  document.getElementById(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">vwin</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">).style.left </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> vwLeft;<br />  document.getElementById(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">vwin</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">).style.top </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> vwTop;<br />  document.getElementById(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">vwTitle</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">).innerText </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> vwTitle;<br />  document.getElementById(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">vwText</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">).innerHTML </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> vwText;<br />  document.getElementById(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">vwStatus</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">).innerHTML </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> vwStat;<br />  document.getElementById(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">vwin</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">).style.visibility </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">visible</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br /> }<br /></span><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000"> xy()<br /> {<br />  tbx </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> event.offsetX </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">29</span><span style="COLOR: #000000">;<br />  tby </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> event.offsetY </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">4</span><span style="COLOR: #000000">;<br /> }<br /></span><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000"> dr_mv()<br />{<br />  </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(event.button</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">)<br />   {<br />   document.getElementById(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">vwin</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">).style.left </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> document.body.scrollLeft </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> event.clientX</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">tbx;<br />   document.getElementById(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">vwin</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">).style.top </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> document.body.scrollTop </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> event.clientY</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">tby;<br />   }<br />}<br /></span><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000"> hidevw()<br /> {<br />  document.getElementById(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">vwin</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">).style.visibility </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">hidden</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br /> }<br /></span><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000"> run_script()<br />{<br />    </span><span style="COLOR: #0000ff">var</span><span style="COLOR: #000000"> msg </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">""</span><span style="COLOR: #000000">;<br />    </span><span style="COLOR: #0000ff">var</span><span style="COLOR: #000000"> cmd;<br />    </span><span style="COLOR: #0000ff">var</span><span style="COLOR: #000000"> type;<br />    </span><span style="COLOR: #0000ff">var</span><span style="COLOR: #000000"> txt </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> document.getElementById(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">in_cmd</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">).value;<br />    </span><span style="COLOR: #0000ff">try</span><span style="COLOR: #000000"><br />    {<br />        cmd </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> eval(txt);<br />        type </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">typeof</span><span style="COLOR: #000000"> (cmd);<br />    }<br />    </span><span style="COLOR: #0000ff">catch</span><span style="COLOR: #000000">(e)<br />    {<br />        cmd </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">""</span><span style="COLOR: #000000">;<br />        type </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">""</span><span style="COLOR: #000000">;<br />        msg </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">输入的变量不存在，请检查变量名，注意大小写！</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br />    }<br />    </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(type </span><span style="COLOR: #000000">===</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">string</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">)<br />        msg </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">长度：</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">cmd.length;<br />    </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(cmd </span><span style="COLOR: #000000">===</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">null</span><span style="COLOR: #000000">)<br />        msg </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">变量为空值！</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br />    </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(cmd </span><span style="COLOR: #000000">===</span><span style="COLOR: #000000"> undefined)<br />        msg </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">变量未初始化！</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br />    alert(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">值：</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">cmd</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">\n</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">类型：</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">type</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">\n</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">msg);<br />}<br /></span><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000"> debug()<br />{<br />    </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(event.ctrlKey </span><span style="COLOR: #000000">&amp;&amp;</span><span style="COLOR: #000000"> event.keyCode </span><span style="COLOR: #000000">==</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">68</span><span style="COLOR: #000000">)<br />        {<br />        </span><span style="COLOR: #0000ff">var</span><span style="COLOR: #000000"> DBG_txt </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">""</span><span style="COLOR: #000000">;<br />        DBG_txt </span><span style="COLOR: #000000">+=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&lt;br /&gt;&lt;center&gt;&lt;b&gt;请输入命令&lt;/b&gt;&lt;br /&gt;&lt;input type=\</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">text\</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> style=\</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">text</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">align:center;\</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> value=\</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">\</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> size=40 id=in_cmd&gt;&lt;br /&gt;&lt;input type=\</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">button\</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> value=\</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">显示</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">运行\</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> onclick=\</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">run_script()\</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br />        DBG_txt </span><span style="COLOR: #000000">+=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&lt;/center&gt;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br />        showvw(</span><span style="COLOR: #000000">31</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">350</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">Debug</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,DBG_txt,</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">debug.gif</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">""</span><span style="COLOR: #000000">);<br />        document.getElementById(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">in_cmd</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">).focus();<br />        }<br />}<br />document.body.onkeydown </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> debug;</span></div><br /><img src ="http://www.blogjava.net/zhangrenquan/aggbug/55893.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhangrenquan/" target="_blank">kelven</a> 2006-06-30 11:05 <a href="http://www.blogjava.net/zhangrenquan/articles/55893.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>showModalDialog和showModelessDialog使用心得</title><link>http://www.blogjava.net/zhangrenquan/articles/55883.html</link><dc:creator>kelven</dc:creator><author>kelven</author><pubDate>Fri, 30 Jun 2006 02:47:00 GMT</pubDate><guid>http://www.blogjava.net/zhangrenquan/articles/55883.html</guid><wfw:comment>http://www.blogjava.net/zhangrenquan/comments/55883.html</wfw:comment><comments>http://www.blogjava.net/zhangrenquan/articles/55883.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhangrenquan/comments/commentRss/55883.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhangrenquan/services/trackbacks/55883.html</trackback:ping><description><![CDATA[<p>
				<strong>一、showModalDialog和showModelessDialog有什么不同？</strong>
				<br />　　showModalDialog：被打开后就会始终保持输入焦点。除非对话框被关闭，否则用户无法切换到主窗口。类似alert的运行效果。<br />　　showModelessDialog：被打开后，用户可以随机切换输入焦点。对主窗口没有任何影响(最多是被挡住一下而以。:P)</p>
		<p>
				<strong>二、怎样才让在showModalDialog和showModelessDialog的超连接不弹出新窗口？</strong>
				<br />　　在被打开的网页里加上&lt;base target="_self"&gt;就可以了。这句话一般是放在&lt;html&gt;和&lt;body&gt;之间的。</p>
		<p>
				<strong>三、怎样才刷新showModalDialog和showModelessDialog里的内容？</strong>
				<br />　　在showModalDialog和showModelessDialog里是不能按F5刷新的，又不能弹出菜单。这个只能依靠javascript了，以下是相关代码：</p>
		<p>&lt;body onkeydown="if (event.keyCode==116){reload.click()}"&gt;<br />&lt;a id="reload" href="filename.htm" style="display:none"&gt;reload...&lt;/a&gt;</p>
		<p>　　将filename.htm替换成网页的名字然后将它放到你打开的网页里，按F5就可以刷新了，注意，这个要配合&lt;base target="_self"&gt;使用，不然你按下F5会弹出新窗口的。</p>
		<p>
				<strong>四、如何用javascript关掉showModalDialog(或showModelessDialog)打开的窗口。</strong>
				<br />　　&lt;input type="button" value="关闭" onclick="window.close()"&gt;<br />　　也要配合&lt;base target="_self"&gt;，不然会打开一个新的IE窗口，然后再关掉的。</p>
		<p>
				<strong>五、showModalDialog和showModelessDialog数据传递技巧。</strong>
				<br />　　(作者语：本来想用一问一答形式来写的，但是我想不出这个怎么问，所以只好这样了。)<br />　　这个东西比较麻烦，我改了好几次了不是没办法说明白(语文水平越来越差了)，只好用个例子说明了。<br />　　例子：<br />　　　　现在需要在一个showModalDialog(或showModelessDialog)里读取或设置一个变量var_name</p>
		<p>　　　　　　一般的传递方式：<br />　　　　　　　　window.showModalDialog("filename.htm",var_name)<br />　　　　　　　　//传递var_name变量<br />　　　　　　在showModalDialog(或showModelessDialog)读取和设置时：<br />　　　　　　　　alert(window.dialogArguments)//读取var_name变量<br />　　　　　　　　window.dialogArguments="oyiboy"//设置var_name变量<br />　　　　这种方式是可以满足的，但是当你想在操作var_name同时再操作第二个变理var_id时呢？就无法再进行操作了。这就是这种传递方式的局限性。<br />　　　　<br />　　　　　　以下是我建议使用的传递方式：<br />　　　　　　　　window.showModalDialog("filename.htm",window)<br />　　　　　　　　//不管要操作什么变量，只直传递主窗口的window对象<br />　　　　　　在showModalDialog(或showModelessDialog)读取和设置时：<br />　　　　　　　　alert(window.dialogArguments.var_name)//读取var_name变量<br />　　　　　　　　window.dialogArguments.var_name="oyiboy"//设置var_name变量</p>
		<p>　　　　　　　　同时我也可以操作var_id变量<br />　　　　　　　　alert(window.dialogArguments.var_id)//读取var_id变量<br />　　　　　　　　window.dialogArguments.var_id="001"//设置var_id变量</p>
		<p>　　　　　　　　同样还可以对主窗口的任何对象进行操作，如form对象里的元素。<br />　　　　　　　　window.dialogArguments.form1.index1.value="这是在设置index1元素的值"</p>
		<p>
				<strong>六、多个showModelessDialog的相互操作。</strong>
				<br />　　因为光说很费劲，我就偷点懒，直接用代码来说了，如果不明白的话那就直接来信(oyiboy#163.net(使用时请将#改成@))问我吧。</p>
		<p>　　以下代码的主要作用是在一个showModelessDialog里移动别一个showModelessDialog的位置。</p>
		<p>　　主文件的部份js代码。<br />　　var s1=showModelessDialog('控制.htm',window,"dialogTop:1px;dialogLeft:1px"） //打开控制窗口<br />　　var s2=showModelessDialog('about:blank',window,"dialogTop:200px;dialogLeft:300px"）　　//打开被控制窗口</p>
		<p>　　控制.htm的部份代码。<br />　　&lt;script&gt;<br />　　　　//操作位置数据，因为窗口的位置数据是"xxxpx"方式的，所以需要这样的一个特殊操作函数。<br /> function countNumber(A_strNumber,A_strWhatdo)<br /> {<br />  A_strNumber=A_strNumber.replace('px','')<br />  A_strNumber-=0<br />  switch(A_strWhatdo)<br />  {<br />  case "-":A_strNumber-=10;break;<br />  case "+":A_strNumber+=10;break;<br />  }<br />  return A_strNumber + "px"<br /> }<br />　　&lt;/script&gt;<br />　　&lt;input type="button" onclick="window.dialogArguments.s2.dialogTop=countNumber(window.dialogArguments.s2.dialogTop,'-')" value="上移"&gt;<br />　　&lt;input type="button" onclick="window.dialogArguments.s2.dialogLeft=countNumber(window.dialogArguments.s2.dialogLeft,'-')" value="左移"&gt;<br />　　&lt;input type="button" onclick="window.dialogArguments.s2.dialogLeft=countNumber(window.dialogArguments.s2.dialogLeft,'+')" value="右移"&gt;<br />　　&lt;input type="button" onclick="window.dialogArguments.s2.dialogTop=countNumber(window.dialogArguments.s2.dialogTop,'+')" value="下移"&gt;</p>
		<p>　　以上关键部份是：<br />　　　　窗口命名方式：var s1=showModelessDialog('控制.htm',window,"dialogTop:1px;dialogLeft:1px"）<br />　　　　变量访问方式：window.dialogArguments.s2.dialogTop</p>
		<p>　　这个例子只是现实showModelessDialog与showModelessDialog之间的位置操作功能，通过这个原理，在showModelessDialog之间相互控制各自的显示页面，传递变量和数据等。这要看各位的发挥了。</p><img src ="http://www.blogjava.net/zhangrenquan/aggbug/55883.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhangrenquan/" target="_blank">kelven</a> 2006-06-30 10:47 <a href="http://www.blogjava.net/zhangrenquan/articles/55883.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>HTML页面如何象asp一样接受参数!</title><link>http://www.blogjava.net/zhangrenquan/articles/55882.html</link><dc:creator>kelven</dc:creator><author>kelven</author><pubDate>Fri, 30 Jun 2006 02:45:00 GMT</pubDate><guid>http://www.blogjava.net/zhangrenquan/articles/55882.html</guid><wfw:comment>http://www.blogjava.net/zhangrenquan/comments/55882.html</wfw:comment><comments>http://www.blogjava.net/zhangrenquan/articles/55882.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhangrenquan/comments/commentRss/55882.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhangrenquan/services/trackbacks/55882.html</trackback:ping><description><![CDATA[<p>&lt;script language="JavaScript"&gt;<br />  var pos,str,para,parastr,tempstr1;<br />  tempstr="";<br />  str = window.location.href;<br />  pos = str.indexOf("?")<br />  parastr = str.substring(pos+1);<br />  document.write("&lt;br&gt;文件路径："+str);<br />  if (pos&gt;0){<br />    document.write("&lt;br&gt;所有参数："+parastr);<br />  }<br />  else {<br />    document.write ("无参数");<br />  }</p>
		<p>
				<br />  if (str.indexOf("&amp;")&gt;0){<br />    para = parastr.split("&amp;");<br />    for(i=0;i&lt;para.length;i++) {<br />      tempstr1 = para[i];<br />      pos = tempstr1.indexOf("=");<br />      //document.write (tempstr1.substring(0,pos));<br />      document.write ("&lt;br&gt;参数"+i+":"+tempstr1.substring(0,pos));<br />      document.write ("等于:"+tempstr1.substring(pos+1));<br />    }<br />  }<br />&lt;/script&gt;</p>
		<p>
				<br /> <br />&lt;script language="javascript"&gt;<br /> function inhtm() {<br />  var n = document.location.search.substring(1);<br />  var s = n.substring(n.indexOf("=")+1, n.length);<br />  document.write ("ID=:"+s);<br /> }<br />&lt;/script&gt;</p><img src ="http://www.blogjava.net/zhangrenquan/aggbug/55882.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhangrenquan/" target="_blank">kelven</a> 2006-06-30 10:45 <a href="http://www.blogjava.net/zhangrenquan/articles/55882.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>关于document.execCommand()函数可用参数</title><link>http://www.blogjava.net/zhangrenquan/articles/55881.html</link><dc:creator>kelven</dc:creator><author>kelven</author><pubDate>Fri, 30 Jun 2006 02:44:00 GMT</pubDate><guid>http://www.blogjava.net/zhangrenquan/articles/55881.html</guid><wfw:comment>http://www.blogjava.net/zhangrenquan/comments/55881.html</wfw:comment><comments>http://www.blogjava.net/zhangrenquan/articles/55881.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhangrenquan/comments/commentRss/55881.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhangrenquan/services/trackbacks/55881.html</trackback:ping><description><![CDATA[2D-Position 允许通过拖曳移动绝对定位的对象。 <br />AbsolutePosition 设定元素的 position 属性为“absolute”(绝对)。 <br />BackColor 设置或获取当前选中区的背景颜色。 <br />BlockDirLTR 目前尚未支持。 <br />BlockDirRTL 目前尚未支持。 <br />Bold 切换当前选中区的粗体显示与否。 <br />BrowseMode 目前尚未支持。 <br />Copy 将当前选中区复制到剪贴板。 <br />CreateBookmark 创建一个书签锚或获取当前选中区或插入点的书签锚的名称。 <br />CreateLink 在当前选中区上插入超级链接，或显示一个对话框允许用户指定要为当前选中区插入的超级链接的 URL。 <br />Cut 将当前选中区复制到剪贴板并删除之。 <br />Delete 删除当前选中区。 <br />DirLTR 目前尚未支持。 <br />DirRTL 目前尚未支持。 <br />EditMode 目前尚未支持。 <br />FontName 设置或获取当前选中区的字体。 <br />FontSize 设置或获取当前选中区的字体大小。 <br />ForeColor 设置或获取当前选中区的前景(文本)颜色。 <br />FormatBlock 设置当前块格式化标签。 <br />Indent 增加选中文本的缩进。 <br />InlineDirLTR 目前尚未支持。 <br />InlineDirRTL 目前尚未支持。 <br />InsertButton 用按钮控件覆盖当前选中区。 <br />InsertFieldset 用方框覆盖当前选中区。 <br />InsertHorizontalRule 用水平线覆盖当前选中区。 <br />InsertIFrame 用内嵌框架覆盖当前选中区。 <br />InsertImage 用图像覆盖当前选中区。 <br />InsertInputButton 用按钮控件覆盖当前选中区。 <br />InsertInputCheckbox 用复选框控件覆盖当前选中区。 <br />InsertInputFileUpload 用文件上载控件覆盖当前选中区。 <br />InsertInputHidden 插入隐藏控件覆盖当前选中区。 <br />InsertInputImage 用图像控件覆盖当前选中区。 <br />InsertInputPassword 用密码控件覆盖当前选中区。 <br />InsertInputRadio 用单选钮控件覆盖当前选中区。 <br />InsertInputReset 用重置控件覆盖当前选中区。 <br />InsertInputSubmit 用提交控件覆盖当前选中区。 <br />InsertInputText 用文本控件覆盖当前选中区。 <br />InsertMarquee 用空字幕覆盖当前选中区。 <br />InsertOrderedList 切换当前选中区是编号列表还是常规格式化块。 <br />InsertParagraph 用换行覆盖当前选中区。 <br />InsertSelectDropdown 用下拉框控件覆盖当前选中区。 <br />InsertSelectListbox 用列表框控件覆盖当前选中区。 <br />InsertTextArea 用多行文本输入控件覆盖当前选中区。 <br />InsertUnorderedList 切换当前选中区是项目符号列表还是常规格式化块。 <br />Italic 切换当前选中区斜体显示与否。 <br />JustifyCenter 将当前选中区在所在格式化块置中。 <br />JustifyFull 目前尚未支持。 <br />JustifyLeft 将当前选中区所在格式化块左对齐。 <br />JustifyNone 目前尚未支持。 <br />JustifyRight 将当前选中区所在格式化块右对齐。 <br />LiveResize 迫使 MSHTML 编辑器在缩放或移动过程中持续更新元素外观，而不是只在移动或缩放完成后更新。 <br />MultipleSelection 允许当用户按住 Shift 或 Ctrl 键时一次选中多于一个站点可选元素。 <br />Open 目前尚未支持。 <br />Outdent 减少选中区所在格式化块的缩进。 <br />OverWrite 切换文本状态的插入和覆盖。 <br />Paste 用剪贴板内容覆盖当前选中区。 <br />PlayImage 目前尚未支持。 <br />Print 打开打印对话框以便用户可以打印当前页。 <br />Redo 目前尚未支持。 <br />Refresh 刷新当前文档。 <br />RemoveFormat 从当前选中区中删除格式化标签。 <br />RemoveParaFormat 目前尚未支持。 <br />SaveAs 将当前 Web 页面保存为文件。 <br />SelectAll 选中整个文档。 <br />SizeToControl 目前尚未支持。 <br />SizeToControlHeight 目前尚未支持。 <br />SizeToControlWidth 目前尚未支持。 <br />Stop 目前尚未支持。 <br />StopImage 目前尚未支持。 <br />StrikeThrough 目前尚未支持。 <br />Subscript 目前尚未支持。 <br />Superscript 目前尚未支持。 <br />UnBookmark 从当前选中区中删除全部书签。 <br />Underline 切换当前选中区的下划线显示与否。 <br />Undo 目前尚未支持。 <br />Unlink 从当前选中区中删除全部超级链接。 <br />Unselect 清除当前选中区的选中状态。<img src ="http://www.blogjava.net/zhangrenquan/aggbug/55881.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhangrenquan/" target="_blank">kelven</a> 2006-06-30 10:44 <a href="http://www.blogjava.net/zhangrenquan/articles/55881.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>使input中的内容为只读!</title><link>http://www.blogjava.net/zhangrenquan/articles/55879.html</link><dc:creator>kelven</dc:creator><author>kelven</author><pubDate>Fri, 30 Jun 2006 02:42:00 GMT</pubDate><guid>http://www.blogjava.net/zhangrenquan/articles/55879.html</guid><wfw:comment>http://www.blogjava.net/zhangrenquan/comments/55879.html</wfw:comment><comments>http://www.blogjava.net/zhangrenquan/articles/55879.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhangrenquan/comments/commentRss/55879.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhangrenquan/services/trackbacks/55879.html</trackback:ping><description><![CDATA[<font face="宋体" color="#000000" size="4">
				<p>
						<font face="宋体" color="#000000" size="4">使用户不能更改输入框中的内容：</font>
				</p>
				<p>
						<strong>
								<font face="Arial">
										<font size="4">
												<font color="#000000">&lt;input type=text value="中国" onfocus=this.blur()</font>&gt;</font>
								</font>
						</strong>
						<br />
						<input onfocus="this.blur()" value="中国" />
				</p>
				<p>
						<font face="Arial">
								<strong>
										<font size="4">&lt;input type=text value="中国" readonly&gt;    <font color="#006400">//只读</font></font>
								</strong>
						</font>
						<br />
						<input readonly="" value="中国" />
				</p>
				<p>
						<font face="Arial">
								<strong>
										<font size="4">&lt;input type=text value="中国" disabled&gt;     <font color="#006400">//禁用</font></font>
								</strong>
						</font>
						<br />
						<input disabled="" value="中国" />
				</p>
		</font><img src ="http://www.blogjava.net/zhangrenquan/aggbug/55879.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhangrenquan/" target="_blank">kelven</a> 2006-06-30 10:42 <a href="http://www.blogjava.net/zhangrenquan/articles/55879.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>几个使用CSS样式的漂亮按钮</title><link>http://www.blogjava.net/zhangrenquan/articles/55878.html</link><dc:creator>kelven</dc:creator><author>kelven</author><pubDate>Fri, 30 Jun 2006 02:41:00 GMT</pubDate><guid>http://www.blogjava.net/zhangrenquan/articles/55878.html</guid><wfw:comment>http://www.blogjava.net/zhangrenquan/comments/55878.html</wfw:comment><comments>http://www.blogjava.net/zhangrenquan/articles/55878.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhangrenquan/comments/commentRss/55878.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhangrenquan/services/trackbacks/55878.html</trackback:ping><description><![CDATA[Error convertoring HTML to XHTML: System.ArgumentException: Cannot have ']]&gt;' inside an XML CDATA block.
   at System.Xml.XmlTextWriter.WriteCData(String text)
   at System.Xml.XmlWriter.WriteNode(XmlReader reader, Boolean defattr)
   at FreeTextBoxControls.Support.Formatter.HtmlToXhtml(String input)<img src ="http://www.blogjava.net/zhangrenquan/aggbug/55878.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhangrenquan/" target="_blank">kelven</a> 2006-06-30 10:41 <a href="http://www.blogjava.net/zhangrenquan/articles/55878.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>