JavaScript学习 第 六 章

原创 2004年08月20日 15:54:00


第 六 集




许 多 网 友 问 我 一 个 有 趣 的 问 题 : 如 何 用 mouse 按 一 下 便 可 同 时 载 入 两 页 文 件。 基 本 上 有 三 种 方 法 可 以 达 到 这 种 功 能。 第 一 种 方 法 是 制 作 一 个 按 钮, 让 使 用 者 按 下 後 去 启 动 一 个 能 同 时 将 两 份 文 件 载 入 不 同frames或 新 视 窗 的 函 式 (function)。 若 您 曾 经 看 过 此 份 简 介 文 件 的 其 它 章 节 的 话, 我 相 信 您 可 以 很 轻 易 写 出 这 种 语 法:

我 们 制 作 了 三 个 frame , 第 一 个 frame 中 包 含 了 一 个 按 钮。 请 注 意, 第 一 个 HTML 档 案 只 是 用 来 打 开 frame 和 给 予 每 个 frame 一 个 名 字。 若 您 还 不 清 楚 JavaScript 和 frame 的 关 系, 可 以 先 阅 读 第 三 章。 不 过 在 此 还 是 照 例 让 您 瞧 瞧 原 始 码 (不 知 您 是 否 在 很 多 电 脑 书 籍 中 遇 到 一 个 相 同 的 困 扰, 那 就 是 作 者 常 把 一 些 自 认 很 简 单 的 东 西 忽 略 不 提, 结 果 那 些 东 西 正 是 读 者 搞 不 懂 的 地 方 ! 所 以, 若 您 对 我 提 的 东 西 已 很 了 解, 请 发 挥 一 下 您 的 耐 性 :-)

frames2.html

<HTML>
<HEAD>
<title>Frames</title>
</HEAD>
    <FRAMESET COLS="295,*"> 
  <FRAMESET ROWS="100%,*"> 
    <FRAME SRC="loadtwo.html" NAME="fr1"> 
      </FRAMESET> 
  <FRAMESET ROWS="75%,25%"> 
    <FRAME SRC="cell.html" NAME="fr2"> 
    <FRAME SRC="cell.html" NAME="fr3"> 
      </FRAMESET> 
</FRAMESET> 
</HTML>
第 一 个 frame 会 载 入 loadtwo.html 并 产 生 一 个 按 钮 :

loadtwo.html

<HTML>
<HEAD>
<script language="JavaScript">
<!-- Hiding
  function loadtwo(page2, page3) {
     parent.fr2.location.href=page2;
     parent.fr3.location.href=page3;
}
// -->
</script>
</HEAD>
<BODY>
<FORM NAME="buttons">
     <INPUT TYPE="button" VALUE="同 时 载 入 两 份 文 件" onClick="loadtwo('frtest1.html',
     'frtest2.html')">
</FORM>
</BODY>
</HTML>

按 下 按 钮 後, 电 脑 会 传 递 两 个 字 串 给 loadtwo() 并 将 之 启 动。 由 loadtwo() 中 可 以 看 出, 第 一 个 字 串 是 用 来 定 义 第 二 个 frame fr2所 载 入 文 件 的 位 址 和 档 案 名。 若 您 想 定 义 另 外 的 按 钮 来 载 入 不 同 的 文 件, 您 可 以 重 复 使 用 此 函 式。 只 要 将 文 件 的 URLs (addresses) 传 给 loadtwo()即 可。


接 下 来 谈 谈 用 hyperlinks 同 时 载 入 两 页 文 件 的 第 二 种 方 法。 在 Internet 上 您 可 以 发 现 许 多 网 页 使 用 <a href="yourlink.html" onCLick="yourfunction()">来 达 到 上 述 提 及 的 功 能。 但 此 语 法 并 不 能 在 所 有 平 台 上 均 正 常 执 行, 因 此 最 好 不 要 用 此 语 法。 现 在 我 告 诉 您 另 一 种 写 法 : 我 们 可 改 用 下 述 JavaScript 语 法:

<a href="javascript:myfunction()">My Link</a>
此 种 方 式 非 常 简 单 而 且 在 所 有 浏 览 器 中 均 能 正 常 执 行。 您 只 要 写 上 javascript: 并 加 上 您 想 联 结 的 函 式 名 即 可。 若 此 函 式 名 称 设 为 'loadtwo()' , 那 您 就 可 藉 由 按 下 此 hyperlink 来 达 到 同 时 载 入 两 份 文 件 的 目 的 了。


再 接 着 谈 谈 用 mouse 按 一 下 便 可 同 时 载 入 两 页 文 件 的 第 三 种 方 法, 此 方 法 可 以 以 hyperlinks 或 按 钮 来 执 行。 您 可 先 在 第 二 个frame 中 载 入 一 个 HTML 文 件 :
<a href="getfr2.html" target="fr2">请 按 这 里 !</a>
然 後 在 此 文 件 中 (getfr2.html) 加 入 onLoad 这 项 指 令, 用 来 触 发 第 三 个 frame 载 入 另 一 份 文 件。 如 此 一 来 便 可 同 时 载 入 两 份 文 件。getfr2.html 档 的 原 始 码 如 下 :

<HTML>
<BODY onLoad="parent.fr3.location.href='getfr3.html'; return true;">
文 件 内 容.....。
</body>
</html>

当 然, 您 必 须 在 所 有 会 被 载 入 到 第 二 个 frame 的 文 件 中 加 入 onLoad 这 项 指 令。


另 一 个 常 遇 见 的 问 题 是 如 何 开 一 个 新 视 窗 并 载 入 文 件?我 们 想 达 到 的 效 果 是 当 使 用 者 按 一 下 mouse 便 会 '弹' 出 一 个 新 视 窗。 很 简 单, 只 要 在 <a href...> 中 利 用 target 这 项 特 性 就 可 达 到 此 效 果。 例 如 :
<a href="goanywhere.html" target="Resource Window">Go!</a>


现 在 我 将 谈 谈 在 JavaScript 中 几 种 常 用 的 运 算 子 (operator)。 运 算 子 可 以 使 您 的 JavaScript 语 法 更 精 简。 假 设 您 想 测 试 变 数 x 是 否 大 於 3 且 小 於 10, 您 可 写 成 :

if (x>3) 
  if (x<10)
    doanything();

当 满 足 x>3 x<10 时, 就 会 执 行 doanything()。 还 有 一 种 更 精 简 的 写 法 :

if (x>3 && x<10) doanything();
' &&' 称 为 AND- 运 算 子。 还 有 另 一 种 被 称 为 OR- 运 算 子 的 东 东 可 让 您 用 来 检 视 是 否 变 数 x 等 於 5 或 变 数 y 等 於 17 :

if (x==5 || y==17) doanything();
当 满 足 x==3 y==17 时, 就 会 执 行 doanything()。 当 然, 当 两 者 皆 成 立 时 也 会 执 行 doanything()。
在 JavaScript 中 是 利 用 == 来 做 比 较 的 工 作 (其 它 尚 有 <,>,<= 和 >=), 这 些 都 和 C/C++ 的 语 法 相 同。 另 外 单 一 '=' 是 用 来 将 数 值 存 入 变 数 用 的。 (在 Pascal 语 法 中 将 数 值 指 定 给 变 数 是 用 :=, 而 做 比 较 是 用 单 一 的 '=', 这 和 JavaScript 语 法 有 点 不 同)

若 您 想 利 用 '不 等 於' 这 项 特 性, 您 可 以 用 !=。 例 如 : x != 17.

尚 有 许 多 可 以 精 简 您 的 JavaScript 语 法 的 运 算 子, 去 翻 翻 Netscape 的 文 件 吧 !



Android编程权威指南(第二版)学习笔记(十六)—— 第16章 使用 intent 拍照

本章主要讲了如何使用 intent 拍照,存储照片和展示照片
  • kniost
  • kniost
  • 2017年01月12日 17:55
  • 391

JS toFixed 四舍六入五成双

以前一直以为toFixed就是四舍五入的方法,后来又有一段时间以为toFixed是五舍六入。今天终于写的时候,终于才知道toFixed是一个叫做四舍六入无成双的诡异的方法。。。 完全不明白为什么要这么...
  • zeyu1021
  • zeyu1021
  • 2015年04月09日 12:27
  • 1160

JS保留小数点(四舍五入、四舍六入)实例

floatDecimal.html //保留两位小数 //功能:将浮点数四...
  • qiaoshuai0920
  • qiaoshuai0920
  • 2013年04月24日 17:59
  • 1437

第一阶段学习总结.章一至章六

第一阶段学习总结.章一至章六 一.第一次了解Ubuntu相关的知识.原来只是粗略的用过Redhat.     ​等有空可以补充学一些操作系统相关的知识. ...
  • zhangyanhe
  • zhangyanhe
  • 2016年09月11日 13:53
  • 218

Python3《机器学习实战》学习笔记(六):Logistic回归基础篇之梯度上升算法

本文从Logistic回归的原理开始讲起,补充了书上省略的数学推导。本文可能会略显枯燥,理论居多,Sklearn实战内容会放在下一篇文章。自己慢慢推导完公式,还是蛮开心的一件事。...
  • c406495762
  • c406495762
  • 2017年08月30日 20:18
  • 5756

阿朴橡皮章教程——进阶版[套色]【转侵删】

个人比较喜欢做手工类的东西  所以转两篇橡皮章教程上来  原作者阿朴  用手机在《约绘》上扫描下来的 并非用作商业用途  如有侵权请告知  会马上删掉...
  • goblinlq
  • goblinlq
  • 2015年03月23日 23:54
  • 981

主动学习(六)浅谈Multi-criteria 的鼻祖

本博客系原创作品,转载请注明出处: 主动学习小白博主又来和大家分享心得啦~ 拜读了号称是 multi-criteria 开山鼻祖的文章 multi-criteria-based active lea...
  • JYZhang_CVML
  • JYZhang_CVML
  • 2017年03月13日 22:23
  • 273

章文嵩:怎样做开源才有意义?

大家好,我是InfoQ的主持人,现在在架构师峰会现场。今天我们很高兴邀请到阿里云的技术负责人章文嵩博士来接受我们的采访。第一个问题是有关淘宝-阿里系的开源进程,我们从外面看起来似乎是有三个比较明显的阶...
  • robertsong2004
  • robertsong2004
  • 2014年08月20日 14:47
  • 1208

在2016年如何学习JavaScript?

在2016年如何学习JavaScript?原文链接 Want to learn JavaScript in 2016?作者:Vincent O译者:相信有不少人已经读过在 2016 年学 JavaSc...
  • xllily_11
  • xllily_11
  • 2016年11月04日 11:08
  • 3341

第 六 章 图

 一、图的存储结构 1.1 邻接矩阵     图的邻接矩阵存储方式是用两个数组来表示图。一个一维数组存储图中顶点信息,一个二维数组(邻接矩阵)存储图中的边或弧的信息。     设图...
  • brucetein
  • brucetein
  • 2014年11月03日 13:52
  • 183
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JavaScript学习 第 六 章
举报原因:
原因补充:

(最多只允许输入30个字)