﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-学海拾遗-随笔分类-翻译</title><link>http://www.blogjava.net/tanzek/category/35367.html</link><description>生活、技术、思想无处不在学习
</description><language>zh-cn</language><lastBuildDate>Tue, 21 Oct 2008 12:21:08 GMT</lastBuildDate><pubDate>Tue, 21 Oct 2008 12:21:08 GMT</pubDate><ttl>60</ttl><item><title>[译]Dynarch Navigation Bar</title><link>http://www.blogjava.net/tanzek/archive/2008/10/21/235580.html</link><dc:creator>tanzek</dc:creator><author>tanzek</author><pubDate>Tue, 21 Oct 2008 00:45:00 GMT</pubDate><guid>http://www.blogjava.net/tanzek/archive/2008/10/21/235580.html</guid><wfw:comment>http://www.blogjava.net/tanzek/comments/235580.html</wfw:comment><comments>http://www.blogjava.net/tanzek/archive/2008/10/21/235580.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/tanzek/comments/commentRss/235580.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/tanzek/services/trackbacks/235580.html</trackback:ping><description><![CDATA[<p><span style="font-size: 10pt; color: red">注：毕业设计和工作中多次接触到这个Dynarch Navigation Bar，其文档是英文的，但因一些原因，在这里翻译了一下它的一小部分，原文地址是：<a href="http://www.dynarch.com/demos/NavBar/">http://www.dynarch.com/demos/NavBar/</a>，如有不当之处还请各位读友指正。<br />
</span><br />
</p>
<p style="word-break: break-all; text-align: left" align="left"><strong><span style="font-size: 24pt; font-family: 宋体">Dynarch</span></strong><strong><span style="font-size: 24pt; font-family: 宋体">导航栏</span></strong></p>
<ul type="disc">
    <li style="word-break: break-all; text-align: left; tab-stops: list 36.0pt"><span style="font-size: 12pt; font-family: 宋体"><a href="http://www.blogjava.net/tanzek/admin/EditPosts.aspx?catid=35367#安装说明">安装说明</a> - </span><span style="font-size: 12pt; font-family: 宋体">如何安装在您的网站上。</span>
    <li style="word-break: break-all; text-align: left; tab-stops: list 36.0pt"><span style="font-size: 12pt; font-family: 宋体"><a href="http://www.blogjava.net/tanzek/admin/EditPosts.aspx?catid=35367#Navbar的定制">定制</a> - </span><span style="font-size: 12pt; font-family: 宋体">改变外观和感觉。</span>
    <li style="word-break: break-all; text-align: left; tab-stops: list 36.0pt"><u><span style="font-size: 12pt; color: blue; font-family: 宋体">支持</span></u><span style="font-size: 12pt; font-family: 宋体"> - 如果发生什么错误，请与我们联系。</span> </li>
</ul>
<p style="word-break: break-all; text-align: left" align="left"><strong><span style="font-size: 18pt; font-family: 宋体">License</span></strong><strong><span style="font-size: 18pt; font-family: 宋体">许可</span></strong></p>
<p style="word-break: break-all; text-align: left" align="left"><u><span style="font-size: 12pt; color: blue; font-family: 宋体"><a title="打开新窗口" href="http://203.208.35.101/translate_c?hl=zh-CN&amp;sl=en&amp;tl=zh-CN&amp;u=http://www.dynarch.com/demos/NavBar/license.html&amp;usg=ALkJrhiOysLWpXuVY0Qp16B-bycJ2VRN2g" target="_blank">请阅读在这里的许可文</a></span></u><u><span style="font-size: 12pt; color: blue; font-family: 宋体">本</span></u><span style="font-size: 12pt; font-family: 宋体">。</span></p>
<p style="word-break: break-all; text-align: left" align="left"><strong><span style="font-size: 18pt; font-family: 宋体">Navbar</span></strong><strong><span style="font-size: 18pt; font-family: 宋体">的概况</span></strong></p>
<p style="word-break: break-all; text-align: left" align="left"><span style="font-size: 12pt; font-family: 宋体">我们的DHTML导航栏是一个多用途的类似Windows XP的资源管理器菜单的DHTML&#8220;组件&#8221;<a href="http://203.208.35.101/translate_c?hl=zh-CN&amp;sl=en&amp;tl=zh-CN&amp;u=http://www.dynarch.com/demos/NavBar/samples/winxp.html&amp;usg=ALkJrhj61FrnG7ojpnWl0lthaVEYF3n7ow"><span style="color: windowtext; text-decoration: none; text-underline: none">（</a></span>见<a href="http://203.208.35.101/translate_c?hl=zh-CN&amp;sl=en&amp;tl=zh-CN&amp;u=http://www.dynarch.com/demos/NavBar/samples/winxp.html&amp;usg=ALkJrhj61FrnG7ojpnWl0lthaVEYF3n7ow">样品</a>）。</span></p>
<p style="word-break: break-all; text-align: left" align="left"><strong><span style="font-size: 18pt; font-family: 宋体">特征</span></strong></p>
<ul type="disc">
    <li style="word-break: break-all; text-align: left; tab-stops: list 36.0pt"><span style="font-size: 12pt; font-family: 宋体">支持广泛范围的<u><span style="color: blue">浏览器</span></u>。</span>
    <li style="word-break: break-all; text-align: left; tab-stops: list 36.0pt"><span style="font-size: 12pt; font-family: 宋体">此外，外观是可定制的，只需要改动一个CSS文件，而不必须触及JavaScript代码。</span>
    <li style="word-break: break-all; text-align: left; tab-stops: list 36.0pt"><span style="font-size: 12pt; font-family: 宋体">用户可以根据他的需要折叠/展开菜单的部分。</span>
    <li style="word-break: break-all; text-align: left; tab-stops: list 36.0pt"><span style="font-size: 12pt; font-family: 宋体">依赖于网页标准。它不依赖于专有的浏览器的功能，同时如果它们可用时，充分利用一些。</span>
    <li style="word-break: break-all; text-align: left; tab-stops: list 36.0pt"><span style="font-size: 12pt; font-family: 宋体">提供高质量的动画和淡入淡出效果。如果不想要，动画可以禁用，要么完全或限制在某个水平。</span>
    <li style="word-break: break-all; text-align: left; tab-stops: list 36.0pt"><span style="font-size: 12pt; font-family: 宋体">菜单部分可以嵌入普通HTML代码。</span>
    <li style="word-break: break-all; text-align: left; tab-stops: list 36.0pt"><span style="font-size: 12pt; font-family: 宋体">（菜单）项目在单击时可以执行定制JavaScript代码。</span>
    <li style="word-break: break-all; text-align: left; tab-stops: list 36.0pt"><span style="font-size: 12pt; font-family: 宋体">当菜单是隐藏的时，它扩大了可用于其他网页的空间。</span>
    <li style="word-break: break-all; text-align: left; tab-stops: list 36.0pt"><span style="font-size: 12pt; font-family: 宋体">它会在一个cookie中记住它的状态，并在用户的回顾该网页时自动恢复。因此，开发人员并不需要在服务器端这样做了。</span>
    <li style="word-break: break-all; text-align: left; tab-stops: list 36.0pt"><span style="font-size: 12pt; font-family: 宋体">2</span><span style="font-size: 12pt; font-family: 宋体">个工作模式：一次允许多个（菜单）节点被展开，或只有一个（菜单）节点被展开。</span>
    <li style="word-break: break-all; text-align: left; tab-stops: list 36.0pt"><span style="font-size: 12pt; font-family: 宋体">某些特征的配置可不需要重新装载和重建菜单（因此，没有一个网页被重新加载）。他们将被保存在Cookie中。</span>
    <li style="word-break: break-all; text-align: left; tab-stops: list 36.0pt"><span style="font-size: 12pt; font-family: 宋体">允许菜单选项带图标。如果一个图标不存在，将会使用'&#187;'来代替。</span>
    <li style="word-break: break-all; text-align: left; tab-stops: list 36.0pt"><span style="font-size: 12pt; font-family: 宋体">允许使用带有alpha-opacity的png图标，在IE浏览器中也可以。</span>
    <li style="word-break: break-all; text-align: left; tab-stops: list 36.0pt"><span style="font-size: 12pt; font-family: 宋体">可以显示工具提示。</span>
    <li style="word-break: break-all; text-align: left; tab-stops: list 36.0pt"><span style="font-size: 12pt; font-family: 宋体">不使用框架。</span>
    <li style="word-break: break-all; text-align: left; tab-stops: list 36.0pt"><span style="font-size: 12pt; font-family: 宋体">降低了网页的文件大小，因为创建菜单的代码可以被放进一个JavaScript文件，该文件是将会被浏览器缓存。</span>
    <li style="word-break: break-all; text-align: left; tab-stops: list 36.0pt"><span style="font-size: 12pt; font-family: 宋体">菜单可以从服务器端脚本动态生成（在网页显示时）。</span> </li>
</ul>
<p style="word-break: break-all; text-align: left" align="left"><strong><span style="font-size: 18pt; font-family: 宋体">Browser support</span></strong><strong><span style="font-size: 18pt; font-family: 宋体">浏览器支持</span></strong></p>
<ul type="disc">
    <li style="word-break: break-all; text-align: left; tab-stops: list 36.0pt"><span style="font-size: 12pt; font-family: 宋体">Windows</span><span style="font-size: 12pt; font-family: 宋体">中的Internet Explorer 6.0 - 出色的支持</span>
    <li style="word-break: break-all; text-align: left; tab-stops: list 36.0pt"><span style="font-size: 12pt; font-family: 宋体">Windows</span><span style="font-size: 12pt; font-family: 宋体">中的Internet Explorer 5.5 - 良好的支持</span>
    <li style="word-break: break-all; text-align: left; tab-stops: list 36.0pt"><span style="font-size: 12pt; font-family: 宋体">Windows</span><span style="font-size: 12pt; font-family: 宋体">中的Internet Explorer 5.0 &#8211;能工作，但没有png方式</span>
    <li style="word-break: break-all; text-align: left; tab-stops: list 36.0pt"><span style="font-size: 12pt; font-family: 宋体">Mozilla </span><span style="font-size: 12pt; font-family: 宋体">， Firefox ，其他<em>Gecko-s</em>（任何平台） - 出色的支持</span>
    <li style="word-break: break-all; text-align: left; tab-stops: list 36.0pt"><span style="font-size: 12pt; font-family: 宋体">Opera7</span><span style="font-size: 12pt; font-family: 宋体">（任何平台） - 很好的支持，没有淡入淡出</span>
    <li style="word-break: break-all; text-align: left; tab-stops: list 36.0pt"><span style="font-size: 12pt; font-family: 宋体">MacOSX</span><span style="font-size: 12pt; font-family: 宋体">的Apple Safari - 出色的支持</span>
    <li style="word-break: break-all; text-align: left; tab-stops: list 36.0pt"><span style="font-size: 12pt; font-family: 宋体">Linux</span><span style="font-size: 12pt; font-family: 宋体">的Konqueror -良好的支持</span> </li>
</ul>
<p style="word-break: break-all; text-align: left" align="left"><span style="font-size: 12pt; font-family: 宋体">由于大多数Web浏览器，甚至新的，默认工作在兼容模式（也称为QUIRKS模式），以便能够正确显示旧的网页，Navbar需要您在网页上声明为严格的DOCTYPE。这引导浏览器切换到标准的执行模式，Navbar将在QUIRKS模式不能正常工作。</span></p>
<p style="word-break: break-all; text-align: left" align="left"><a name="安装说明"><strong><span style="font-size: 24pt; font-family: 宋体">安装说明</span></strong></a></p>
<p style="word-break: break-all; text-align: left" align="left"><strong><span style="font-size: 22pt; font-family: 宋体">1</span></strong><strong><span style="font-size: 22pt; font-family: 宋体">、</span></strong><span style="font-size: 12pt; font-family: 宋体">从Navbar的发布包中复制&#8220;navbar&#8221;目录到您的Web服务器，例如使用FTP客户端。 If you copied it directly in your document root then a URL like the one below would be valid and lead to the main JS file:如果您直接复制它到您的文档根目录下，因此像下面一样的一个网址将是有效的，并引导主要的js文件：</span></p>
<p style="word-break: break-all; text-align: left" align="left"><span style="font-size: 12pt; font-family: 宋体">http://www.yourdomain.com<span style="color: red">/navbar</span>/navbar.jss </span></p>
<p style="word-break: break-all; text-align: left" align="left"><span style="font-size: 12pt; font-family: 宋体">在这种情况下， Navbar的路径将是&#8220;/navbar&#8221; （红色段）。因为Navbar使用路径来寻找控制图标，因此要在产生菜单之前指定它。</span></p>
<p style="word-break: break-all; text-align: left" align="left"><span style="font-size: 12pt; font-family: 宋体">请注意，有些Web服务器或浏览器可能不认识.jss扩展名（这的确是一个非标准的扩展名），因此将无法传递正确的&#8220;content type&#8221;。如果您遇到任何问题，请重命名该文件为：&#8220;navbar-all.js&#8221;，并在&lt;script&gt;标记中替换并载入该文件。</span></p>
<p style="word-break: break-all; text-align: left" align="left"><strong><span style="font-size: 22pt; font-family: 宋体">2</span></strong><strong><span style="font-size: 22pt; font-family: 宋体">、</span></strong><span style="font-size: 12pt; font-family: 宋体">创建一个&#8220;setupmenu.js&#8221;文件。你可以把它放在任何你想存放的地方，没有必要把它放在的/navbar的路径下。此文件将包含初始化和生成菜单的代码，以下是一个标注了的范例，对于一个完整的例子，您应该查看发行包中的&#8220;setupmenu.js&#8221;源文件，也可看看这个网页的源文件。</span></p>
<p>
<table style="border-right: medium none; border-top: medium none; border-left: medium none; border-bottom: medium none; border-collapse: collapse" cellspacing="0" cellpadding="0" border="1">
    <tbody>
        <tr>
            <td style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: windowtext 1pt solid; padding-left: 5.4pt; padding-bottom: 0cm; border-left: windowtext 1pt solid; width: 426.1pt; padding-top: 0cm; border-bottom: windowtext 1pt solid" valign="top" width="568">
            <pre style="layout-grid-mode: char; word-break: break-all"><span style="font-size: 10.5pt; color: blue">_NavBar_url = "/navbar";</span></pre>
            <pre style="layout-grid-mode: char; word-break: break-all">&nbsp;</pre>
            <pre style="layout-grid-mode: char; word-break: break-all"><span style="font-size: 10.5pt; color: blue">// </span><span style="font-size: 10.5pt; color: blue">用于禁用当前页面功能的助手函数</span></pre>
            <pre style="layout-grid-mode: char; word-break: break-all"><span style="font-size: 10.5pt; color: blue">function</span><span style="font-size: 10.5pt; color: blue"> L(label) {</span></pre>
            <pre style="layout-grid-mode: char; word-break: break-all"><span style="font-size: 10.5pt; color: blue">&nbsp;if (_NavBar_pageID.toLowerCase() == label.toLowerCase())</span></pre>
            <pre style="layout-grid-mode: char; word-break: break-all"><span style="font-size: 10.5pt; color: blue">&nbsp;&nbsp;&nbsp; label = "!" + label;</span></pre>
            <pre style="layout-grid-mode: char; word-break: break-all"><span style="font-size: 10.5pt; color: blue">&nbsp;return label;</span></pre>
            <pre style="layout-grid-mode: char; word-break: break-all"><span style="font-size: 10.5pt; color: blue">}</span></pre>
            <pre style="layout-grid-mode: char; word-break: break-all">&nbsp;</pre>
            <pre style="layout-grid-mode: char; word-break: break-all"><span style="font-size: 10.5pt; color: blue">var</span><span style="font-size: 10.5pt; color: blue"> menu = new NavBar(document.getElementById("content"),</span></pre>
            <pre style="layout-grid-mode: char; word-break: break-all"><span style="font-size: 10.5pt; color: blue">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; document.getElementById("beforemenu"),</span></pre>
            <pre style="layout-grid-mode: char; word-break: break-all"><span style="font-size: 10.5pt; color: blue">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; document.getElementById("aftermenu"));</span></pre>
            <pre style="layout-grid-mode: char; word-break: break-all">&nbsp;</pre>
            <pre style="layout-grid-mode: char; word-break: break-all"><span style="font-size: 10.5pt; color: blue">// </span><span style="font-size: 10.5pt; color: blue">开始生成（添加顶部控制按钮）</span></pre>
            <pre style="layout-grid-mode: char; word-break: break-all"><span style="font-size: 10.5pt; color: blue">menu.openMenu();</span></pre>
            <pre style="layout-grid-mode: char; word-break: break-all">&nbsp;</pre>
            <pre style="layout-grid-mode: char; word-break: break-all"><span style="font-size: 10.5pt; color: blue">// </span><span style="font-size: 10.5pt; color: blue">一个菜单项目</span></pre>
            <pre style="layout-grid-mode: char; word-break: break-all"><span style="font-size: 10.5pt; color: blue">new</span><span style="font-size: 10.5pt; color: blue"> NavSection(</span></pre>
            <pre style="layout-grid-mode: char; word-break: break-all"><span style="font-size: 10.5pt; color: blue">&nbsp;menu, // </span><span style="font-size: 10.5pt; color: blue">父菜单</span></pre>
            <pre style="layout-grid-mode: char; word-break: break-all"><span style="font-size: 10.5pt; color: blue">&nbsp;"a menu", // </span><span style="font-size: 10.5pt; color: blue">项目标签</span></pre>
            <pre style="layout-grid-mode: char; word-break: break-all"><span style="font-size: 10.5pt; color: blue">&nbsp;[</span></pre>
            <pre style="layout-grid-mode: char; word-break: break-all"><span style="font-size: 10.5pt; color: blue">&nbsp;&nbsp;&nbsp; [ L("Home"), "home.html", "Homepage", "images/home.png" ],</span></pre>
            <pre style="layout-grid-mode: char; word-break: break-all"><span style="font-size: 10.5pt; color: blue">&nbsp;&nbsp;&nbsp; [ L("Products"), "products.html", "Our products", "images/products.png" ],</span></pre>
            <pre style="layout-grid-mode: char; word-break: break-all"><span style="font-size: 10.5pt; color: blue">&nbsp;&nbsp;&nbsp; [ L("Label"), "url", "A tooltip", "images/icon.png" ]</span></pre>
            <pre style="layout-grid-mode: char; word-break: break-all"><span style="font-size: 10.5pt; color: blue">&nbsp;]</span></pre>
            <pre style="layout-grid-mode: char; word-break: break-all"><span style="font-size: 10.5pt; color: blue">);</span></pre>
            <pre style="layout-grid-mode: char; word-break: break-all">&nbsp;</pre>
            <pre style="layout-grid-mode: char; word-break: break-all"><span style="font-size: 10.5pt; color: blue">// </span><span style="font-size: 10.5pt; color: blue">设置一些选项</span></pre>
            <pre style="layout-grid-mode: char; word-break: break-all"><span style="font-size: 10.5pt; color: blue">menu.prefs["animation"] = 3;&nbsp;&nbsp;&nbsp; // "bloatware" ;-)</span></pre>
            <pre style="layout-grid-mode: char; word-break: break-all"><span style="font-size: 10.5pt; color: blue">menu.prefs["auto-hide"] = true; // </span><span style="font-size: 10.5pt; color: blue">自动隐藏</span></pre>
            <pre style="layout-grid-mode: char; word-break: break-all">&nbsp;</pre>
            <pre style="layout-grid-mode: char; word-break: break-all"><span style="font-size: 10.5pt; color: blue">// </span><span style="font-size: 10.5pt; color: blue">结束生成</span></pre>
            <pre style="layout-grid-mode: char; word-break: break-all"><span style="font-size: 10.5pt; color: blue">menu.generate();</span></pre>
            </td>
        </tr>
    </tbody>
</table>
</p>
<p style="word-break: break-all; text-align: left" align="left"><span style="font-size: 12pt; font-family: 宋体">一些标注：</span></p>
<ul type="disc">
    <li style="word-break: break-all; text-align: left; tab-stops: list 36.0pt"><span style="font-size: 12pt; font-family: 宋体">如果一个到图片的路径是相对（即&#8220;images/home.png&#8221;），那么它将相对到您的网页，而不是/navbar的路径。</span>
    <li style="word-break: break-all; text-align: left; tab-stops: list 36.0pt"><span style="font-size: 12pt; font-family: 宋体">您可以使用PNG图标。包括在Internet Explorer，变化的opacity将可以工作。</span>
    <li style="word-break: break-all; text-align: left; tab-stops: list 36.0pt"><span style="font-size: 12pt; font-family: 宋体">所有定制选项的列表（如menu.prefs[&#8220;animation&#8221;]）见<u><span style="color: blue">定制信息</span></u>。</span> </li>
</ul>
<p style="word-break: break-all; text-align: left" align="left"><strong><span style="font-size: 22pt; font-family: 宋体">3</span></strong><strong><span style="font-size: 22pt; font-family: 宋体">、</span></strong><span style="font-size: 12pt; font-family: 宋体">正如您从上述代码所注意到的，我们创建了一个标记为&#8220;a menu&#8221;名字的单个项目的菜单，并链接到页面&#8220;home.html&#8221;， &#8220;products.html&#8221;。每个网页应具有以下结构：</span></p>
<p>
<table style="border-right: medium none; border-top: medium none; border-left: medium none; border-bottom: medium none; border-collapse: collapse" cellspacing="0" cellpadding="0" border="1">
    <tbody>
        <tr>
            <td style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: windowtext 1pt solid; padding-left: 5.4pt; padding-bottom: 0cm; border-left: windowtext 1pt solid; width: 426.1pt; padding-top: 0cm; border-bottom: windowtext 1pt solid" valign="top" width="568">
            <pre style="layout-grid-mode: char; word-break: break-all"><span style="font-size: 10.5pt; color: blue">&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"</span></pre>
            <pre style="layout-grid-mode: char; word-break: break-all"><span style="font-size: 10.5pt; color: blue">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"&gt;</span></pre>
            <pre style="layout-grid-mode: char; word-break: break-all"><span style="font-size: 10.5pt; color: blue">&lt;!-- DOCTYPE </span><span style="font-size: 10.5pt; color: blue">是很重要的，不要忘记了 --&gt;</span></pre>
            <pre style="layout-grid-mode: char; word-break: break-all">&nbsp;</pre>
            <pre style="layout-grid-mode: char; word-break: break-all"><span style="font-size: 10.5pt; color: blue">&lt;html xmlns="http://www.w3.org/1999/xhtml"</span></pre>
            <pre style="layout-grid-mode: char; word-break: break-all"><span style="font-size: 10.5pt; color: blue">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; style="padding: 0px; margin: 0px"&gt;</span></pre>
            <pre style="layout-grid-mode: char; word-break: break-all">&nbsp;</pre>
            <pre style="layout-grid-mode: char; word-break: break-all"><span style="font-size: 10.5pt; color: blue">&nbsp;&lt;head&gt;</span></pre>
            <pre style="layout-grid-mode: char; word-break: break-all"><span style="font-size: 10.5pt; color: blue">&nbsp;&nbsp;&nbsp; &lt;title&gt;yourwebsite.com homepage&lt;/title&gt;</span></pre>
            <pre style="layout-grid-mode: char; word-break: break-all">&nbsp;</pre>
            <pre style="layout-grid-mode: char; word-break: break-all"><span style="font-size: 10.5pt; color: blue">&nbsp;&nbsp;&nbsp; &lt;!-- </span><span style="font-size: 10.5pt; color: blue">包含主要的脚本 --&gt;</span></pre>
            <pre style="layout-grid-mode: char; word-break: break-all"><span style="font-size: 10.5pt; color: blue">&nbsp;&nbsp;&nbsp; &lt;script type="text/javascript" src="/navbar/navbar.jss"&gt;&lt;/script&gt;</span></pre>
            <pre style="layout-grid-mode: char; word-break: break-all">&nbsp;</pre>
            <pre style="layout-grid-mode: char; word-break: break-all"><span style="font-size: 10.5pt; color: blue">&nbsp;&nbsp;&nbsp; &lt;script type="text/javascript"&gt;</span></pre>
            <pre style="layout-grid-mode: char; word-break: break-all"><span style="font-size: 10.5pt; color: blue">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; _NavBar_pageID = "Home"; /* </span><span style="font-size: 10.5pt; color: blue">当前页的菜单标记*/</span></pre>
            <pre style="layout-grid-mode: char; word-break: break-all"><span style="font-size: 10.5pt; color: blue">&nbsp;&nbsp;&nbsp; &lt;/script&gt;</span></pre>
            <pre style="layout-grid-mode: char; word-break: break-all">&nbsp;</pre>
            <pre style="layout-grid-mode: char; word-break: break-all"><span style="font-size: 10.5pt; color: blue">&nbsp;&nbsp;&nbsp; &lt;style type="text/css"&gt;</span></pre>
            <pre style="layout-grid-mode: char; word-break: break-all"><span style="font-size: 10.5pt; color: blue">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /* </span><span style="font-size: 10.5pt; color: blue">提取导航栏的样式 */</span></pre>
            <pre style="layout-grid-mode: char; word-break: break-all"><span style="font-size: 10.5pt; color: blue">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; @import url(/navbar/navbar.css);</span></pre>
            <pre style="layout-grid-mode: char; word-break: break-all"><span style="font-size: 10.5pt; color: blue">&nbsp;&nbsp;&nbsp; &lt;/style&gt;</span></pre>
            <pre style="layout-grid-mode: char; word-break: break-all">&nbsp;</pre>
            <pre style="layout-grid-mode: char; word-break: break-all"><span style="font-size: 10.5pt; color: blue">&nbsp;&lt;/head&gt;</span></pre>
            <pre style="layout-grid-mode: char; word-break: break-all">&nbsp;</pre>
            <pre style="layout-grid-mode: char; word-break: break-all"><span style="font-size: 10.5pt; color: blue">&nbsp;&lt;body&gt;</span></pre>
            <pre style="layout-grid-mode: char; word-break: break-all">&nbsp;</pre>
            <pre style="layout-grid-mode: char; word-break: break-all"><span style="font-size: 10.5pt; color: blue">&nbsp;&nbsp;&nbsp; &lt;div id="beforemenu"&gt;</span></pre>
            <pre style="layout-grid-mode: char; word-break: break-all"><span style="font-size: 10.5pt; color: blue">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [...] </span><span style="font-size: 10.5pt; color: blue">显示在导航栏中的内容，位于菜单前面 [...]</span></pre>
            <pre style="layout-grid-mode: char; word-break: break-all"><span style="font-size: 10.5pt; color: blue">&nbsp;&nbsp;&nbsp; &lt;/div&gt;</span></pre>
            <pre style="layout-grid-mode: char; word-break: break-all">&nbsp;</pre>
            <pre style="layout-grid-mode: char; word-break: break-all"><span style="font-size: 10.5pt; color: blue">&nbsp;&nbsp;&nbsp; &lt;div id="aftermenu"&gt;</span></pre>
            <pre style="layout-grid-mode: char; word-break: break-all"><span style="font-size: 10.5pt; color: blue">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [...] </span><span style="font-size: 10.5pt; color: blue">显示在导航栏中的内容，位于菜单后面 [...]</span></pre>
            <pre style="layout-grid-mode: char; word-break: break-all"><span style="font-size: 10.5pt; color: blue">&nbsp;&nbsp;&nbsp; &lt;/div&gt;</span></pre>
            <pre style="layout-grid-mode: char; word-break: break-all">&nbsp;</pre>
            <pre style="layout-grid-mode: char; word-break: break-all"><span style="font-size: 10.5pt; color: blue">&nbsp;&nbsp;&nbsp; &lt;div id="content"&gt;</span></pre>
            <pre style="layout-grid-mode: char; word-break: break-all"><span style="font-size: 10.5pt; color: blue">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;div&gt;</span></pre>
            <pre style="layout-grid-mode: char; word-break: break-all"><span style="font-size: 10.5pt; color: blue">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [...] </span><span style="font-size: 10.5pt; color: blue">这里放置你包含的页面内容 [...]</span></pre>
            <pre style="layout-grid-mode: char; word-break: break-all"><span style="font-size: 10.5pt; color: blue">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/div&gt;</span></pre>
            <pre style="layout-grid-mode: char; word-break: break-all"><span style="font-size: 10.5pt; color: blue">&nbsp;&nbsp;&nbsp; &lt;/div&gt;</span></pre>
            <pre style="layout-grid-mode: char; word-break: break-all">&nbsp;</pre>
            <pre style="layout-grid-mode: char; word-break: break-all"><span style="font-size: 10.5pt; color: blue">&nbsp;&nbsp;&nbsp; &lt;!-- </span><span style="font-size: 10.5pt; color: blue">为了能够生成菜单，在这里加载setupmenu --&gt;</span></pre>
            <pre style="layout-grid-mode: char; word-break: break-all"><span style="font-size: 10.5pt; color: blue">&nbsp;&nbsp;&nbsp; &lt;script type="text/javascript" src="setupmenu.js"&gt;&lt;/script&gt;</span></pre>
            <pre style="layout-grid-mode: char; word-break: break-all">&nbsp;</pre>
            <pre style="layout-grid-mode: char; word-break: break-all"><span style="font-size: 10.5pt; color: blue">&nbsp;&lt;/body&gt;</span></pre>
            <pre style="layout-grid-mode: char; word-break: break-all"><span style="font-size: 10.5pt; color: blue">&lt;/html&gt;</span></pre>
            </td>
        </tr>
    </tbody>
</table>
</p>
<p style="word-break: break-all; text-align: left" align="left"><span style="font-size: 12pt; font-family: 宋体">菜单将建立在id&#8220;content&#8221;的DIV层里面。其他的两个DIV层将被移到导航栏中，并且放在菜单的前面和后面，同时它们也是可选的。</span></p>
<p style="word-break: break-all; text-align: left" align="left"><a name="Navbar的定制"><strong><span style="font-size: 24pt; font-family: 宋体">Navbar</span></strong></a><strong><span style="font-size: 24pt; font-family: 宋体">的定制</strong></span></p>
<p style="word-break: break-all">外观是完全可通过改变CSS文件而定制的。除此之外，有几个自定义选项，需要一些JavaScript代码。假如您是使用下面的命令创建的菜单： </p>
<p>
<table style="border-right: medium none; border-top: medium none; border-left: medium none; border-bottom: medium none; border-collapse: collapse" cellspacing="0" cellpadding="0" border="1">
    <tbody>
        <tr>
            <td style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: windowtext 1pt solid; padding-left: 5.4pt; padding-bottom: 0cm; border-left: windowtext 1pt solid; width: 426.1pt; padding-top: 0cm; border-bottom: windowtext 1pt solid" valign="top" width="568">
            <pre style="layout-grid-mode: char; word-break: break-all"><span style="font-size: 10.5pt; color: blue">var menu = new NavBar("content");</span></pre>
            </td>
        </tr>
    </tbody>
</table>
</p>
<p style="word-break: break-all">您可以修改下列自定义选项：</p>
<p style="margin-left: 36pt; word-break: break-all; text-indent: -18pt; tab-stops: list 36.0pt"><span style="font-size: 10.5pt; color: blue">1.<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp; </span></span><code><span style="font-size: 10.5pt; color: blue">menu.prefs["animation"] = 0 | 1 | 2 | 3</span></code></p>
<p style="margin-left: 36pt; word-break: break-all">意思是&#8220;0&#8221;为没有所有的动画，&#8220;1&#8221;为仅是项目的动画，&#8220;2&#8221;为菜单栏的动画，以及&#8220;3&#8221;为&#8220;膨胀&#8221;动画（当隐藏菜单时，整个网页将产生动画）。我强烈建议使用&#8220;2&#8221;（默认值） 。</p>
<p style="margin-left: 36pt; word-break: break-all; text-indent: -18pt; tab-stops: list 36.0pt"><code><span style="font-size: 10.5pt; color: blue">2.<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp; </span></span></code><code><span style="font-size: 10.5pt; color: blue">menu.prefs["mono-section"] = true | false </span></code></p>
<p style="margin-left: 36pt; word-break: break-all">当mono-section的值为true时，将是一次只有一个项目可见（被展开）。选择另一部分将隐藏当前可见的部分。</p>
<p style="margin-left: 36pt; word-break: break-all; text-indent: -18pt; tab-stops: list 36.0pt"><code><span style="font-size: 10.5pt; color: blue">3.<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp; </span></span></code><code><span style="font-size: 10.5pt; color: blue">menu.prefs["generate-anim"] = true | false </span></code></p>
<p style="margin-left: 36pt; word-break: break-all">如果这个值是true的话，那么菜单在启动时会显示动画。</p>
<p style="margin-left: 36pt; word-break: break-all; text-indent: -18pt; tab-stops: list 36.0pt"><code><span style="font-size: 10.5pt; color: blue">4.<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp; </span></span></code><code><span style="font-size: 10.5pt; color: blue">menu.prefs["auto-hide"] = true | false </span></code></p>
<p style="margin-left: 36pt; word-break: break-all">如果这个值是true的话，菜单将会是一个&#8220;自动隐藏&#8221;的菜单，意思是当鼠标光标鼠标光标离开菜单区域时，菜单将自动隐藏。</p>
<p style="margin-left: 36pt; word-break: break-all; text-indent: -18pt; tab-stops: list 36.0pt"><code><span style="font-size: 10.5pt; color: blue">5.<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp; </span></span></code><code><span style="font-size: 10.5pt; color: blue">menu.prefs["tooltips"] = true | false </span></code></p>
<p style="margin-left: 36pt; word-break: break-all">如果这个值是true（默认）的话，导航栏将显示工具提示。</p>
<p style="margin-left: 36pt; word-break: break-all; text-indent: -18pt; tab-stops: list 36.0pt"><code><span style="font-size: 10.5pt; color: blue">6.<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp; </span></span></code><code><span style="font-size: 10.5pt; color: blue">menu.prefs["icon-width"] = 20 <br />
menu.prefs["icon-height"] = 14 </span></code></p>
<p style="margin-left: 36pt; word-break: break-all">允许您设定图标的尺寸。如果您提供了不同尺寸的图片，它们将被缩小，以满足上面两行配置的要求。</p>
<p style="margin-left: 36pt; word-break: break-all; text-indent: -18pt; tab-stops: list 36.0pt"><code><span style="font-size: 10.5pt; color: blue">7.<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp; </span></span></code><code><span style="font-size: 10.5pt; color: blue">menu.prefs["link-prefix"] = "/foo/bar/" </span></code></p>
<p style="margin-left: 36pt; word-break: break-all">如果将此选项设置，则各个菜单所指向的链接都将加上特定前缀（例如：&#8220;/foot/bar/&#8221; ）。</p>
<p style="margin-left: 36pt; word-break: break-all; text-indent: -18pt; tab-stops: list 36.0pt"><code><span style="font-size: 10.5pt; color: blue">8.<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp; </span></span></code><code><span style="font-size: 10.5pt; color: blue">menu.prefs["cookie-path"] = "/bar/foo/" </span></code></p>
<p style="margin-left: 36pt; word-break: break-all">设定菜单存储的cookie的路径。Cookie用于在紧接后的请求中记住菜单的状态。</p>
<p style="margin-left: 36pt; word-break: break-all; text-indent: -18pt; tab-stops: list 36.0pt"><code><span style="font-size: 10.5pt; color: blue">9.<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp; </span></span></code><code><span style="font-size: 10.5pt; color: blue">menu.prefs["cookie-exp"] = 15 </span></code></p>
<p style="margin-left: 36pt; word-break: break-all">配置Cookie过期时间。如果没有设置（默认），则cookie将直到关闭浏览器（在会议结束时）才过期。上面的例子说明cookie将在15天后过期。</p>
<p style="margin-left: 36pt; word-break: break-all; text-indent: -18pt; tab-stops: list 36.0pt"><code><span style="font-size: 10.5pt; color: blue">10.&nbsp;</span></code><code><span style="font-size: 10.5pt; color: blue">menu.prefs["link-target"] = "_blank" </span></code></p>
<p style="margin-left: 36pt; word-break: break-all">设定在菜单中链接的target属性。这应该是一个frame的名称。如果你想在当前窗口/帧中打开所有链接，就请不要设置。</p>
<p style="margin-left: 36pt; word-break: break-all; text-indent: -18pt; tab-stops: list 36.0pt"><code><span style="font-size: 10.5pt; color: blue">11.&nbsp;</span></code><code><span style="font-size: 10.5pt; color: blue">menu.prefs["nb-frames"] = 15 <br />
menu.prefs["ns-frames"] = "auto" </span></code></p>
<p style="margin-left: 36pt; word-break: break-all">导航栏（nb-）或菜单项目动画（ns-）的帧数。这个数字越高，动画的速度就越慢。如果设为&#8220;自动&#8221; （默认），帧的数目将基于菜单项目的高度来计算。</p>
<p style="margin-left: 36pt; word-break: break-all; text-indent: -18pt; tab-stops: list 36.0pt"><code><span style="font-size: 10.5pt; color: blue">12.&nbsp;</span></code><code><span style="font-size: 10.5pt; color: blue">menu.prefs["nb-fps"] = 45 <br />
menu.prefs["ns-fps"] = 100 </span></code></p>
<p style="margin-left: 36pt; word-break: break-all">导航栏（nb-）或菜单项目动画（ns-）每秒将会显示的帧数。这个数字越高，动画将会越平滑，但CPU的负载就会越高。其默认值应该对于大部分系统都是不错的。</p>
<p style="margin-left: 36pt; word-break: break-all; text-indent: -18pt; tab-stops: list 36.0pt"><code><span style="font-size: 10.5pt; color: blue">13.&nbsp;</span></code><code><span style="font-size: 10.5pt; color: blue">menu.prefs["home-href"] = "http://dynarch.com/mishoo/menubar.epl" <br />
menu.prefs["home-title"] = "NavBar project page" <br />
menu.prefs["home-text"] = "NavBar" </span></code></p>
<p style="margin-left: 36pt; word-break: break-all">这个首选项可让您定义将会显示在头部/尾部和它的工具栏提示的链接。上面的例子显示了默认选项。</p>
<p style="margin-left: 36pt; word-break: break-all; text-indent: -18pt; tab-stops: list 36.0pt"><code><span style="font-size: 10.5pt; color: blue">14.&nbsp;</span></code><code><span style="font-size: 10.5pt; color: blue">menu.prefs["no-controls"] = false </span></code></p>
<p style="margin-left: 36pt; word-break: break-all">设置<strong>为</strong>true，为了隐藏&#8220;全局菜单控制&#8221;，即&#8220;+&#8221;，&#8220;-&#8221;按钮操作所有菜单项目，以及左/右箭头可关闭/打开菜单。</p>
<p style="margin-left: 36pt; word-break: break-all; text-indent: -18pt; tab-stops: list 36.0pt"><code><span style="font-size: 10.5pt; color: blue">15.&nbsp;</span></code><code><span style="font-size: 10.5pt; color: blue">menu.prefs["no-disable"] = false </span></code></p>
<p style="margin-left: 36pt; word-break: break-all">如果您设置为<strong>true</strong>的话，Navbar将不会禁用当前的项目。如果你想当前的项目看上去是激活的，并且没有被禁用，可在这里设置&#8220;item-disabled&#8221; （或自定义字符串），同时该项目将获得附加的字符串作为类的名称。使用这个（类名称）您可以在它的样式表中定义一个自定义外观。&#8220;item-disabled&#8221;是在navbar.css中定义的默认的类别名称，用来使得该项目看起来是&#8220;激活&#8221;的。</p>
<img src ="http://www.blogjava.net/tanzek/aggbug/235580.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/tanzek/" target="_blank">tanzek</a> 2008-10-21 08:45 <a href="http://www.blogjava.net/tanzek/archive/2008/10/21/235580.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[转]Lazy Initialization and the DAO pattern with Hibernate and Spring</title><link>http://www.blogjava.net/tanzek/archive/2008/10/15/234543.html</link><dc:creator>tanzek</dc:creator><author>tanzek</author><pubDate>Wed, 15 Oct 2008 14:48:00 GMT</pubDate><guid>http://www.blogjava.net/tanzek/archive/2008/10/15/234543.html</guid><wfw:comment>http://www.blogjava.net/tanzek/comments/234543.html</wfw:comment><comments>http://www.blogjava.net/tanzek/archive/2008/10/15/234543.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/tanzek/comments/commentRss/234543.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/tanzek/services/trackbacks/234543.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 关于Spring和Hibernate整合后的懒加载和DAO模式应用，尤其介绍了其中的Hibernate懒加载在应用Spring的情况下在各个层次实现的情况。暂时是英文的，有时间试着翻译一下！~Hibernate and Lazy InitializationHibernate object relational mapping offers both lazy and ...&nbsp;&nbsp;<a href='http://www.blogjava.net/tanzek/archive/2008/10/15/234543.html'>阅读全文</a><img src ="http://www.blogjava.net/tanzek/aggbug/234543.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/tanzek/" target="_blank">tanzek</a> 2008-10-15 22:48 <a href="http://www.blogjava.net/tanzek/archive/2008/10/15/234543.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>