From 310fd066e91f454b990372ffa30e803cc8120975 Mon Sep 17 00:00:00 2001 From: Florian Merz Date: Thu, 11 Feb 2021 12:56:40 +0100 Subject: unslug zh-cn: move --- .../building_blocks/image_gallery/index.html | 244 +++++++++++++++++++++ .../index.html" | 244 --------------------- 2 files changed, 244 insertions(+), 244 deletions(-) create mode 100644 files/zh-cn/learn/javascript/building_blocks/image_gallery/index.html delete mode 100644 "files/zh-cn/learn/javascript/building_blocks/\347\233\270\347\211\207\350\265\260\345\273\212/index.html" (limited to 'files/zh-cn/learn/javascript/building_blocks') diff --git a/files/zh-cn/learn/javascript/building_blocks/image_gallery/index.html b/files/zh-cn/learn/javascript/building_blocks/image_gallery/index.html new file mode 100644 index 0000000000..22101b20ba --- /dev/null +++ b/files/zh-cn/learn/javascript/building_blocks/image_gallery/index.html @@ -0,0 +1,244 @@ +--- +title: 照片库 +slug: learn/JavaScript/Building_blocks/相片走廊 +tags: + - 事件 + - 事件句柄 + - 初学者 + - 学习 + - 循环 + - 评估 +translation_of: Learn/JavaScript/Building_blocks/Image_gallery +--- +
{{LearnSidebar}}
+ +
{{PreviousMenu("Learn/JavaScript/Building_blocks/Events", "Learn/JavaScript/Building_blocks")}}
+ +

我们已经学习了 JavaScript 基础的块结构,下面我们通过编写一个常见的基于 JavaScript 的照片库来测验一下你对于循环、函数、条件和事件的掌握情况。

+ + + + + + + + + + + + +
预备知识:请读完本章其它所有小节的内容后再开始这个测验。
目标:测试你对 JavaScript 的循环、函数、条件语句和事件处理的掌握程度。
+ +

起点

+ +

下载压缩包 并在本地解压。

+ +
+

:你还可以使用类似 JSBinThimble 这些在线编辑器来完成测验。你可以把 HTML、CSS 和 JavaScript 代码复制过去。如果你选的工具没有独立的 JavaScript/CSS 板面,可以随时在 HTML 页面中添加 <script>/<style> 元素。

+
+ +

项目简介

+ +

我们提供了一些 HTML、CSS、相片和几行 JavaScript 代码。需要你来编写必要的 JavaScript 代码让这个项目运行起来。HTML 的 body 部分如下:

+ +
<h1>照片库</h1>
+
+<div class="full-img">
+  <img class="displayed-img" src="images/pic1.jpg">
+  <div class="overlay"></div>
+  <button class="dark">变暗</button>
+</div>
+
+<div class="thumb-bar">
+
+</div>
+ +

你可以尝试操作一下这个示例,也可 在线打开。(不要偷看源代码哦!)

+ + + + + +

{{ EmbedLiveSample('Image_gallery', '100%', 680, "", "", "hide-codepen-jsfiddle") }}

+ +

以下是本例中 CSS 文件最值得关注的部分:

+ + + +

你的 JavaScript 需要:

+ + + +

可以看一下 完成的示例 体会一下。(别偷看代码哦)

+ +

步骤

+ +

以下是你的工作。

+ +

遍历照片

+ +

我们提供的代码中用一个名为 thumBar 的变量用来存储 thumb-bar <div> 的引用,创建了一个新的 <img> 元素,将它的 src 属性值设置成 xxx 占位符,并且将这个新的 <img> 元素添加到 thumbBar 里。

+ +

你应该:

+ +
    +
  1. 在"遍历图片"注释下方添加一个循环来遍历 5 张图片,只需要遍历 5 个数字,每个数字代表一张图片。
  2. +
  3. 每次迭代中,用图片路径的字符串替换掉占位符 xxx。即在每次迭代中把 src 属性设置为图片的路径。记住,图片都在 images 目录下,文件名是 pic1.jpgpic2.jpg,等等。
  4. +
+ +

给每一个缩略图添加点击处理器

+ +

每次迭代中,你需要给当前的 newImage 加上一个 onclick 事件处理函数——它应该:

+ +
    +
  1. 找到当前图片的 src 属性值。这个可以通过对当前的 <img> 用 "src" 作为参数调用 getAttribute() 函数来完成,但是如何在代码里获取图片?用 newImage 是不行的,因为在事件处理函数应用之前循环已经结束,这样每次迭代 src 的值都会是最后一张图片。因此,对于每个事件处理器,<img> 都是函数的目标。是否可以从事件对象获得相关信息呢。
  2. +
  3. 调用一个函数,取上一步返回的 src 值作为参数。可以给这个函数起一个喜欢的名字。
  4. +
  5. 事件处理器函数应该把 displayed-img <img> 的 src 属性值设为作为参数传入的 src 值。我们已经提供了一个 displayedImg 变量存储相关的 <img>。注意我们需要的是一个定义好的、有名字的函数。
  6. +
+ +

为变亮/变暗按钮编写处理器

+ +

还剩最后的变亮/变暗 <button>。我们已经提供了一个名为 btn 的变量来存储 <button> 的引用。需要添加一个 onclick 事件处理函数:

+ +
    +
  1. 检查当前 <button> 按钮的类名称,仍可用 getAttribute() 函数取得。
  2. +
  3. 如果类名的值是 "dark", 将 <button> 的类名变为 "light"(使用 setAttribute()), 文本内容变为 "变亮",蒙板 <div> 的{{cssxref("background-color")}} 设为 "rgba(0,0,0,0.5)"
  4. +
  5. 如果类名的值不是 "dark", 将 <button> 的类名变为 "dark",文本内容变为 "变暗",蒙板 <div> 的{{cssxref("background-color")}} 设为 "rgba(0,0,0,0)"
  6. +
+ +

以下是实现上述 2、3 点所提功能的基本代码:

+ +
btn.setAttribute('class', xxx);
+btn.textContent = xxx;
+overlay.style.backgroundColor = xxx;
+ +

提示

+ + + +

测验

+ +

如果你是在课堂上进行这个测验,你可以把作品交给导或教授去打分了。如果你是在自学,可以很容易地在 本节测验的讨论页Mozilla 聊天室#mdn 频道回复得到批改指南。请先自己试着做,作弊学不到任何东西!

+ +

{{PreviousMenu("Learn/JavaScript/Building_blocks/Events", "Learn/JavaScript/Building_blocks")}}

+ +

本章目录

+ + diff --git "a/files/zh-cn/learn/javascript/building_blocks/\347\233\270\347\211\207\350\265\260\345\273\212/index.html" "b/files/zh-cn/learn/javascript/building_blocks/\347\233\270\347\211\207\350\265\260\345\273\212/index.html" deleted file mode 100644 index 22101b20ba..0000000000 --- "a/files/zh-cn/learn/javascript/building_blocks/\347\233\270\347\211\207\350\265\260\345\273\212/index.html" +++ /dev/null @@ -1,244 +0,0 @@ ---- -title: 照片库 -slug: learn/JavaScript/Building_blocks/相片走廊 -tags: - - 事件 - - 事件句柄 - - 初学者 - - 学习 - - 循环 - - 评估 -translation_of: Learn/JavaScript/Building_blocks/Image_gallery ---- -
{{LearnSidebar}}
- -
{{PreviousMenu("Learn/JavaScript/Building_blocks/Events", "Learn/JavaScript/Building_blocks")}}
- -

我们已经学习了 JavaScript 基础的块结构,下面我们通过编写一个常见的基于 JavaScript 的照片库来测验一下你对于循环、函数、条件和事件的掌握情况。

- - - - - - - - - - - - -
预备知识:请读完本章其它所有小节的内容后再开始这个测验。
目标:测试你对 JavaScript 的循环、函数、条件语句和事件处理的掌握程度。
- -

起点

- -

下载压缩包 并在本地解压。

- -
-

:你还可以使用类似 JSBinThimble 这些在线编辑器来完成测验。你可以把 HTML、CSS 和 JavaScript 代码复制过去。如果你选的工具没有独立的 JavaScript/CSS 板面,可以随时在 HTML 页面中添加 <script>/<style> 元素。

-
- -

项目简介

- -

我们提供了一些 HTML、CSS、相片和几行 JavaScript 代码。需要你来编写必要的 JavaScript 代码让这个项目运行起来。HTML 的 body 部分如下:

- -
<h1>照片库</h1>
-
-<div class="full-img">
-  <img class="displayed-img" src="images/pic1.jpg">
-  <div class="overlay"></div>
-  <button class="dark">变暗</button>
-</div>
-
-<div class="thumb-bar">
-
-</div>
- -

你可以尝试操作一下这个示例,也可 在线打开。(不要偷看源代码哦!)

- - - - - -

{{ EmbedLiveSample('Image_gallery', '100%', 680, "", "", "hide-codepen-jsfiddle") }}

- -

以下是本例中 CSS 文件最值得关注的部分:

- - - -

你的 JavaScript 需要:

- - - -

可以看一下 完成的示例 体会一下。(别偷看代码哦)

- -

步骤

- -

以下是你的工作。

- -

遍历照片

- -

我们提供的代码中用一个名为 thumBar 的变量用来存储 thumb-bar <div> 的引用,创建了一个新的 <img> 元素,将它的 src 属性值设置成 xxx 占位符,并且将这个新的 <img> 元素添加到 thumbBar 里。

- -

你应该:

- -
    -
  1. 在"遍历图片"注释下方添加一个循环来遍历 5 张图片,只需要遍历 5 个数字,每个数字代表一张图片。
  2. -
  3. 每次迭代中,用图片路径的字符串替换掉占位符 xxx。即在每次迭代中把 src 属性设置为图片的路径。记住,图片都在 images 目录下,文件名是 pic1.jpgpic2.jpg,等等。
  4. -
- -

给每一个缩略图添加点击处理器

- -

每次迭代中,你需要给当前的 newImage 加上一个 onclick 事件处理函数——它应该:

- -
    -
  1. 找到当前图片的 src 属性值。这个可以通过对当前的 <img> 用 "src" 作为参数调用 getAttribute() 函数来完成,但是如何在代码里获取图片?用 newImage 是不行的,因为在事件处理函数应用之前循环已经结束,这样每次迭代 src 的值都会是最后一张图片。因此,对于每个事件处理器,<img> 都是函数的目标。是否可以从事件对象获得相关信息呢。
  2. -
  3. 调用一个函数,取上一步返回的 src 值作为参数。可以给这个函数起一个喜欢的名字。
  4. -
  5. 事件处理器函数应该把 displayed-img <img> 的 src 属性值设为作为参数传入的 src 值。我们已经提供了一个 displayedImg 变量存储相关的 <img>。注意我们需要的是一个定义好的、有名字的函数。
  6. -
- -

为变亮/变暗按钮编写处理器

- -

还剩最后的变亮/变暗 <button>。我们已经提供了一个名为 btn 的变量来存储 <button> 的引用。需要添加一个 onclick 事件处理函数:

- -
    -
  1. 检查当前 <button> 按钮的类名称,仍可用 getAttribute() 函数取得。
  2. -
  3. 如果类名的值是 "dark", 将 <button> 的类名变为 "light"(使用 setAttribute()), 文本内容变为 "变亮",蒙板 <div> 的{{cssxref("background-color")}} 设为 "rgba(0,0,0,0.5)"
  4. -
  5. 如果类名的值不是 "dark", 将 <button> 的类名变为 "dark",文本内容变为 "变暗",蒙板 <div> 的{{cssxref("background-color")}} 设为 "rgba(0,0,0,0)"
  6. -
- -

以下是实现上述 2、3 点所提功能的基本代码:

- -
btn.setAttribute('class', xxx);
-btn.textContent = xxx;
-overlay.style.backgroundColor = xxx;
- -

提示

- - - -

测验

- -

如果你是在课堂上进行这个测验,你可以把作品交给导或教授去打分了。如果你是在自学,可以很容易地在 本节测验的讨论页Mozilla 聊天室#mdn 频道回复得到批改指南。请先自己试着做,作弊学不到任何东西!

- -

{{PreviousMenu("Learn/JavaScript/Building_blocks/Events", "Learn/JavaScript/Building_blocks")}}

- -

本章目录

- - -- cgit v1.2.3-54-g00ecf