<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
  <channel>
    <title>http://www.caojianghua.com</title>
    <description>人的一生中成功的定义是：成功=目标+胸怀+勇气+坚持+聪明。然而聪明只不过是成功中的第五要素而已。

我不是最美，但我可以最可爱；我不是最聪明，但我可以最勤奋；我不是最幸福，但我可以最乐观。</description>
    <link>http://arden.javaeye.com</link>
    <language>UTF-8</language>
    <copyright>Copyright 2003-2008, JavaEye.com</copyright>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <generator>JavaEye - 做最棒的软件开发交流社区</generator>
      <item>
        <title>Plurk红了，但我还想想再想想Twitter的４个新变种[藏]</title>
        <author>Arden</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://arden.javaeye.com">Arden</a>&nbsp;
          链接：<a href="http://arden.javaeye.com/blog/206953" style="color:red;">http://arden.javaeye.com/blog/206953</a>&nbsp;
          发表时间: 2008年06月21日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          有些人反映，他们就是不用twitter嘛，所以看到twitter的文章就自动跳过去（哭）。不过twitter愈来愈有趣，尤其是看到上上周，自己在第一时间写了「Plurk炫风吹」一文，为最近在台湾这边吹起的Plurk风打响首发炮（不知道是不是第一炮？）。
Twitter太简单，所以创业家要做，大概很快就可以做起来；不会写程序的，网络上各家外包仲介站现在最热门的需求就是「twitter clone」，许多人跑来印度问同样的事情「请帮我做一个twitter好吗？」他们也很有默契，以PHP来说，当前网络上极难查找免费的twitter原始码，有的像Sweetter则是以较冷门的程序语言Python写的，另有一家厂商ReVou最努力推销，一个授权卖400美元。就算买来这些原始码，也不可能做到Plurk的程度，但Plurk基本上是朝着Twitter那小于1%的一百万迷哥迷姐们而来，而你做的新的twitter，可以朝着另外那高达99%的3亿多个还没开始使用twitter的泡网人口而来（以上数字以英语市场为准）。所以我觉得，下一个twitter成功，不是技术或创意的问题，而是行销的问题。
同样一只twitter，被真正懂得搞线上行销人员加以包装后，改头换面，让「另一批人」想要用它。因为一般人打死也不想拚命写140字的「what I am doing?」，没这么社交化，但「另一批人」或许想玩其他的东西。我想，应该来整理一下最近「twitter变种」，以下是四个变种。

注意，这些「twitter变种」并非环绕在twitter身边的那些各式各样的加强插件或程序，他们自己就是twitter，玩法也和twitter一模一样，但有别于那些模仿猫，它们玩的是完全不同的主题──
一、你今天写了多少书？twitter让人每次写一点点，写完就没了。有没有人想到，如果把这些字字珠讥、字字精华的小文，一条一条的「接」在一起，成为一篇大文！这个概念是所有Twitter周边的设备所没有的，日本人做的外销网站Quillpill八成就是看到这点，做了一个专给人「写书」的微型部落格系统。你在手机上可以一句一句的写。你说，难道twitter不能拿来写书吗？来看看这个Quillpill的个人首页便可发现，Quillpill主要呈现页面是「从旧到新」（而非从新到旧），而且没有一些杂七杂八的「何时写的」、「谁写的」，从头到尾，就是一句一句的接下来。至于微型部落格这种不能倒置的写作模式是否真能成一本书，我们抱持怀疑，但至少拿来写写散文集、诗集、情话大全……是很适合的。Quillpill 从头到尾只是改了版型与排列方式而已，便帮Twitter改头换面。

二、你今天拍照到什么？从前就有这种「手机拍照，马上寄送泡网给大家看」的点子，也都有做出来，但那时候还没有twitter的这种带有一点简单社群味道的分享方式，假如将以前那种手机拍照网，加上twitter呢？就是新网站Twitxr（文章见此）、Zannel（文章见此）、Twitpic在做的事了。不过，我不喜欢他们的做法，它们得被强制变得更简单才行。譬如，再做一个站，完全不能写字，不能放文章，也不能放影片，抱歉，只能照相，放照片；不要废话，只管照相，完全只让照片说话，让照片和其他人打屁交流，或许，这真的可以是另一个超级甜蜜点！
三、你今天吃什么？今天吃了什么东西，大家都有东西可写，只要这句话，真的也蛮好玩的。于是就出现了FoodFeed（文章见此）。这个网站设计得让人真的胃口大开，想跟着这些人好好的吃一顿。FoodFeed的发送方式完全黏着twitter，可以在twitter内直接使用，但若只想看美食的部份，要来到FoodFeed本站才过瘾。还有哪些其他的日常生活记事，可以自分出来，画一个很有情境的站，然后与Twitter接轨？
四、你今天看到附近交通如何？塞车的时候很不爽，不爽的时候就玩手机，玩手机就一定玩到twitter，干脆就顺便告诉twitter，你在哪里碰到塞车、哪里有车祸吧。CommuterFeed打的就是这一块，让大家看到当前哪里有问题。这个网站的使用情境比较狭窄、「不有趣」，但它对准的却是人们「最无聊」的时光。无聊的时候，拿着手机，只要有一个地方让他们寄简讯、短消息，他们还会真的寄了！还有哪些无聊的时光，这些无聊的时光又有哪些主题可以想？譬如，店家在等客人的时光？譬如，学生在排队等着抢买Hello Kitty的时光？帮这些人想出一个主题，他们就会开始写微型部落格！
对于其他「twitter变种」，我其实已经着手进行两个想法，其中一个想法Voofox已快要制作完成，这个「Project V」（另一个专案，抱歉我们官网最近都没有更新）正在实现中，这个月就会开站，并需要找几位当前在学学生来帮忙，帮忙的好处，除了先使用并成为站内前十名会员外，我们会代出旅行与餐宿费用，但您必须是当前在学的大学或研究所学生。有兴趣者请来信附手机，并注明您当前念的学校及科系系所与几年级，感谢。
          <br/>
          <span style="color:red;">
            <a href="http://arden.javaeye.com/blog/206953#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sat, 21 Jun 2008 16:07:55 +0800</pubDate>
        <link>http://arden.javaeye.com/blog/206953</link>
        <guid>http://arden.javaeye.com/blog/206953</guid>
      </item>
      <item>
        <title>推荐：8个令人喷饭叫绝的网站[藏]</title>
        <author>Arden</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://arden.javaeye.com">Arden</a>&nbsp;
          链接：<a href="http://arden.javaeye.com/blog/206954" style="color:red;">http://arden.javaeye.com/blog/206954</a>&nbsp;
          发表时间: 2008年06月19日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          以下列出的网站主人，一直都在坚持从网络的海量信息里精选出最酷、最拽、最意想不到、最让人喷饭叫绝的新事情、新东西，我们觉得，这或许才是互联网的真正价值所在，或许你能从里面得到点什么启发。
1、脸的神奇 → www.facekoo.com
　　听妈妈说最IN的结识朋友的方式已经不是传统的QQ搜索了，公安局用来搜索恐怖份子的人脸识别技术也可以用来寻找你的第一眼情缘了。与你相似的TA也许正在地球的某个角落等待你的搜索……
　　
2、地球死亡直播 → http://www.breathingearth.net/
　　我们在这里可以看到每一个国家的出生和死亡人数，以及像自杀般向大气中排放的二氧化碳数量时，相信我，那种感觉就像是上帝一样。　
3、说出你的秘密 → http://secret.moumentei.com/
　　“老婆生完孩子完全走形了，实在引不起性趣。老婆，所谓加班很累是我骗你的……”这是一家专门让人分享内心秘密的网站，对于有着窥私欲的人来说，还有什么比这更刺激的事情。
4、手套找到啦！ → http://www.onecoldhand.com/
　　　　捡到手套的好心人可以把手套照片上传网站，等待手套原主人的认领，在这里手套的归属早已不重要了，站长只是想通过网站告诉人们，无论不幸或大或小，至少我们还有善良与希望。
5、网上涂鸦当签名 → http://www.liveearthtree.com/
　　微软倡导的环保活动，全世界的网友都可以用网站提供的涂鸦笔画奇形怪状的树叶（每片树叶代表一棵树），同时写下有关捍卫环保、植物和自然的一句宣言。
6、单挑网络最强者 → http://www.recordcup.com/
　　　这是个在怪事丛生的网络里“强中比强”的网站，比如你刚上传了一段做200个俯卧撑的视频，马上就会有人上传500个俯卧撑的视频比拼，让你懂得什么叫做光怪陆离的世界！
　　
7、闲聊大如天 → http://www.meebo.com/
　　一个整合了MSN、Gtalk、ICQ、Yahoo等多款即时通讯软件，达到互联互通效果的站点，唯一的遗憾是，没有我们国人最爱的QQ。
　　
8、进入猫用相机新视界 → http://www.mr-lee-catcam.de/
　　　　爱猫人有福了，想知道小猫咪一天都在干什么？给它们的脖子上挂台相机吧。每隔90秒相机就会自动拍照，让你知道你的小心肝在背地里都在搞什么名堂。
　　
　　很难给“创意” 下一个准确的定义，你甚至可以说互联网中正在发生的一切都是来自于创意。但是我们宁愿将“创意”视为一个单纯的褒义词语，而不是还要把它们分发到诸如芙蓉姐姐那些依靠卖丑装傻炒作的事情上去。所以无论是“地球死亡直播”还是“脸的神奇”，一个好的创意网站，应该就像“手套找到啦”的站长说的那样，能够让人知道，无论是在幸福或是不幸背后，都还藏有善良与希望。
          <br/>
          <span style="color:red;">
            <a href="http://arden.javaeye.com/blog/206954#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 19 Jun 2008 22:41:56 +0800</pubDate>
        <link>http://arden.javaeye.com/blog/206954</link>
        <guid>http://arden.javaeye.com/blog/206954</guid>
      </item>
      <item>
        <title>以失败告终：个人创业六大死穴[藏]</title>
        <author>Arden</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://arden.javaeye.com">Arden</a>&nbsp;
          链接：<a href="http://arden.javaeye.com/blog/206955" style="color:red;">http://arden.javaeye.com/blog/206955</a>&nbsp;
          发表时间: 2008年06月19日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          　　据悉，超过一半的创业个案最终都以失败而告终。很多创业者都会有这样的经历：创业前认为最艰难的时期是筹备创业的阶段，而创业后，却发现公司运转后，各式各样的问题接踵而至，以下是一些值得关注的不良创业经营习惯。
　　熟人搭伙好开饭
　　很多创业者在选择“合伙人”时，总喜欢在熟悉的“圈子”里找。由于彼此熟悉了解，因此在创业初期常凭感情做事，忽视了必备的契约签定和严格的约束制度。于是，随着企业的成长，这种工作关系引发的矛盾和问题逐渐显露，不仅不利于企业发展，有时甚至导致企业步入破产境地。
　　哪儿热闹奔哪儿
　　有些创业者在确定经营方向时爱盲目跟风，哪行赚钱就做哪行，总觉得这样能少走弯路。然而，市场运作有其自然周期及空间，一旦跟错了，就会掉进投资的陷阱。因此，创业前周密的市场调查和理性的分析尤为重要。
　　短视老板短命店
　　因为中国曾经缺乏创业环境，所以，我们的企业家就像个被带进烧饼店的饿鬼，抓到什么吃什么。很多企业家彼此的区别就是有的被带进了烧饼店，有的被带进了饺子店，不远处全聚德的招牌却没人看见。没有长远战略规划的企业是短命的。
　　贪大求全死得快
　　企业在创建以后，成长是个必经的过程。如果过分追求成长速度，无异拔苗助长。其实，企业经营好比一场马拉松比赛，不是看谁现在跑得快，而是看谁能在关键时刻跑到别人前面去。在创业过程中，当企业效益逐渐凸现后，创业者不能一味地扩大营运规模，而应关注并妥善处理资金预算、市场预测，以及材料、人员相关要素的协调等管理问题。如果对这些问题没做好充分准备，高速的增长只能带来巨大风险。
　　你办事我不放心
　　无论作为老板的你有多能干，都不可能一个人做完所有工作。在不同专业范围内雇用有关的专才，给予他们发挥的空间，才能令公司得到最大利益。
　　很多大老板就是学不会信任下属。商战的现实已经证明，一头狮子领导的绵羊是很难“走出非洲”的。
　　跑得又快又省料
　　“多快好时，这是理想化到几乎无理性的说法。又要马儿跑，又要马儿不吃草；似乎是萦绕在大多数老板心中的、对下属的美丽期待。在中国，高薪能不能养廉咱们另说，没有高薪想聘到良将的机会相当渺茫。您要是觉得这么大的一个企业自己玩不转，想找几个帮手，请提前设计好激励机制。
          <br/>
          <span style="color:red;">
            <a href="http://arden.javaeye.com/blog/206955#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 19 Jun 2008 22:41:28 +0800</pubDate>
        <link>http://arden.javaeye.com/blog/206955</link>
        <guid>http://arden.javaeye.com/blog/206955</guid>
      </item>
      <item>
        <title>防止创业团队散伙的十大绝招[转]</title>
        <author>Arden</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://arden.javaeye.com">Arden</a>&nbsp;
          链接：<a href="http://arden.javaeye.com/blog/206956" style="color:red;">http://arden.javaeye.com/blog/206956</a>&nbsp;
          发表时间: 2008年06月07日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          创业团队的分裂，始终是大家关注却又在遗憾当中无可奈何的事，似乎也只能慨叹一句共苦易，同甘难的千古名言而已。然而在大家对着数不胜数的案例出神时，却很少有人将这一规律式的宿命，加以归纳，总结出共性，并在进一步分析之后拿出药方尽管谁都希望能有这样一个药方。本文则给出了防止创业团队散伙的10招法宝，供广大合伙人参考。
首先在理念上要正确。
要坚信组织能够健康发展下去，不要一开始就想着失败，尤其不要用经典的理论只能共苦，不能共甘、天下没有不散的宴席、过河拆桥等来支配自己的思想，脑子里根本不应有这种想法，有这种想法本身就为失败的结局埋下了种子，就像刚开始学习骑自行车一样，发现前面马路中间有一障碍，于是乎你越不想碰上石头，偏偏最后还是碰上了。因为你的精力集中于失败了，你必然失败。
其次，持续不断地沟通。
开始要沟通，遇到问题也要沟通，解决问题时也要沟通，有矛盾时更要沟通，多想有利组织发展的事情。有不同的看法，不要在公开场合辩论，不要把矛盾展示给下属。
第三，发现小人钻空子，坚决开除。
领导之间的矛盾，不要让下属来评论，来解决。
如果双方沟通有困难时，就主动寻找外方的力量，尤其双方都信得过的好朋友来解铃，但不要露出太明显的痕迹。如果发现组织中的小人来利用领导之间的矛盾分歧达到个人的目的和损害组织利益，那就毫不犹豫地坚决开除，不论他是什么人。
第四，就事论事。
当双方矛盾冲突到两个阵营的矛盾时，外力也不能解决时应停止争论，停止人事波动，就问题来解决问题，不要就人来讨论。
第五，换种环境换心境。
双方应出去郊游，散心，不要纠缠在矛盾之中，毕竟双方同是莫逆之交、毕竟是血缘关系和姻亲关系，是世界最紧密的关系，大家撇开工作问题和事业上的矛盾，出去多讨论了人生话题，休闲话题，把利益看淡一些。
第六，丑话说在前面。
最初创业时就把该说的话说到，该立的字据一定要立到。把最基本的责权利说个明白透彻，尤其股权、利益分配更要说清楚，包括增资、扩股、融资、撤资、人事安排、解散等等。
第七，及时协调立据。
任何事情都不可能在最初计划周全，事情是随时都有可能变化的，合作运营过程中，遇到新问题新矛盾一定先说清楚立下字句再行动，千万不要先干再说，因为事情发生后都是朝着自己有利的一方考虑。先干再说，看似快了，其实埋下祸患的种子，将来就不是速度快慢的问题，而是风起云涌、企业组织颠覆性的运动的根源。
第八，不要太计较小事。
难得糊涂对创业合作的各方都是保养自己心灵的鸡汤和企业组织运转的润滑剂，这与前面讲的丑话在前和及时立据看似矛盾，其实不矛盾，前者讲的是在没有形成事实的情况向下的做法，后者是说事实已经形成了就不要太计较了。计较了也于事无补。其实，过后经常会发现双方的计较毫无实际意义。
第九，不要轻易地考验对方。
创业者团队合作起来不是一件容易的事情，不考验还会出事，更何况有意考验对方时，对方肯定经不住考验，因为当你考验对方时，对方不知道，只能是顺着你设定的情景运行，结果肯定是和你设想的一致□没有经得起考验。如果对方知道你在考验他，那你也肯定考验不出来，因为他在心理上和行为上都进行了设防。这不但是瞎子点灯白费蜡，而且还会伤了和气，心理上出现了裂痕。所以既然是合作，就不要动辄考验考验对方，考验是基于不信任为前提的。
第十，一直向前看。
创业合作过程中，遇到问题矛盾应向前看，向前看利益是一致的，因为成功会给大家带来更丰厚的收获；盯住眼前的事情不放，只能是越盯矛盾越多，越盯矛盾越复杂，最后裹步不前；回头看，回忆起合作中的不愉快，会使你伤心，丧失前进的斗志和动力。只有向前看，成功的希望激励着合作的各方摈弃前嫌，勇往直前，抵达成功的彼岸。
          <br/>
          <span style="color:red;">
            <a href="http://arden.javaeye.com/blog/206956#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sat, 07 Jun 2008 23:25:37 +0800</pubDate>
        <link>http://arden.javaeye.com/blog/206956</link>
        <guid>http://arden.javaeye.com/blog/206956</guid>
      </item>
      <item>
        <title>创业者必学的六种植物[转]</title>
        <author>Arden</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://arden.javaeye.com">Arden</a>&nbsp;
          链接：<a href="http://arden.javaeye.com/blog/206957" style="color:red;">http://arden.javaeye.com/blog/206957</a>&nbsp;
          发表时间: 2008年06月03日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          　　大约半年前，曾经写过一篇《创业者必学的七种动物》，引起了很多朋友的共鸣，之后不断有人通过各种渠道跟我探讨，甚至有很多人问是否有创业者该学习的几种植物。一直忙于琐事，也没有静下来好好总结，很是惭愧。闲话少叙，下面说说创业者应该学习的几种植物：
　　1、向日葵。
　　钱钟书说，在没有比向日葵更亲日的人和事物了。对于创业者来说，坚定地目标就是那颗太阳。坚定目标，要做的事就会成为一种习惯。向日葵向日久了，它也就习惯了，人们也就习惯了，不去问它为何要向日。心中有了目标，每一天都从平平淡淡的小事做起，甚至仅仅是每天不厌其烦的重复，它不需要感天动地，不需要惊世骇俗。
　　梵高大师和向日葵的故事也很能说明这个问题。向日葵，一种懂得寻找太阳的植物，有着与梵高本人一样的性格。他在画向日葵之前因为高更要来他的住所，与他一起做画，所以他以向日葵为介体来表达他当时那种无法抑制的兴奋的心情。在我眼里，梵高一直是个忧郁，孤寂的孩子，他不知是否喜欢向日葵。但是，我想他一定是向日葵那种高杆的精神。它是永远明快，开朗，并且灿烂的。
　　创业的第一步其实很简单，定下目标，选好方向，你只要去做就可以了。
　　2、胡杨树。
　　成语里有一句“艰难困苦，玉汝于成”，套在创业历程里，意思是说创业不易。现在流行的“哭够了，喊累了，睡着了，睡醒了，酒醒了又像往常一样，又开始工作了。”其实就是创业者成功后的辛酸史。忍耐是一种美德，对创业者来说，忍耐却是必须具备的品格。
　　胡杨树，或称“胡桐”。它和一般的杨树不同，能忍受荒漠中干旱、多变的恶劣气候，对盐碱有极强的忍耐力。在地下水的含盐量很高的塔克拉玛干沙漠中，照样枝繁叶茂。人们赞美胡杨为“沙漠的脊梁”。
　　胡杨树能够“生而不死一千年，死而不倒一千年，倒而不朽一千年”。为了生存，胡杨树长出不同的叶子，大叶子为了吸收阳光，小叶子为了减少水分的散失，叶片上有腊质，能够锁住每一粒水滴。刘兴亮认为，再没有什么树能够比胡杨更加坚忍的了。
　　这种品德，难道不是创业者最需要的？
　　3、蒲公英。
　　有一种小花结的果实非常有趣，一粒粒黑色果实的顶端带着白色的绒毛像是白色的降落伞，轻轻地摘下一枝放在嘴边，用力一吹，果实便在小伞的帮助下借势飞去，越飞越远，越飞越远……小时候老师告诉过我，这种植物叫做蒲公英。
　　创业是一个在夹缝里求生存的活动，尤其处于社会转轨时期，各项制度、法律环境都不十分健全，创业者只有先顺应社会，才能避免在人事关节上出问题。创业者一定要明势，不但要明政事、商事，还要明世事、人事，这应该是一个创业者的基本素质。
　　在创业的时候，我们必须借各种各样的势，随时准备小风一吹，就能飞出去好远好远。
　　4、小草。
　　“野火烧不尽，春风吹又生”，说的是谁呢？对，就是小草。
　　每个人都惊奇于小草那顽强的生命力，虽然它没有鲜花的美丽，虽然它没有树木的高大与挺拔。它葳蕤于山川、平原；蓬勃在池沼、河岸。即使被人们遗忘的角落，坑坑洼洼，黑暗的地方，它也能顽强的生长，默默地经受着风雨的吹打。它仅凭着薄瘠的黄土，与命运搏斗，同顽石争雄，经过顽强的奋斗，终于带着希望，露面于光明世界。
　　生生灭灭，小草最能经得住折腾。但愿每个创业者都是小草，都有那么顽强的生命力。
　　5、森林中的树。
　　一棵树孤零零地长在旷野上，尽管土壤肥沃，阳光充足，但却长得又矮又歪，不能成材；而森林中的树，密密麻麻，时时处在竞争状态，即每一棵树只有拼命往上长，才能多获得阳光雨露，也才可能生存，其结果是长得又高又直。
　　很多人都见过森林吧，或者一片树林也行，是不是其中的树木棵棵又高又直？而且，一旦一棵树高过所有树，它的树冠就会格外大，这在生物界叫做“顶端优势”，商场上我们称这种现象是“赢者通吃”。
　　森林中的树木都被激发出一种欲望，这种欲望也是每一个创业者必须具备的。“欲”，实际就是一种生活目标，一种人生理想。佛经上有一句话，叫做“无欲则刚”，但要做到“无欲”不是一件容易的事。创业者的欲望与普通人欲望的不同之处在于，他们的欲望往往超出他们的现实，往往需要打破他们现在的立足点，打破眼前的樊笼，才能够实现。所以，创业者的欲望往往伴随着行动力和牺牲精神。
　　创业者的欲望是不安分的，是高于现实的，需要掂起脚才能够得着，有的时候需要跳起来才能够得着。
　　为什么要创业？因为创业者心中有欲望。改变身份，提高地位，积累财富，一切的一切，都是欲望。
　　6、红玫瑰。
　　红玫瑰代表什么？热情、激情。创业者应该向红玫瑰那样，时刻保持着创业的激情，这样才能保持创新精神的生命力，保持对创业伙伴们的激励，保持创业公司的活力。（作者：刘兴亮）
          <br/>
          <span style="color:red;">
            <a href="http://arden.javaeye.com/blog/206957#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 03 Jun 2008 13:38:06 +0800</pubDate>
        <link>http://arden.javaeye.com/blog/206957</link>
        <guid>http://arden.javaeye.com/blog/206957</guid>
      </item>
      <item>
        <title>如何从搜索引擎角度选择你的域名？[转]</title>
        <author>Arden</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://arden.javaeye.com">Arden</a>&nbsp;
          链接：<a href="http://arden.javaeye.com/blog/206958" style="color:red;">http://arden.javaeye.com/blog/206958</a>&nbsp;
          发表时间: 2008年05月26日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          如何从搜索引擎角度选择你的域名？
一个好的域名对一个网站非常的重要，这也是为什么好多公司和个人甚至不惜花几十万上百万的高价去买一个平常最多只需花几百块的域名，那么如何去选择一个好的域名？有人说，容易记，这样便于传播和推广，不错，易记性是域名选择的一个重要点，相信好多人也都知道这点，在这点上，我也不多说了，今天主要从搜索引擎角度重点谈谈如何选择域名的重要性。
下面从四个方面，对如何从搜索引擎角度选择域名，进行一个详细的说明：
一、域名的权重
通常在域名中.edu、.gov、.org等后缀的域名比.com、.cn等的权重高，主要是前者一般是一些非赢利的组织部门，像.edu通常指教育部门网站域名，.gov指的是政府部门域名网站，所以本身在搜索引擎中的权限比较高，但是不是这类域名权限高，就不管做什么网站都选择这类网站呢？回答是否定的，因为域名和内容的相关度也是非常重要的，如果一个商业网站，选择上面权重高的域名，并没有什么优势。接下来谈谈.cn和.com域名的权重，.com的域名一般比.cn的域名权重高，他们两者主要应用在商业领域，由于价格方面的原因，.com的域名现在在搜索中比.cn的域名越来越占优势，特别在百度中，这主要是几块钱就可以买到一个.cn的域名，使这类域名下面的网站质量越来越低，什么人都买个.cn的域名做个网站，甚至拿来做做实验，所以导致.cn域名在搜索中质量越来越差，体验度越来越不好。
二、域名名称的选择及验证
域名名称的选择在搜索角度主要表现两点，域名名称与网站内容的相关度和域名名称被搜索引擎的识别度，域名名称与网站内容的相关度主要表现在你的名称中就表现出你网站的内容，举个很简单的例子，你要做个宏村的网站，www.hongcun.com.cn将是最合适的域名，因为他的相关度非常的高，在搜索引擎中占很大的优势；在说说域名被搜索引擎的识别度，中国人在取域名的时候，很喜欢按着中国人的习惯，在这想通过朋友的一个例子，来说明这块，我有个朋友想做一个芜湖汽车网的网站，然后他选了一个域名，让我给参考下，www.wuhuauto.com这个域名如何？当时我给取了个www.wuhu-auto.com的域名，看起来就只是多了一横，甚至有人认为这是画蛇添足，但就这一横，在搜索引擎中的识别度完全不同，wuhuauto在搜索引擎中很容易被搜索引擎当成一个整体，而无法识别是芜湖汽车网的意思，认为是一个wuhuauto的单词，而中间加一横，搜索引擎就很清楚的知道是wuhu和auto所组成，是芜湖汽车网的意思。
那么如何知道取的域名在搜索引擎中的表现？下面就谈谈验证你的域名在搜索引擎中的表现，把你的域名的中间部分，拿到各个搜索引擎中进行搜索。例如www.ebdoor.com 你把ebdoor这部分，拿到百度、google等搜索引擎上进行搜索，搜索出来的结果中，不但页面数量很多，而且和你要做的网站内容，相关度越高越好。
三、域名的购买年限
有的人觉得很可笑，购买域名的年限和搜索引擎有什么关系？不要在这乱扯，我想大家听完之后自然会明白，域名的购买年限受搜索引擎的影响，主要是因为在搜索引擎中，特别是google，你一般购买年限长的话，它默认你是一个要长期经营的网站，而不是随随便便的做个网站玩玩，对这样的域名，就会多加点权限，也可以说是鼓励鼓励吧。同时，这也很符合现实当中的做网站买域名习惯，如果做一个网站玩玩的人，他根本不会购买多年，因为他根本就没有长期做的打算，所以购买域名，一次买多年比买一年在搜索中要占优势。
四、域名是否被搜索引擎惩罚
有的时候一个站长，从朋友或则是网络上购买一个比较好的域名，就非常的高兴，但往往却忘记了一点，就是这个域名有可能是被搜索引擎算作弊处理过，（域名算作弊处理，主要是站长通过一些不正当的手段，使自己的网站在搜索中得到非常好的关键字排名，被搜索引擎发现，连域名一起带作弊处理，这样算作弊的域名，在搜索引擎中一般不会再被收录。）那么如何查看自己的域名，是否被搜索引擎所惩罚？首先，到中国万网（www.net.cn），对该域名的注册时间进行查询，例如，查询www.ebdoor.com，获得注册时间 2004-05-07 17:26 时间很久了，应该是被搜索引擎收录的；然后在google里输入 site:www.ebdoor.com ，如果有结果，很正常，如果没有结果，就很有可能被惩罚，因为一个新的域名没有被收录很正常，一个很久的域名没有被收录就不怎么正常了。
最后希望通过上面的四点，希望大家能为自己的网站选择更好的域名，在08奥运年做出更好的网站。
          <br/>
          <span style="color:red;">
            <a href="http://arden.javaeye.com/blog/206958#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 26 May 2008 01:02:11 +0800</pubDate>
        <link>http://arden.javaeye.com/blog/206958</link>
        <guid>http://arden.javaeye.com/blog/206958</guid>
      </item>
      <item>
        <title>创业者们的十大迷思[转]</title>
        <author>Arden</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://arden.javaeye.com">Arden</a>&nbsp;
          链接：<a href="http://arden.javaeye.com/blog/206959" style="color:red;">http://arden.javaeye.com/blog/206959</a>&nbsp;
          发表时间: 2008年05月24日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          我最近成了一名风险投资人，所以经常可以遇到一些创业者[1]在创业时常犯的错误。为了避免一遍又一遍的重复说教，我想把这些错误在这里做一个总结：
迷思一：一个好想法就可以让你赚大钱
事实是好想法对于商业成功既不是充分条件也不是必要条件。微软应该算是获得商业成功的典型，但是在它的整个发家史上却找不到一个完全独创的“好想法”。事实上微软正式通过模仿对手的想法并在竞争中打败对手而一步步发展壮大的。Google确实有一些独创的，像Page Rank，Ad-words，廉价机器集群等。但是这些没有一个是由Larry和Sergey想出来的。这并不是说Larry、Sergey和Bill不够聪明，实际上他们三个比任何人都要犀利。但如果你认为他们只是有一天突然有了一个灵感接着就发财了，那只能说你是痴人说梦。
迷思二：东西做出来自然会有人用
有时候事实确实如此。Google就是个好例子。但是像Google这样的公司只是凤毛麟角，更多的公司生产的产品因为这样或者那样的原因卖不出去。我自己就有这样的惨痛经历。那是我在1993年创建的第一家公司，名字叫FlowNet。它同时也是一种新的高速局域网通讯设备的名字。10M的传输速度是当时的标准，但FlowNet提供高达500M的传输速度。在后来的五年中FlowNet一直都是拥有最佳性价比的网络设备。它甚至提供了一个内建的可保证画面质量的视频流媒体服务。如果FlowNet能够得以流行全世界，今天的视频流媒体将比现在的状况要好得多。
但是尽管FlowNet在技术层面上可以打败任何竞争者，它却在商业上遭受了巨大的失败。我们连一块也没有卖出去。原因很简单：它与局域网标准不兼容。如果当时我们做足功课，做些市场调查，我们就会知道兼容性即使不是致命的也将会是个大问题。那样我们就不会把自己数以万计的美元浪费在专利申请和样片生产上了。
迷思三：如果你不申请专利，别人会偷走你的想法
事实上没有人会对你的想法有兴趣，除非你的想法被证明是成功的，但那时对于偷学者为时已晚。即是说真的有人对你的想法非常认同，但是他聪明的话自然会选择跟你合作，如果不是，他做什么都是威胁不到你的。
有时候专利还是有点用的：它会让投资人感觉很保险。但我强烈建议你自己来处理专利申请，通过一些学习你可以做得比专利申请代理商做得更好，而且可以节省一大笔钱。
迷思四：你的看法很重要
事实上你和你的合伙人对你们产品的看法没有任何意义，重要的是客户会怎么看待你们的产品。我们很自然的会假设，如果你和你的伙计们都认为你们的产品很好，那么其他成千上万的人们也会这样认为，事情有的时候是这样，但大多数的时候不是。原因是你是如此的聪明可以设计出这么好的产品，那么你跟那些产品的使用者是不一样的。相对于你，你的客户们要更为平庸一些，他们的口味也会更为平庸一些。如果你的产品是为了迎合那些会在乎你自己在乎的那些东西的人的话，你的用户群将会非常小。
迷思五：盈利模式都是假的
就像迷思二一样，有时候这也是事实。像Carl Sagan常说的“预言是失败的艺术”。你永远也无法知道你的生意会赚多少钱，也无法知道要花多少钱去占领市场。需要盈利模式的理由是让你自己做一个全面的思考，并让自己确信投资将会得到回报。如果你经过计算发现，即使只是要保持不亏损你的用户群也必须比现在的市场大十倍，那么你也许就需要重新考虑了。就像艾森豪威尔说的，计划一无是处，但作计划却不可或缺。
以此为基础，很多创业者们都会犯一个典型的错误。他们常这样说“只要我们占有哪怕是1%的市场份额，我们也会赚大钱”。这样的说法直接暴露出你没有仔细的分析过用户的需求。你也许同样会说“100个客户中至少会有一个客户买我们的东西吧（或者坦白地说，这一点也不能肯定）”。这样想根本无法增强自信心。
迷思六：懂得的知识比认识的人重要
你一直都拒绝否认这一点。从小到大，你都相信聪明比什么都重要，你也不会相信妈妈所说的“学会与他人相处比学习成绩更重要”。
事实是-人际关系比知识要来的重要。这并不是说聪明、有学问没有用。你的学识一定程度上决定了你会被推荐给“谁”。但最终，你认识并信任，更重要的是信任你，的人会比你的学识对你的前程有更大的决定性作用。商业活动是异常复杂的。没有任何一个人有可能具有完成一个商业决定所需要的所有知识和经验，所以精明的人们会把他们的权力下放给其他人。而当他们选择下放的对象是，首先想到的就是他们认识并信任的人。
<此处略去一段关于C程序员和Lisp程序员的对比>
迷思七：博士头衔很有用
实际上拥有博士头衔只能证明你不是低能儿。从我的经验看来，拥有博士头衔只会对获得商业成功产生负面影响。因为在学业上获得成功的方式与在商业上获得成功的方式恰好相反。在学业上，你的同僚决定你的成功，在商业上，你的顾客决定你的成功，而你的顾客，基本上可以肯定的说，不会是你的同僚。
迷思八：我需要500万作为启动资金
事实上除非你是做硬件的，否则你根本就不需要任何的启动资金。Paul Graham 说过很多关于这方面的内容，我就不展开了，之说几句：你不需要启动资金，但你必须愿意自己做。你必须自己实现自己的想法，没有人会为你去做，也没有人会出钱雇人为你去做。原因很简单：如果你都不愿意为你想法的商业潜能而放弃你的休息时间，为什么别人要用他们辛苦赚来的钱为此冒险。
迷思九：有好的想法是我的计划中最重要的部分
事实上好想法基本上没有任何意义，重要的是：
谁是你的顾客
他们为什么要买你的产品
你的团队有些什么人
有哪些风险
迷思十：没有竞争对手再好不过
如果你所处的行业没有竞争对手，最有可能的理由是，它根本就不能赚钱。这个世界上有60亿人口，几乎完全没有可能还存在一个没有任何人发觉的有利可图的市场。
最好的消息莫过于你的竞争对手都很菜。绝大部分的公司都运作的不是特别好。他们制作赝品、欺骗顾客、他们的员工都很傻冒。你总是可以很容易的找到市场机会，进入，然后打败竞争者。你并不想要没有竞争对手，你想要的是差的竞争对手，放心，他们多得是。
额外奖励，迷思十一：上市会让我开心
如果创业的过程让你厌倦，你大概是不会成功的。它是如此艰难，如果你不能从中找到乐趣，它会让你筋疲力尽。即使你通过肮脏的交易变得富有，当你回首往事的时候也只是会惋惜青春的流逝。古董和跑车带来的快乐是短暂的。只有一种快乐是可以用钱买到的：就是当你作为投资人听一个小伙子兴奋的向你讲述他新鲜的商业计划。
所有这些都可以总结成一句话：重要的是客户。商业成功的不只是一个好想法，好想法到处都是。商业成功是需要有一个好想法、组织一个好团队、把想法做成好产品、最终把它卖给客户。很简单，也很复杂。
          <br/>
          <span style="color:red;">
            <a href="http://arden.javaeye.com/blog/206959#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sat, 24 May 2008 23:23:37 +0800</pubDate>
        <link>http://arden.javaeye.com/blog/206959</link>
        <guid>http://arden.javaeye.com/blog/206959</guid>
      </item>
      <item>
        <title>Grails不爽之处</title>
        <author>Arden</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://arden.javaeye.com">Arden</a>&nbsp;
          链接：<a href="http://arden.javaeye.com/blog/206960" style="color:red;">http://arden.javaeye.com/blog/206960</a>&nbsp;
          发表时间: 2008年05月24日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          最近用Grails做了一个网站项目，很多时候确实提高了开发速度，但Grails本身存在很多不好的地方：
1、没有良好的IDE开发工具支持，目前最好的开发工具就是idea，可是idea的plugin对于utf-8编码的groovy文件支持很不好，只要工程设置了编码是utf-8，如果groovy文件里有中文，那么就会出现无法编译。
2、controller分包，当项目做大了的时候会发现把整个项目的controller都放到一个包下面很不好维护，于是你就需要对controller分包，可是分包后如果各个包下出现有同名的controller的时候，Grails无法处理，它会默认把最后加裁的那个controller为标准，前面的就覆盖掉了，就算是你在UrlMapping.groovy里进行配置也配置不了，如果能够在controller里能够象struts2一样给controller指定一个唯一的名字就好。
3、domain的关系映射，这其实归根应该算到hibernate及orm的问题，如果我的领域模型很多，关系很我的时候，这种关系极其麻烦，尤其是对于保存一个领域对象的时候，如果出现一对多的关系的时候，我要保存从表对象时，必须把主表对象查出来给从表对象。如：User –> Message是一对多的关系，当我要保存Message的时候，必须根据用户id找到User对象，然后把User对象付给Message的user属性，这样极为影响性能，增加了不必要的数据库查询。
4、如果对域模型分包之后，那么当在写HQL语句查询的时候要写上完整的包名，这个好象以前在hibernate里是不需要的。
不过总体来说Grails这样的敏捷开发框架还是优点多于缺点。
          <br/>
          <span style="color:red;">
            <a href="http://arden.javaeye.com/blog/206960#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sat, 24 May 2008 22:20:37 +0800</pubDate>
        <link>http://arden.javaeye.com/blog/206960</link>
        <guid>http://arden.javaeye.com/blog/206960</guid>
      </item>
      <item>
        <title>Lighttpd设置虚拟主机与Jsp连接</title>
        <author>Arden</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://arden.javaeye.com">Arden</a>&nbsp;
          链接：<a href="http://arden.javaeye.com/blog/206961" style="color:red;">http://arden.javaeye.com/blog/206961</a>&nbsp;
          发表时间: 2008年05月21日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          $HTTP["host"] == “www.iding.com” {
 url.rewrite-once = (”^/$” => “/index.jsp”)
 server.document-root = ” /data/webapps/www/www.iding.com”
  proxy.balance = “hash”
  proxy.server  = ( “” =>
           ( (
            ”host” => “127.0.0.1″,
            ”port” => 8001
           ) )          
          )
}
$HTTP["host"] == “shop.iding.com” {
 url.rewrite-once = (”^/$” => “/index.jsp”)
 server.document-root = ” /data/webapps/www/shop.iding.com”
  proxy.balance = “hash”
  proxy.server  = ( “” =>
           ( (
            ”host” => “127.0.0.1″,
            ”port” [...]
          <br/>
          <span style="color:red;">
            <a href="http://arden.javaeye.com/blog/206961#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 21 May 2008 08:55:39 +0800</pubDate>
        <link>http://arden.javaeye.com/blog/206961</link>
        <guid>http://arden.javaeye.com/blog/206961</guid>
      </item>
      <item>
        <title>Nginx与jsp应用服务器配置</title>
        <author>Arden</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://arden.javaeye.com">Arden</a>&nbsp;
          链接：<a href="http://arden.javaeye.com/blog/206962" style="color:red;">http://arden.javaeye.com/blog/206962</a>&nbsp;
          发表时间: 2008年05月18日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          Nginx虚拟主机配置，与jsp服务器连接。   
   upstream www.iding.com {
        server 127.0.0.1:8001;  #连接到resin等jsp服务器
    }
    upstream shop.iding.com {
        server 127.0.0.1:8002; #连接到resin等jsp服务器
    }
    upstream admin.iding.com {
        server 127.0.0.1:8003; #连接到resin等jsp服务器
    }
    server {
        listen       80;
        server_name  www.iding.com;
        #charset koi8-r;
        #access_log  logs/host.access.log  main;
        location / {
            root  /data/webapps/www/www.iding.com;
            proxy_pass  http://www.iding.com;  # 与上面的upstream定义相对应
            proxy_redirect     off;
        }
    }
    server {
        listen       80;
        server_name  shop.iding.com;
        #charset koi8-r;
        #access_log  [...]
          <br/>
          <span style="color:red;">
            <a href="http://arden.javaeye.com/blog/206962#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sun, 18 May 2008 23:04:33 +0800</pubDate>
        <link>http://arden.javaeye.com/blog/206962</link>
        <guid>http://arden.javaeye.com/blog/206962</guid>
      </item>
      <item>
        <title>估计11月份java的几大框架发布</title>
        <author>Arden</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://arden.javaeye.com">Arden</a>&nbsp;
          链接：<a href="http://arden.javaeye.com/blog/133075" style="color:red;">http://arden.javaeye.com/blog/133075</a>&nbsp;
          发表时间: 2007年10月18日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          1、Grail 1.0 GA最终将会在11月份发布，这将在java里面的真正基于Groovy的Rails开发框架迈出了新的一步，相信这个版本一出来应该可以大胆的运用于项目开发里面了，并且据说Groovy 1.1版本在性能上有极大的提升。<br />
<br />
2、JBoss Seam 2.0 GA正式版发布，这个开发框架是基于jsf/ejb3等框架的基础上，如果想遵循J2EE标准的编程规范，相信这个框架将会是一个好的选择，因为它集成了很多东西，如：jbpm、jboss rules等，这给开发者提供了很多的方便。<br />
<br />
3、Spring 2.5 GA将也会发布，据说Spring2.5的IOC在性能方面有了极大的提高，接近Guice的速度，而且最令人兴奋的是2.5集成了osgi开框架，这样以后基于spring的应用就可以支持动态部署的功能，以及模块化开发更为方便，值得期待。
          <br/>
          <span style="color:red;">
            <a href="http://arden.javaeye.com/blog/133075#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 18 Oct 2007 08:47:38 +0800</pubDate>
        <link>http://arden.javaeye.com/blog/133075</link>
        <guid>http://arden.javaeye.com/blog/133075</guid>
      </item>
      <item>
        <title>jsp验证码生成</title>
        <author>Arden</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://arden.javaeye.com">Arden</a>&nbsp;
          链接：<a href="http://arden.javaeye.com/blog/67719" style="color:red;">http://arden.javaeye.com/blog/67719</a>&nbsp;
          发表时间: 2007年04月04日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p align="left"><span>关于<span>jsp</span>验证码生成，显示，验证和刷新：</span></p>
<p align="left"><span>1</span><span>：四位数据的验证图片生成，用<span>servlet</span>实现</span></p>
<p align="left"><span>2: </span><span>在<span>web.xmlli</span>配置<span>servlet</span></span></p>
<p align="left"><span>3</span><span>：页面上显示<span>servlet</span>生成的图片</span></p>
<p align="left"><span>4: </span><span>关于验证码输入数据的验证</span></p>
<p align="left"><span>5: </span><span>验证码的刷新</span></p>
<p align="left"><span>&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&ndash;</span></p>
<p align="left"><span>1</span><span>：四位数据的验证图片生成，用<span>servlet</span>实现<span>,servlet</span>代码如下：<span><br />
import java.io.*;<br />
import javax.servlet.http.*;<br />
import javax.servlet.*;<br />
import java.util.*;</span></span></p>
<p align="left"><span>import java.awt.*;<br />
import java.awt.image.*;<br />
import javax.imageio.*;</span></p>
<p align="left"><span>public class vImage extends HttpServlet {<br />
public void init(ServletConfig conf) throws ServletException {<br />
super.init(conf);<br />
}</span></p>
<p align="left"><span>public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {<br />
res.setContentType(&rdquo;image/jpeg&rdquo;);<br />
res.setHeader(&rdquo;Pragma&rdquo;, &ldquo;No-cache&rdquo;);<br />
res.setHeader(&rdquo;Cache-Control&rdquo;, &ldquo;no-cache&rdquo;);<br />
res.setDateHeader(&rdquo;Expires&rdquo;, 0);<br />
HttpSession session = req.getSession();</span></p>
<p><span>// </span><span>在内存中创建图象<span><br />
int width = 60, height = 20;<br />
BufferedImage image = new BufferedImage(width, height, </span></span><span>BufferedImage.TYPE_INT_RGB);</span></p>
<p align="left"><span>// </span><span>获取图形上下文<span><br />
Graphics g = image.getGraphics();</span></span></p>
<p align="left"><span>// </span><span>生成随机类<span><br />
Random random = new Random();</span></span></p>
<p align="left"><span>// </span><span>设定背景色<span><br />
g.setColor(getRandColor(200, 250));<br />
g.fillRect(0, 0, width, height);</span></span></p>
<p align="left"><span>// </span><span>设定字体<span><br />
g.setFont(new Font(&rdquo;Times New Roman&rdquo;, Font.PLAIN, 18));</span></span></p>
<p align="left"><span>// </span><span>画边框<span><br />
//g.setColor(new Color());<br />
//g.drawRect(0,0,width-1,height-1);</span></span></p>
<p align="left"><span>// </span><span>随机产生<span>155</span>条干扰线，使图象中的认证码不易被其它程序探测到<span><br />
g.setColor(getRandColor(160, 200));<br />
for (int i = 0; i 255) fc = 255;<br />
if (bc &gt; 255) bc = 255;<br />
int r = fc + random.nextInt(bc - fc);<br />
int g = fc + random.nextInt(bc - fc);<br />
int b = fc + random.nextInt(bc - fc);<br />
return new Color(r, g, b);<br />
}<br />
}</span></span></p>
<p align="left"><span>2: </span><span>在<span>web.xmlli</span>配置<span>servlet</span>：</span></p>
<p align="left"><span>vImage<br />
/vimage</span></p>
<p align="left"><span>注：注意元素在<span>web.xml</span>文件里的位置</span></p>
<p align="left"><span>3</span><span>：页面上显示<span>servlet</span>生成的图片：</span></p>
<p align="left"><span><br />
</span><span>注：在需要显示验证码的地方加上这句，<span>name</span>在刷新验证码的时候会用到。</span></p>
<p align="left"><span>4: </span><span>关于验证码输入数据的验证：</span></p>
<p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">验证码生成时存入了<span lang="EN-US">session,</span>就是<span lang="EN-US">servlet</span>里的这句<span lang="EN-US">session.setAttribute(&rdquo;post_validate_code&rdquo;, sRand);</span>具体验证就不多说了。<span lang="EN-US"><br />
5: </span>验证码的刷新<span lang="EN-US"><br />
<a href="http://my.donews.com/jiaojiao/reloadImage(%20/vimage%20);"><span lang="EN-US" style="COLOR: #613517"><span lang="EN-US"><u>刷新验证码</u></span></span></a><o:p></o:p></span></span></p>
<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">function reloadImage(url)<br />
{<br />
document.form</span><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">名字<span lang="EN-US">.pic.src = url;<br />
}</span></span>
          <br/>
          <span style="color:red;">
            <a href="http://arden.javaeye.com/blog/67719#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 04 Apr 2007 00:11:25 +0800</pubDate>
        <link>http://arden.javaeye.com/blog/67719</link>
        <guid>http://arden.javaeye.com/blog/67719</guid>
      </item>
      <item>
        <title>基于Prototype的圆角工具类[转]</title>
        <author>Arden</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://arden.javaeye.com">Arden</a>&nbsp;
          链接：<a href="http://arden.javaeye.com/blog/64876" style="color:red;">http://arden.javaeye.com/blog/64876</a>&nbsp;
          发表时间: 2007年03月23日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>众所周知，比较古老的圆角的做法是通过表格和图像构成。但随着AJAX的流行、CSS + DIV的页面布局技术的风靡，古老的做法显得苍白无力，所以人们不断寻求改进的方法。本文的实现就是一种现在比较流行的做法。</p>
<h2>实现原理</h2>
<p>其实这种方法的原理很简单&mdash;&mdash;在要圆角的元素的上下堆放一些边缘（MARGIN）不同的&lt;DIV&gt;元素（也有的使用其它元素的，如&lt;B&gt;等，不过原理是一样的），如下图所示：</p>
<p><img src="http://www.blogjava.net/images/blogjava_net/max/20897/r_image1.jpg" alt="原理图" /> <br />
<span style="FONT-SIZE: smaller; FONT-STYLE: italic">清单1 原理图</span> </p>
<p>接下来的问题就是计算margin的长度。这也不难只要运用一下初中所学的勾股定理便可以求出来，如下图所示：</p>
<p><img src="http://www.blogjava.net/images/blogjava_net/max/20897/r_image2.jpg" alt="MARGIN求解图 " /> <br />
<span style="FONT-SIZE: smaller; FONT-STYLE: italic">清单2 MARGIN求解图</span> </p>
<h2>具体编码</h2>
<p>下面该工具类的源码：</p>
<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"><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockStart.gif" id="Codehighlighter1_13_3768_Open_Image" onclick="this.style.display='none'; Codehighlighter1_13_3768_Open_Text.style.display='none'; Codehighlighter1_13_3768_Closed_Image.style.display='inline'; Codehighlighter1_13_3768_Closed_Text.style.display='inline';" align="top" alt="" /> <img src="http://www.blogjava.net/Images/OutliningIndicators/ContractedBlock.gif" id="Codehighlighter1_13_3768_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_13_3768_Closed_Text.style.display='none'; Codehighlighter1_13_3768_Open_Image.style.display='inline'; Codehighlighter1_13_3768_Open_Text.style.display='inline';" align="top" alt="" style="DISPLAY: none" /> <span style="COLOR: #0000ff">var</span> <span style="COLOR: #000000">Corner </span><span style="COLOR: #000000">=</span> <span style="COLOR: #000000"></span><span id="Codehighlighter1_13_3768_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif" alt="" /> </span><span id="Codehighlighter1_13_3768_Open_Text"><span style="COLOR: #000000">{<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top" alt="" /> &nbsp; &nbsp;</span> <span style="COLOR: #008000">//</span> <span style="COLOR: #008000">标志圆角位置的旗标</span> <span style="COLOR: #008000"><br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top" alt="" /> </span><span style="COLOR: #000000">&nbsp; &nbsp;TOP_LEFT: &nbsp; &nbsp; </span><span style="COLOR: #000000">0x1</span> <span style="COLOR: #000000">,<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top" alt="" /> &nbsp; &nbsp;TOP_RIGHT: &nbsp; &nbsp;</span> <span style="COLOR: #000000">0x2</span> <span style="COLOR: #000000">,<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top" alt="" /> &nbsp; &nbsp;BOTTOM_LEFT: &nbsp;</span> <span style="COLOR: #000000">0x4</span> <span style="COLOR: #000000">,<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top" alt="" /> &nbsp; &nbsp;BOTTOM_RIGHT: </span><span style="COLOR: #000000">0x8</span> <span style="COLOR: #000000">,<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top" alt="" /> &nbsp; &nbsp;ALL: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span> <span style="COLOR: #000000">0xf</span> <span style="COLOR: #000000">,<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top" alt="" /> &nbsp; &nbsp;<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" id="Codehighlighter1_155_397_Open_Image" onclick="this.style.display='none'; Codehighlighter1_155_397_Open_Text.style.display='none'; Codehighlighter1_155_397_Closed_Image.style.display='inline'; Codehighlighter1_155_397_Closed_Text.style.display='inline';" align="top" alt="" /><img src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" id="Codehighlighter1_155_397_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_155_397_Closed_Text.style.display='none'; Codehighlighter1_155_397_Open_Image.style.display='inline'; Codehighlighter1_155_397_Open_Text.style.display='inline';" align="top" alt="" style="DISPLAY: none" /> &nbsp; &nbsp;</span> <span id="Codehighlighter1_155_397_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">/**/</span> <span id="Codehighlighter1_155_397_Open_Text"><span style="COLOR: #008000">/*</span> <span style="COLOR: #008000">*******************************************************<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top" alt="" /> &nbsp; &nbsp;* target: 要圆角的目标元素<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top" alt="" /> &nbsp; &nbsp;* radius: 圆角的半径，默认值为5<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top" alt="" /> &nbsp; &nbsp;* flags: 圆角位置的旗标或其组合，默认值为全部<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top" alt="" /> &nbsp; &nbsp;* backgroundColor: 圆角的背景色，默认值为目标元素的背景色<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" alt="" /> &nbsp; &nbsp;*******************************************************</span> <span style="COLOR: #008000">*/</span> </span><span style="COLOR: #000000"><br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" id="Codehighlighter1_459_2545_Open_Image" onclick="this.style.display='none'; Codehighlighter1_459_2545_Open_Text.style.display='none'; Codehighlighter1_459_2545_Closed_Image.style.display='inline'; Codehighlighter1_459_2545_Closed_Text.style.display='inline';" align="top" alt="" /> <img src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" id="Codehighlighter1_459_2545_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_459_2545_Closed_Text.style.display='none'; Codehighlighter1_459_2545_Open_Image.style.display='inline'; Codehighlighter1_459_2545_Open_Text.style.display='inline';" align="top" alt="" style="DISPLAY: none" /> &nbsp; &nbsp;round: </span><span style="COLOR: #0000ff">function</span> <span style="COLOR: #000000">(target, radius, flags, backgroundColor) </span><span id="Codehighlighter1_459_2545_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif" alt="" /> </span><span id="Codehighlighter1_459_2545_Open_Text"><span style="COLOR: #000000">{<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top" alt="" /> &nbsp; &nbsp; &nbsp; &nbsp;</span> <span style="COLOR: #0000ff">var</span> <span style="COLOR: #000000">t </span><span style="COLOR: #000000">=</span> <span style="COLOR: #000000">$(target);<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top" alt="" /> &nbsp; &nbsp; &nbsp; &nbsp;</span> <span style="COLOR: #0000ff">var</span> <span style="COLOR: #000000">r </span><span style="COLOR: #000000">=</span> <span style="COLOR: #000000">radius </span><span style="COLOR: #000000">||</span> <span style="COLOR: #000000"></span><span style="COLOR: #000000">5</span> <span style="COLOR: #000000">;<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top" alt="" /> &nbsp; &nbsp; &nbsp; &nbsp;</span> <span style="COLOR: #0000ff">var</span> <span style="COLOR: #000000">f </span><span style="COLOR: #000000">=</span> <span style="COLOR: #000000">flags </span><span style="COLOR: #000000">||</span> <span style="COLOR: #000000">Corner.ALL;<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top" alt="" /> &nbsp; &nbsp; &nbsp; &nbsp;</span> <span style="COLOR: #0000ff">var</span> <span style="COLOR: #000000">c </span><span style="COLOR: #000000">=</span> <span style="COLOR: #000000">Element.getStyle(t, 'backgroundColor');<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top" alt="" /> &nbsp; &nbsp; &nbsp; &nbsp;</span> <span style="COLOR: #0000ff">var</span> <span style="COLOR: #000000">b </span><span style="COLOR: #000000">=</span> <span style="COLOR: #000000">backgroundColor </span><span style="COLOR: #000000">||</span> <span style="COLOR: #000000">c;<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top" alt="" /> &nbsp; &nbsp; &nbsp; &nbsp;<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top" alt="" /> &nbsp; &nbsp; &nbsp; &nbsp;</span> <span style="COLOR: #008000">//</span> <span style="COLOR: #008000">修正在IE里元素样式为FLOAT时，圆角DIV宽度为0的BUG</span> <span style="COLOR: #008000"><br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top" alt="" /> </span><span style="COLOR: #000000">&nbsp; &nbsp; &nbsp; &nbsp;</span> <span style="COLOR: #0000ff">var</span> <span style="COLOR: #000000">ft </span><span style="COLOR: #000000">=</span> <span style="COLOR: #000000">Element.getStyle(t, '</span> <span style="COLOR: #0000ff">float</span> <span style="COLOR: #000000">');<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" id="Codehighlighter1_834_928_Open_Image" onclick="this.style.display='none'; Codehighlighter1_834_928_Open_Text.style.display='none'; Codehighlighter1_834_928_Closed_Image.style.display='inline'; Codehighlighter1_834_928_Closed_Text.style.display='inline';" align="top" alt="" /><img src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" id="Codehighlighter1_834_928_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_834_928_Closed_Text.style.display='none'; Codehighlighter1_834_928_Open_Image.style.display='inline'; Codehighlighter1_834_928_Open_Text.style.display='inline';" align="top" alt="" style="DISPLAY: none" /> &nbsp; &nbsp; &nbsp; &nbsp;</span> <span style="COLOR: #0000ff">if</span> <span style="COLOR: #000000">(navigator.appVersion.match(</span> <span style="COLOR: #000000">/</span> <span style="COLOR: #000000">\bMSIE\b</span> <span style="COLOR: #000000">/</span> <span style="COLOR: #000000">) </span><span style="COLOR: #000000">&amp;&amp;</span> <span style="COLOR: #000000">ft </span><span style="COLOR: #000000">!=</span> <span style="COLOR: #000000">'none' </span><span style="COLOR: #000000">&amp;&amp;</span> <span style="COLOR: #000000"></span><span style="COLOR: #000000">!</span> <span style="COLOR: #000000">t.style.width) </span><span id="Codehighlighter1_834_928_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif" alt="" /> </span><span id="Codehighlighter1_834_928_Open_Text"><span style="COLOR: #000000">{ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" id="Codehighlighter1_880_916_Open_Image" onclick="this.style.display='none'; Codehighlighter1_880_916_Open_Text.style.display='none'; Codehighlighter1_880_916_Closed_Image.style.display='inline'; Codehighlighter1_880_916_Closed_Text.style.display='inline';" align="top" alt="" /><img src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" id="Codehighlighter1_880_916_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_880_916_Closed_Text.style.display='none'; Codehighlighter1_880_916_Open_Image.style.display='inline'; Codehighlighter1_880_916_Open_Text.style.display='inline';" align="top" alt="" style="DISPLAY: none" /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Element.setStyle(t, </span><span id="Codehighlighter1_880_916_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif" alt="" /> </span><span id="Codehighlighter1_880_916_Open_Text"><span style="COLOR: #000000">{ width: Element.getWidth(t) </span><span style="COLOR: #000000">+</span> <span style="COLOR: #000000">'px' }</span> </span><span style="COLOR: #000000">);<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" alt="" /> &nbsp; &nbsp; &nbsp; &nbsp;}</span> </span><span style="COLOR: #000000"><br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top" alt="" /> &nbsp; &nbsp; &nbsp; &nbsp;<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top" alt="" /> &nbsp; &nbsp; &nbsp; &nbsp;</span> <span style="COLOR: #008000">//</span> <span style="COLOR: #008000">创建DIV，并把目标元素的内容剪切到其中</span> <span style="COLOR: #008000"><br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top" alt="" /> </span><span style="COLOR: #000000">&nbsp; &nbsp; &nbsp; &nbsp;</span> <span style="COLOR: #0000ff">var</span> <span style="COLOR: #000000">d </span><span style="COLOR: #000000">=</span> <span style="COLOR: #000000">document.createElement('div'); &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top" alt="" /> &nbsp; &nbsp; &nbsp; &nbsp;d.innerHTML </span><span style="COLOR: #000000">=</span> <span style="COLOR: #000000">t.innerHTML;<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top" alt="" /> &nbsp; &nbsp; &nbsp; &nbsp;t.innerHTML </span><span style="COLOR: #000000">=</span> <span style="COLOR: #000000">''; &nbsp; &nbsp; &nbsp; &nbsp;<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top" alt="" /> &nbsp; &nbsp; &nbsp; &nbsp;<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top" alt="" /> &nbsp; &nbsp; &nbsp; &nbsp;</span> <span style="COLOR: #008000">//</span> <span style="COLOR: #008000">设置新DIV的背景色为目标元素的背景色，并目标元素为透明背景</span> <span style="COLOR: #008000"><br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" id="Codehighlighter1_1175_1196_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1175_1196_Open_Text.style.display='none'; Codehighlighter1_1175_1196_Closed_Image.style.display='inline'; Codehighlighter1_1175_1196_Closed_Text.style.display='inline';" align="top" alt="" /> <img src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" id="Codehighlighter1_1175_1196_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_1175_1196_Closed_Text.style.display='none'; Codehighlighter1_1175_1196_Open_Image.style.display='inline'; Codehighlighter1_1175_1196_Open_Text.style.display='inline';" align="top" alt="" style="DISPLAY: none" /> </span><span style="COLOR: #000000">&nbsp; &nbsp; &nbsp; &nbsp;Element.setStyle( d, </span><span id="Codehighlighter1_1175_1196_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif" alt="" /> </span><span id="Codehighlighter1_1175_1196_Open_Text"><span style="COLOR: #000000">{ backgroundColor: c }</span> </span><span style="COLOR: #000000">); &nbsp; &nbsp; &nbsp;<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" id="Codehighlighter1_1236_1269_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1236_1269_Open_Text.style.display='none'; Codehighlighter1_1236_1269_Closed_Image.style.display='inline'; Codehighlighter1_1236_1269_Closed_Text.style.display='inline';" align="top" alt="" /><img src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" id="Codehighlighter1_1236_1269_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_1236_1269_Closed_Text.style.display='none'; Codehighlighter1_1236_1269_Open_Image.style.display='inline'; Codehighlighter1_1236_1269_Open_Text.style.display='inline';" align="top" alt="" style="DISPLAY: none" /> &nbsp; &nbsp; &nbsp; &nbsp;Element.setStyle( t, </span><span id="Codehighlighter1_1236_1269_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif" alt="" /> </span><span id="Codehighlighter1_1236_1269_Open_Text"><span style="COLOR: #000000">{ backgroundColor: 'transparent' }</span> </span><span style="COLOR: #000000">); &nbsp; &nbsp; &nbsp;<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top" alt="" /> &nbsp; &nbsp; &nbsp; &nbsp;<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top" alt="" /> &nbsp; &nbsp; &nbsp; &nbsp;</span> <span style="COLOR: #008000">//</span> <span style="COLOR: #008000">设置新DIV的高度为目标元素的高度</span> <span style="COLOR: #008000"><br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top" alt="" /> </span><span style="COLOR: #000000">&nbsp; &nbsp; &nbsp; &nbsp;</span> <span style="COLOR: #0000ff">var</span> <span style="COLOR: #000000">h </span><span style="COLOR: #000000">=</span> <span style="COLOR: #000000">t.style.height;<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top" alt="" /> &nbsp; &nbsp; &nbsp; &nbsp;</span> <span style="COLOR: #0000ff">var</span> <span style="COLOR: #000000">nh </span><span style="COLOR: #000000">=</span> <span style="COLOR: #000000"></span><span style="COLOR: #000000">0</span> <span style="COLOR: #000000">;<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" id="Codehighlighter1_1383_1473_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1383_1473_Open_Text.style.display='none'; Codehighlighter1_1383_1473_Closed_Image.style.display='inline'; Codehighlighter1_1383_1473_Closed_Text.style.display='inline';" align="top" alt="" /><img src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" id="Codehighlighter1_1383_1473_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_1383_1473_Closed_Text.style.display='none'; Codehighlighter1_1383_1473_Open_Image.style.display='inline'; Codehighlighter1_1383_1473_Open_Text.style.display='inline';" align="top" alt="" style="DISPLAY: none" /> &nbsp; &nbsp; &nbsp; &nbsp;</span> <span style="COLOR: #0000ff">if</span> <span style="COLOR: #000000">(h) </span><span id="Codehighlighter1_1383_1473_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif" alt="" /> </span><span id="Codehighlighter1_1383_1473_Open_Text"><span style="COLOR: #000000">{<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" id="Codehighlighter1_1418_1430_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1418_1430_Open_Text.style.display='none'; Codehighlighter1_1418_1430_Closed_Image.style.display='inline'; Codehighlighter1_1418_1430_Closed_Text.style.display='inline';" align="top" alt="" /><img src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" id="Codehighlighter1_1418_1430_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_1418_1430_Closed_Text.style.display='none'; Codehighlighter1_1418_1430_Open_Image.style.display='inline'; Codehighlighter1_1418_1430_Open_Text.style.display='inline';" align="top" alt="" style="DISPLAY: none" /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Element.setStyle( d, </span><span id="Codehighlighter1_1418_1430_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif" alt="" /> </span><span id="Codehighlighter1_1418_1430_Open_Text"><span style="COLOR: #000000">{ height: h }</span> </span><span style="COLOR: #000000">);<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top" alt="" /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;nh </span><span style="COLOR: #000000">=</span> <span style="COLOR: #000000">parseInt(h);<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" alt="" /> &nbsp; &nbsp; &nbsp; &nbsp;}</span> </span><span style="COLOR: #000000">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top" alt="" /> &nbsp; &nbsp; &nbsp; &nbsp;<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top" alt="" /> &nbsp; &nbsp; &nbsp; &nbsp;</span> <span style="COLOR: #008000">//</span> <span style="COLOR: #008000">设置新DIV的缩进</span> <span style="COLOR: #008000"><br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top" alt="" /> </span><span style="COLOR: #000000">&nbsp; &nbsp; &nbsp; &nbsp;</span> <span style="COLOR: #0000ff">var</span> <span style="COLOR: #000000">p </span><span style="COLOR: #000000">=</span> <span style="COLOR: #000000">Element.getStyle(t, 'padding');<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" id="Codehighlighter1_1586_1726_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1586_1726_Open_Text.style.display='none'; Codehighlighter1_1586_1726_Closed_Image.style.display='inline'; Codehighlighter1_1586_1726_Closed_Text.style.display='inline';" align="top" alt="" /><img src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" id="Codehighlighter1_1586_1726_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_1586_1726_Closed_Text.style.display='none'; Codehighlighter1_1586_1726_Open_Image.style.display='inline'; Codehighlighter1_1586_1726_Open_Text.style.display='inline';" align="top" alt="" style="DISPLAY: none" /> &nbsp; &nbsp; &nbsp; &nbsp;</span> <span style="COLOR: #0000ff">if</span> <span style="COLOR: #000000">(p) </span><span id="Codehighlighter1_1586_1726_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif" alt="" /> </span><span id="Codehighlighter1_1586_1726_Open_Text"><span style="COLOR: #000000">{<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" id="Codehighlighter1_1621_1634_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1621_1634_Open_Text.style.display='none'; Codehighlighter1_1621_1634_Closed_Image.style.display='inline'; Codehighlighter1_1621_1634_Closed_Text.style.display='inline';" align="top" alt="" /><img src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" id="Codehighlighter1_1621_1634_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_1621_1634_Closed_Text.style.display='none'; Codehighlighter1_1621_1634_Open_Image.style.display='inline'; Codehighlighter1_1621_1634_Open_Text.style.display='inline';" align="top" alt="" style="DISPLAY: none" /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Element.setStyle( d, </span><span id="Codehighlighter1_1621_1634_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif" alt="" /> </span><span id="Codehighlighter1_1621_1634_Open_Text"><span style="COLOR: #000000">{ padding: p }</span> </span><span style="COLOR: #000000">); &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" id="Codehighlighter1_1684_1713_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1684_1713_Open_Text.style.display='none'; Codehighlighter1_1684_1713_Closed_Image.style.display='inline'; Codehighlighter1_1684_1713_Closed_Text.style.display='inline';" align="top" alt="" /><img src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" id="Codehighlighter1_1684_1713_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_1684_1713_Closed_Text.style.display='none'; Codehighlighter1_1684_1713_Open_Image.style.display='inline'; Codehighlighter1_1684_1713_Open_Text.style.display='inline';" align="top" alt="" style="DISPLAY: none" /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Element.setStyle( t, </span><span id="Codehighlighter1_1684_1713_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif" alt="" /> </span><span id="Codehighlighter1_1684_1713_Open_Text"><span style="COLOR: #000000">{ padding: '0px 0px 0px 0px' }</span> </span><span style="COLOR: #000000">);<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" alt="" /> &nbsp; &nbsp; &nbsp; &nbsp;}</span> </span><span style="COLOR: #000000">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top" alt="" /> &nbsp; &nbsp; &nbsp; &nbsp;<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top" alt="" /> &nbsp; &nbsp; &nbsp; &nbsp;</span> <span style="COLOR: #008000">//</span> <span style="COLOR: #008000">创建用于新DIV和圆角DIV的文档片段，这样避免每次设置元素样式或添加新元素时重绘页面，提高效率</span> <span style="COLOR: #008000"><br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top" alt="" /> </span><span style="COLOR: #000000">&nbsp; &nbsp; &nbsp; &nbsp;</span> <span style="COLOR: #0000ff">var</span> <span style="COLOR: #000000">ds </span><span style="COLOR: #000000">=</span> <span style="COLOR: #000000">document.createDocumentFragment(); &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top" alt="" /> &nbsp; &nbsp; &nbsp; &nbsp;</span> <span style="COLOR: #0000ff">var</span> <span style="COLOR: #000000">ls </span><span style="COLOR: #000000">=</span> <span style="COLOR: #000000"></span><span style="COLOR: #0000ff">null</span> <span style="COLOR: #000000">;<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top" alt="" /> &nbsp; &nbsp; &nbsp; &nbsp;</span> <span style="COLOR: #008000">//</span> <span style="COLOR: #008000">创建顶部圆角DIV</span> <span style="COLOR: #008000"><br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" id="Codehighlighter1_1970_2121_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1970_2121_Open_Text.style.display='none'; Codehighlighter1_1970_2121_Closed_Image.style.display='inline'; Codehighlighter1_1970_2121_Closed_Text.style.display='inline';" align="top" alt="" /> <img src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" id="Codehighlighter1_1970_2121_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_1970_2121_Closed_Text.style.display='none'; Codehighlighter1_1970_2121_Open_Image.style.display='inline'; Codehighlighter1_1970_2121_Open_Text.style.display='inline';" align="top" alt="" style="DISPLAY: none" /> </span><span style="COLOR: #000000">&nbsp; &nbsp; &nbsp; &nbsp;</span> <span style="COLOR: #0000ff">if</span> <span style="COLOR: #000000">(f </span><span style="COLOR: #000000">&amp;</span> <span style="COLOR: #000000">(Corner.TOP_LEFT </span><span style="COLOR: #000000">|</span> <span style="COLOR: #000000">Corner.TOP_RIGHT)) </span><span id="Codehighlighter1_1970_2121_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif" alt="" /> </span><span id="Codehighlighter1_1970_2121_Open_Text"><span style="COLOR: #000000">{<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top" alt="" /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ls </span><span style="COLOR: #000000">=</span> <span style="COLOR: #000000">Corner._createRoundFragment(r, f, b , </span><span style="COLOR: #0000ff">false</span> <span style="COLOR: #000000">); &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top" alt="" /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ds.appendChild(ls); &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top" alt="" /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;nh </span><span style="COLOR: #000000">+=</span> <span style="COLOR: #000000">r;<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" alt="" /> &nbsp; &nbsp; &nbsp; &nbsp;}</span> </span><span style="COLOR: #000000">&nbsp; &nbsp; &nbsp; &nbsp;<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top" alt="" /> &nbsp; &nbsp; &nbsp; &nbsp;<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top" alt="" /> &nbsp; &nbsp; &nbsp; &nbsp;ds.appendChild(d);<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top" alt="" /> &nbsp; &nbsp; &nbsp; &nbsp;<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top" alt="" /> &nbsp; &nbsp; &nbsp; &nbsp;</span> <span style="COLOR: #008000">//</span> <span style="COLOR: #008000">创建底部圆角DIV</span> <span style="COLOR: #008000"><br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" id="Codehighlighter1_2255_2392_Open_Image" onclick="this.style.display='none'; Codehighlighter1_2255_2392_Open_Text.style.display='none'; Codehighlighter1_2255_2392_Closed_Image.style.display='inline'; Codehighlighter1_2255_2392_Closed_Text.style.display='inline';" align="top" alt="" /> <img src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" id="Codehighlighter1_2255_2392_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_2255_2392_Closed_Text.style.display='none'; Codehighlighter1_2255_2392_Open_Image.style.display='inline'; Codehighlighter1_2255_2392_Open_Text.style.display='inline';" align="top" alt="" style="DISPLAY: none" /> </span><span style="COLOR: #000000">&nbsp; &nbsp; &nbsp; &nbsp;</span> <span style="COLOR: #0000ff">if</span> <span style="COLOR: #000000">(f </span><span style="COLOR: #000000">&amp;</span> <span style="COLOR: #000000">(Corner.BOTTOM_LEFT </span><span style="COLOR: #000000">|</span> <span style="COLOR: #000000">Corner.BOTTOM_RIGHT)) </span><span id="Codehighlighter1_2255_2392_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif" alt="" /> </span><span id="Codehighlighter1_2255_2392_Open_Text"><span style="COLOR: #000000">{<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top" alt="" /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ls </span><span style="COLOR: #000000">=</span> <span style="COLOR: #000000">Corner._createRoundFragment(r, f, b, </span><span style="COLOR: #0000ff">true</span> <span style="COLOR: #000000">); &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top" alt="" /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ds.appendChild(ls);&nbsp;<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top" alt="" /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;nh </span><span style="COLOR: #000000">+=</span> <span style="COLOR: #000000">r;<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" alt="" /> &nbsp; &nbsp; &nbsp; &nbsp;}</span> </span><span style="COLOR: #000000">&nbsp;<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top" alt="" /> &nbsp; &nbsp; &nbsp; &nbsp;<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" id="Codehighlighter1_2418_2492_Open_Image" onclick="this.style.display='none'; Codehighlighter1_2418_2492_Open_Text.style.display='none'; Codehighlighter1_2418_2492_Closed_Image.style.display='inline'; Codehighlighter1_2418_2492_Closed_Text.style.display='inline';" align="top" alt="" /><img src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" id="Codehighlighter1_2418_2492_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_2418_2492_Closed_Text.style.display='none'; Codehighlighter1_2418_2492_Open_Image.style.display='inline'; Codehighlighter1_2418_2492_Open_Text.style.display='inline';" align="top" alt="" style="DISPLAY: none" /> &nbsp; &nbsp; &nbsp; &nbsp;</span> <span style="COLOR: #0000ff">if</span> <span style="COLOR: #000000">(h) </span><span id="Codehighlighter1_2418_2492_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif" alt="" /> </span><span id="Codehighlighter1_2418_2492_Open_Text"><span style="COLOR: #000000">{<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" id="Codehighlighter1_2453_2473_Open_Image" onclick="this.style.display='none'; Codehighlighter1_2453_2473_Open_Text.style.display='none'; Codehighlighter1_2453_2473_Closed_Image.style.display='inline'; Codehighlighter1_2453_2473_Closed_Text.style.display='inline';" align="top" alt="" /><img src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" id="Codehighlighter1_2453_2473_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_2453_2473_Closed_Text.style.display='none'; Codehighlighter1_2453_2473_Open_Image.style.display='inline'; Codehighlighter1_2453_2473_Open_Text.style.display='inline';" align="top" alt="" style="DISPLAY: none" /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Element.setStyle( t, </span><span id="Codehighlighter1_2453_2473_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif" alt="" /> </span><span id="Codehighlighter1_2453_2473_Open_Text"><span style="COLOR: #000000">{ height: nh </span><span style="COLOR: #000000">+</span> <span style="COLOR: #000000">'px' }</span> </span><span style="COLOR: #000000">); &nbsp; &nbsp; &nbsp;<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" alt="" /> &nbsp; &nbsp; &nbsp; &nbsp;}</span> </span><span style="COLOR: #000000">&nbsp; &nbsp; &nbsp; &nbsp;<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top" alt="" /> &nbsp; &nbsp; &nbsp; &nbsp;<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top" alt="" /> &nbsp; &nbsp; &nbsp; &nbsp;t.appendChild(ds); &nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" alt="" /> &nbsp; &nbsp;}</span> </span><span style="COLOR: #000000">,<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top" alt="" /> &nbsp; &nbsp;<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" id="Codehighlighter1_2600_3766_Open_Image" onclick="this.style.display='none'; Codehighlighter1_2600_3766_Open_Text.style.display='none'; Codehighlighter1_2600_3766_Closed_Image.style.display='inline'; Codehighlighter1_2600_3766_Closed_Text.style.display='inline';" align="top" alt="" /><img src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" id="Codehighlighter1_2600_3766_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_2600_3766_Closed_Text.style.display='none'; Codehighlighter1_2600_3766_Open_Image.style.display='inline'; Codehighlighter1_2600_3766_Open_Text.style.display='inline';" align="top" alt="" style="DISPLAY: none" /> &nbsp; &nbsp;_createRoundFragment: </span><span style="COLOR: #0000ff">function</span> <span style="COLOR: #000000">(r, f, c, b) </span><span id="Codehighlighter1_2600_3766_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif" alt="" /> </span><span id="Codehighlighter1_2600_3766_Open_Text"><span style="COLOR: #000000">{<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top" alt="" /> &nbsp; &nbsp; &nbsp; &nbsp;</span> <span style="COLOR: #0000ff">var</span> <span style="COLOR: #000000">ls </span><span style="COLOR: #000000">=</span> <span style="COLOR: #000000">document.createDocumentFragment();<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top" alt="" /> &nbsp; &nbsp; &nbsp; &nbsp;</span> <span style="COLOR: #0000ff">var</span> <span style="COLOR: #000000">l </span><span style="COLOR: #000000">=</span> <span style="COLOR: #000000"></span><span style="COLOR: #0000ff">null</span> <span style="COLOR: #000000">;<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top" alt="" /> &nbsp; &nbsp; &nbsp; &nbsp;</span> <span style="COLOR: #0000ff">var</span> <span style="COLOR: #000000">m </span><span style="COLOR: #000000">=</span> <span style="COLOR: #000000">ml </span><span style="COLOR: #000000">=</span> <span style="COLOR: #000000">mr </span><span style="COLOR: #000000">=</span> <span style="COLOR: #000000"></span><span style="COLOR: #0000ff">null</span> <span style="COLOR: #000000">;<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top" alt="" /> &nbsp; &nbsp; &nbsp; &nbsp;</span> <span style="COLOR: #0000ff">var</span> <span style="COLOR: #000000">j </span><span style="COLOR: #000000">=</span> <span style="COLOR: #000000"></span><span style="COLOR: #000000">0</span> <span style="COLOR: #000000">;<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" id="Codehighlighter1_2759_3741_Open_Image" onclick="this.style.display='none'; Codehighlighter1_2759_3741_Open_Text.style.display='none'; Codehighlighter1_2759_3741_Closed_Image.style.display='inline'; Codehighlighter1_2759_3741_Closed_Text.style.display='inline';" align="top" alt="" /><img src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" id="Codehighlighter1_2759_3741_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_2759_3741_Closed_Text.style.display='none'; Codehighlighter1_2759_3741_Open_Image.style.display='inline'; Codehighlighter1_2759_3741_Open_Text.style.display='inline';" align="top" alt="" style="DISPLAY: none" /> &nbsp; &nbsp; &nbsp; &nbsp;</span> <span style="COLOR: #0000ff">for</span> <span style="COLOR: #000000">(i </span><span style="COLOR: #000000">=</span> <span style="COLOR: #000000"></span><span style="COLOR: #000000">1</span> <span style="COLOR: #000000">; i </span><span style="COLOR: #000000">&lt;=</span> <span style="COLOR: #000000">r; i</span> <span style="COLOR: #000000">++</span> <span style="COLOR: #000000">) </span><span id="Codehighlighter1_2759_3741_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif" alt="" /> </span><span id="Codehighlighter1_2759_3741_Open_Text"><span style="COLOR: #000000">{<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top" alt="" /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;l </span><span style="COLOR: #000000">=</span> <span style="COLOR: #000000">document.createElement('div');<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top" alt="" /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top" alt="" /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span> <span style="COLOR: #008000">//</span> <span style="COLOR: #008000">计算margin</span> <span style="COLOR: #008000"><br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top" alt="" /> </span><span style="COLOR: #000000">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;j </span><span style="COLOR: #000000">=</span> <span style="COLOR: #000000">b </span><span style="COLOR: #000000">?</span> <span style="COLOR: #000000">i : r </span><span style="COLOR: #000000">-</span> <span style="COLOR: #000000">i </span><span style="COLOR: #000000">+</span> <span style="COLOR: #000000"></span><span style="COLOR: #000000">1</span> <span style="COLOR: #000000">;<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top" alt="" /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;m </span><span style="COLOR: #000000">=</span> <span style="COLOR: #000000">Math.sqrt(r </span><span style="COLOR: #000000">*</span> <span style="COLOR: #000000">r </span><span style="COLOR: #000000">-</span> <span style="COLOR: #000000">j </span><span style="COLOR: #000000">*</span> <span style="COLOR: #000000">j); &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top" alt="" /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;m </span><span style="COLOR: #000000">=</span> <span style="COLOR: #000000">Math.round(r </span><span style="COLOR: #000000">-</span> <span style="COLOR: #000000">m) </span><span style="COLOR: #000000">+</span> <span style="COLOR: #000000">'px';<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top" alt="" /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" id="Codehighlighter1_3006_3147_Open_Image" onclick="this.style.display='none'; Codehighlighter1_3006_3147_Open_Text.style.display='none'; Codehighlighter1_3006_3147_Closed_Image.style.display='inline'; Codehighlighter1_3006_3147_Closed_Text.style.display='inline';" align="top" alt="" /><img src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" id="Codehighlighter1_3006_3147_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_3006_3147_Closed_Text.style.display='none'; Codehighlighter1_3006_3147_Open_Image.style.display='inline'; Codehighlighter1_3006_3147_Open_Text.style.display='inline';" align="top" alt="" style="DISPLAY: none" /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span> <span style="COLOR: #0000ff">if</span> <span style="COLOR: #000000">(b) </span><span id="Codehighlighter1_3006_3147_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif" alt="" /> </span><span id="Codehighlighter1_3006_3147_Open_Text"><span style="COLOR: #000000">{<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top" alt="" /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ml </span><span style="COLOR: #000000">=</span> <span style="COLOR: #000000">f </span><span style="COLOR: #000000">&amp;</span> <span style="COLOR: #000000">Corner.BOTTOM_LEFT </span><span style="COLOR: #000000">?</span> <span style="COLOR: #000000">m : '0px';<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top" alt="" /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;mr </span><span style="COLOR: #000000">=</span> <span style="COLOR: #000000">f </span><span style="COLOR: #000000">&amp;</span> <span style="COLOR: #000000">Corner.BOTTOM_RIGHT </span><span style="COLOR: #000000">?</span> <span style="COLOR: #000000">m : '0px'; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" id="Codehighlighter1_3154_3289_Open_Image" onclick="this.style.display='none'; Codehighlighter1_3154_3289_Open_Text.style.display='none'; Codehighlighter1_3154_3289_Closed_Image.style.display='inline'; Codehighlighter1_3154_3289_Closed_Text.style.display='inline';" align="top" alt="" /><img src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" id="Codehighlighter1_3154_3289_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_3154_3289_Closed_Text.style.display='none'; Codehighlighter1_3154_3289_Open_Image.style.display='inline'; Codehighlighter1_3154_3289_Open_Text.style.display='inline';" align="top" alt="" style="DISPLAY: none" /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</span> </span><span style="COLOR: #000000"></span><span style="COLOR: #0000ff">else</span> <span style="COLOR: #000000"></span><span id="Codehighlighter1_3154_3289_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif" alt="" /> </span><span id="Codehighlighter1_3154_3289_Open_Text"><span style="COLOR: #000000">{<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top" alt="" /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ml </span><span style="COLOR: #000000">=</span> <span style="COLOR: #000000">f </span><span style="COLOR: #000000">&amp;</span> <span style="COLOR: #000000">Corner.TOP_LEFT </span><span style="COLOR: #000000">?</span> <span style="COLOR: #000000">m : '0px';<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top" alt="" /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;mr </span><span style="COLOR: #000000">=</span> <span style="COLOR: #000000">f </span><span style="COLOR: #000000">&amp;</span> <span style="COLOR: #000000">Corner.TOP_RIGHT </span><span style="COLOR: #000000">?</span> <span style="COLOR: #000000">m : '0px'; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" alt="" /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</span> </span><span style="COLOR: #000000"><br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" id="Codehighlighter1_3324_3697_Open_Image" onclick="this.style.display='none'; Codehighlighter1_3324_3697_Open_Text.style.display='none'; Codehighlighter1_3324_3697_Closed_Image.style.display='inline'; Codehighlighter1_3324_3697_Closed_Text.style.display='inline';" align="top" alt="" /> <img src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" id="Codehighlighter1_3324_3697_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_3324_3697_Closed_Text.style.display='none'; Codehighlighter1_3324_3697_Open_Image.style.display='inline'; Codehighlighter1_3324_3697_Open_Text.style.display='inline';" align="top" alt="" style="DISPLAY: none" /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Element.setStyle( l, </span><span id="Codehighlighter1_3324_3697_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif" alt="" /> </span><span id="Codehighlighter1_3324_3697_Open_Text"><span style="COLOR: #000000">{ backgroundColor: c,<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top" alt="" /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; fontSize: '1px',<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top" alt="" /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; height: '1px', &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top" alt="" /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; marginLeft: ml,<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top" alt="" /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; marginRight: mr,<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top" alt="" /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; overflowX: 'hidden',<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" alt="" /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; overflowY: 'hidden' }</span> </span><span style="COLOR: #000000">);<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top" alt="" /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ls.appendChild(l);<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" alt="" /> &nbsp; &nbsp; &nbsp; &nbsp;}</span> </span><span style="COLOR: #000000"><br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top" alt="" /> &nbsp; &nbsp; &nbsp; &nbsp;</span> <span style="COLOR: #0000ff">return</span> <span style="COLOR: #000000">ls;<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" alt="" /> &nbsp; &nbsp;}</span> </span><span style="COLOR: #000000"><br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" alt="" />}</span> </span></div>
<span style="FONT-SIZE: smaller; FONT-STYLE: italic">清单3 实现代码</span>
<p>因为Javascript是没有方法重写的，所以当你调用Corner.round('div1')和调用Coner.round('div1', 20)是一样的，它们最终调用的都是Corner.round(target, radius, flags, backgroundColor)，只过没有赋值的参数会为undefined。这里有一个小技巧，就var r = radius || 5，这里的&ldquo;||&rdquo;符号表示如果radius为undefined、null或0等值时，r的取值为5。</p>
<p>接着让我们看看运行的页面代码：</p>
<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 &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;</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: #ff0000">xmlns</span> <span style="COLOR: #0000ff">=&quot;http://www.w3.org/1999/xhtml&quot;</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 />
&nbsp; &nbsp; </span><span style="COLOR: #0000ff">&lt;</span> <span style="COLOR: #800000">title</span> <span style="COLOR: #0000ff">&gt;</span> <span style="COLOR: #000000">RounderCorner Prototype</span> <span style="COLOR: #0000ff">&lt;/</span> <span style="COLOR: #800000">title</span> <span style="COLOR: #0000ff">&gt;</span> <span style="COLOR: #000000">&nbsp;&nbsp;<br />
&nbsp; &nbsp; </span><span style="COLOR: #0000ff">&lt;</span> <span style="COLOR: #800000">script </span><span style="COLOR: #ff0000">type</span> <span style="COLOR: #0000ff">=&quot;text/javascript&quot;</span> <span style="COLOR: #ff0000">src</span> <span style="COLOR: #0000ff">=&quot;scripts/prototype-1.5.0.js&quot;</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 />
&nbsp; &nbsp; </span><span style="COLOR: #0000ff">&lt;</span> <span style="COLOR: #800000">script </span><span style="COLOR: #ff0000">type</span> <span style="COLOR: #0000ff">=&quot;text/javascript&quot;</span> <span style="COLOR: #ff0000">src</span> <span style="COLOR: #0000ff">=&quot;scripts/Corner.js&quot;</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 />
&nbsp; &nbsp; </span><span style="COLOR: #0000ff">&lt;</span> <span style="COLOR: #800000">script </span><span style="COLOR: #ff0000">type</span> <span style="COLOR: #0000ff">=&quot;text/javascript&quot;</span> <span style="COLOR: #0000ff">&gt;</span> <span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"><br />
&nbsp; &nbsp; </span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5">//</span> <span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5">&lt;![CDATA[ &nbsp; &nbsp; &nbsp;</span> <span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5"><br />
</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&nbsp; &nbsp; Event.observe(window, 'load', init, </span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">false</span> <span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">);<br />
&nbsp; &nbsp;&nbsp;<br />
&nbsp; &nbsp; </span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">function</span> <span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">init() { &nbsp; &nbsp; &nbsp; &nbsp;<br />
&nbsp; &nbsp; &nbsp; &nbsp; Corner.round('div1');<br />
&nbsp; &nbsp; &nbsp; &nbsp; Corner.round('div2', </span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">20</span> <span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">, Corner.TOP_LEFT </span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">|</span> <span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">Corner.BOTTOM_RIGHT);<br />
&nbsp; &nbsp; &nbsp; &nbsp; Corner.round('div3', </span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">20</span> <span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">, Corner.ALL, 'Red');<br />
&nbsp; &nbsp; }<br />
<br />
&nbsp; &nbsp; </span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5">//</span> <span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5">]]&gt;</span> <span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5"><br />
</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&nbsp; &nbsp; </span><span style="COLOR: #0000ff">&lt;/</span> <span style="COLOR: #800000">script</span> <span style="COLOR: #0000ff">&gt;</span> <span style="COLOR: #000000">&nbsp; &nbsp;<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">body</span> <span style="COLOR: #0000ff">&gt;</span> <span style="COLOR: #000000"><br />
&nbsp; &nbsp; </span><span style="COLOR: #0000ff">&lt;</span> <span style="COLOR: #800000">div </span><span style="COLOR: #ff0000">id</span> <span style="COLOR: #0000ff">=&quot;div1&quot;</span> <span style="COLOR: #ff0000">style</span> <span style="COLOR: #0000ff">=&quot;width: 318px; height: 103px; background-color: #ffcccc&quot;</span> <span style="COLOR: #0000ff">&gt;</span> <span style="COLOR: #000000"><br />
&nbsp; &nbsp; &nbsp; &nbsp; Corner.round('div1');</span> <span style="COLOR: #0000ff">&lt;/</span> <span style="COLOR: #800000">div</span> <span style="COLOR: #0000ff">&gt;</span> <span style="COLOR: #000000"><br />
&nbsp; &nbsp; </span><span style="COLOR: #0000ff">&lt;</span> <span style="COLOR: #800000">br </span><span style="COLOR: #0000ff">/&gt;</span> <span style="COLOR: #000000"><br />
&nbsp; &nbsp; </span><span style="COLOR: #0000ff">&lt;</span> <span style="COLOR: #800000">div </span><span style="COLOR: #ff0000">id</span> <span style="COLOR: #0000ff">=&quot;div2&quot;</span> <span style="COLOR: #ff0000">style</span> <span style="COLOR: #0000ff">=&quot;width: 317px; height: 100px; background-color: #cccccc&quot;</span> <span style="COLOR: #0000ff">&gt;</span> <span style="COLOR: #000000"><br />
&nbsp; &nbsp; &nbsp; &nbsp; Corner.round('div2', 20, Corner.TOP_LEFT | Corner.BOTTOM_RIGHT);</span> <span style="COLOR: #0000ff">&lt;/</span> <span style="COLOR: #800000">div</span> <span style="COLOR: #0000ff">&gt;</span> <span style="COLOR: #000000"><br />
&nbsp; &nbsp; </span><span style="COLOR: #0000ff">&lt;</span> <span style="COLOR: #800000">br </span><span style="COLOR: #0000ff">/&gt;</span> <span style="COLOR: #000000"><br />
&nbsp; &nbsp; </span><span style="COLOR: #0000ff">&lt;</span> <span style="COLOR: #800000">div </span><span style="COLOR: #ff0000">id</span> <span style="COLOR: #0000ff">=&quot;div3&quot;</span> <span style="COLOR: #ff0000">style</span> <span style="COLOR: #0000ff">=&quot;width: 315px; height: 100px; background-color: #ccffcc&quot;</span> <span style="COLOR: #0000ff">&gt;</span> <span style="COLOR: #000000"><br />
&nbsp; &nbsp; &nbsp; &nbsp; Corner.round('div3', 20, Corner.ALL, 'Red');</span> <span style="COLOR: #0000ff">&lt;/</span> <span style="COLOR: #800000">div</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">html</span> <span style="COLOR: #0000ff">&gt;</span> </div>
<span style="FONT-SIZE: smaller; FONT-STYLE: italic">清单4 测试代码