File tree 31 files changed +69
-57
lines changed
08 - Fun with HTML5 Canvas
09 - Dev Tools Domination
10 - Hold Shift and Check Checkboxes
12 - Key Sequence Detection
14 - JavaScript References VS Copying
17 - Sort Without Articles
18 - AddingUpTimesWithReduce
22 - Follow Along Link Highlighter
26 - Strip Follow Along Nav
28 - Video Speed Controller
31 files changed +69
-57
lines changed Original file line number Diff line number Diff line change
1
+ Title: 标号-题目-类型 问题简述
2
+
3
+ 例子:
4
+
5
+ ```
6
+ 11 - Custom Video Player - readme: LocalStorage 補充
7
+ 11 - Custom Video Player - js: const 写法错误
8
+ ```
9
+
10
+ 说明中最好提供问题所在的具体位置链接,链接获取方法:
11
+ 1 . Markdown 文档下,鼠标移动至你有问题的小标题,点击其左侧的链接图标,复制地址栏的地址即可。如:https://github.com/soyaine/JavaScript30/tree/master/11%20-%20Custom%20Video%20Player#图标切换
12
+ 2 . 代码文档下,点击某一行左侧标号,复制地址栏地址即可,如 https://github.com/soyaine/JavaScript30/blob/master/11%20-%20Custom%20Video%20Player/index.html#L20
Original file line number Diff line number Diff line change 1
1
# 01 JavaScript Drum Kit 中文指南
2
2
3
- > 作者:©[ 缉熙Soyaine ] ( https://github.com/soyaine )
3
+ > 作者:©[ 未枝丫 ] ( https://github.com/soyaine )
4
4
> 简介:[ JavaScript30] ( https://javascript30.com ) 是 [ Wes Bos] ( https://github.com/wesbos ) 推出的一个 30 天挑战。项目免费提供了 30 个视频教程、30 个挑战的起始文档和 30 个挑战解决方案源代码。目的是帮助人们用纯 JavaScript 来写东西,不借助框架和库,也不使用编译器和引用。现在你看到的是这系列指南的第 1 篇。完整指南在 [ GitHub] ( https://github.com/soyaine/JavaScript30 ) ,喜欢请 Star 哦♪(^∇^* )
5
5
6
6
## 实现效果
Original file line number Diff line number Diff line change 1
1
# 02 纯 JS、CSS 时钟 中文指南
2
2
3
- > 作者:©[ 缉熙Soyaine ] ( https://github.com/soyaine )
3
+ > 作者:©[ 未枝丫 ] ( https://github.com/soyaine )
4
4
> 简介:[ JavaScript30] ( https://javascript30.com ) 是 [ Wes Bos] ( https://github.com/wesbos ) 推出的一个 30 天挑战。项目免费提供了 30 个视频教程、30 个挑战的起始文档和 30 个挑战解决方案源代码。目的是帮助人们用纯 JavaScript 来写东西,不借助框架和库,也不使用编译器和引用。现在你看到的是这系列指南的第 2 篇。完整指南在 [ GitHub] ( https://github.com/soyaine/JavaScript30 ) ,喜欢请 Star 哦♪(^∇^* )
5
5
6
6
> 创建时间:2016-12-21
Original file line number Diff line number Diff line change 1
1
# 03 CSS Variable
2
2
3
- > 作者:©[ 缉熙Soyaine ] ( https://github.com/soyaine )
3
+ > 作者:©[ 未枝丫 ] ( https://github.com/soyaine )
4
4
> 简介:[ JavaScript30] ( https://javascript30.com ) 是 [ Wes Bos] ( https://github.com/wesbos ) 推出的一个 30 天挑战。项目免费提供了 30 个视频教程、30 个挑战的起始文档和 30 个挑战解决方案源代码。目的是帮助人们用纯 JavaScript 来写东西,不借助框架和库,也不使用编译器和引用。现在你看到的是这系列指南的第 3 篇。完整指南在 [ GitHub] ( https://github.com/soyaine/JavaScript30 ) ,喜欢请 Star 哦♪(^∇^* )
5
5
6
6
## 实现效果
Original file line number Diff line number Diff line change 1
1
# 04 Array Cardio 💪 指南一
2
2
3
- > 作者:©[ 缉熙Soyaine ] ( https://github.com/soyaine )
3
+ > 作者:©[ 未枝丫 ] ( https://github.com/soyaine )
4
4
> 简介:[ JavaScript30] ( https://javascript30.com ) 是 [ Wes Bos] ( https://github.com/wesbos ) 推出的一个 30 天挑战。项目免费提供了 30 个视频教程、30 个挑战的起始文档和 30 个挑战解决方案源代码。目的是帮助人们用纯 JavaScript 来写东西,不借助框架和库,也不使用编译器和引用。现在你看到的是这系列指南的第 4 篇。完整指南在 [ GitHub] ( https://github.com/soyaine/JavaScript30 ) ,喜欢请 Star 哦♪(^∇^* )
5
5
6
6
## 实现效果
Original file line number Diff line number Diff line change 113
113
114
114
// 下面是我在豆瓣里筛选书名里含有 CSS 的书的代码
115
115
// https://book.douban.com/tag/web
116
- // const links = document.querySelectorAll('.subject-list h2 a');
116
+ // const links = Array.from( document.querySelectorAll('.subject-list h2 a') );
117
117
// const book = links
118
118
// .map(link => link.title)
119
119
// .filter(title => title.includes('CSS'));
Original file line number Diff line number Diff line change 1
1
# 05 Flex 实现可伸缩的图片墙 中文指南
2
2
3
- > 作者:©[ 缉熙Soyaine ] ( https://github.com/soyaine )
3
+ > 作者:©[ 未枝丫 ] ( https://github.com/soyaine )
4
4
> 简介:[ JavaScript30] ( https://javascript30.com ) 是 [ Wes Bos] ( https://github.com/wesbos ) 推出的一个 30 天挑战。项目免费提供了 30 个视频教程、30 个挑战的起始文档和 30 个挑战解决方案源代码。目的是帮助人们用纯 JavaScript 来写东西,不借助框架和库,也不使用编译器和引用。现在你看到的是这系列指南的第 5 篇。完整指南在 [ GitHub] ( https://github.com/soyaine/JavaScript30 ) ,喜欢请 Star 哦♪(^∇^* )
5
5
6
6
## 实现效果
Original file line number Diff line number Diff line change 1
1
# 06 Fetch 结合 filter 实现快速匹配古诗
2
2
3
- > 作者:©[ 缉熙Soyaine ] ( https://github.com/soyaine )
3
+ > 作者:©[ 未枝丫 ] ( https://github.com/soyaine )
4
4
> 简介:[ JavaScript30] ( https://javascript30.com ) 是 [ Wes Bos] ( https://github.com/wesbos ) 推出的一个 30 天挑战。项目免费提供了 30 个视频教程、30 个挑战的起始文档和 30 个挑战解决方案源代码。目的是帮助人们用纯 JavaScript 来写东西,不借助框架和库,也不使用编译器和引用。现在你看到的是这系列指南的第 6 篇。完整指南在 [ GitHub] ( https://github.com/soyaine/JavaScript30 ) ,喜欢请 Star 哦♪(^∇^* )
5
5
6
6
## 实现效果
Original file line number Diff line number Diff line change 1
1
# 07 Array Cardio 💪 指南二
2
2
3
- > 作者:©[ 缉熙Soyaine ] ( https://github.com/soyaine )
3
+ > 作者:©[ 未枝丫 ] ( https://github.com/soyaine )
4
4
> 简介:[ JavaScript30] ( https://javascript30.com ) 是 [ Wes Bos] ( https://github.com/wesbos ) 推出的一个 30 天挑战。项目免费提供了 30 个视频教程、30 个挑战的起始文档和 30 个挑战解决方案源代码。目的是帮助人们用纯 JavaScript 来写东西,不借助框架和库,也不使用编译器和引用。现在你看到的是这系列指南的第 7 篇。完整指南在 [ GitHub] ( https://github.com/soyaine/JavaScript30 ) ,喜欢请 Star 哦♪(^∇^* )
5
5
6
6
## 实现效果
Original file line number Diff line number Diff line change 1
1
# 08 HTML5 Canvas 实现彩虹画笔绘画板指南
2
2
3
- > 作者:©[ 缉熙Soyaine ] ( https://github.com/soyaine )
3
+ > 作者:©[ 未枝丫 ] ( https://github.com/soyaine )
4
4
> 简介:[ JavaScript30] ( https://javascript30.com ) 是 [ Wes Bos] ( https://github.com/wesbos ) 推出的一个 30 天挑战。项目免费提供了 30 个视频教程、30 个挑战的起始文档和 30 个挑战解决方案源代码。目的是帮助人们用纯 JavaScript 来写东西,不借助框架和库,也不使用编译器和引用。现在你看到的是这系列指南的第 8 篇。完整指南在 [ GitHub] ( https://github.com/soyaine/JavaScript30 ) ,喜欢请 Star 哦♪(^∇^* )
5
5
6
6
## 实现效果
Original file line number Diff line number Diff line change 1
1
# 09 Console 调试技巧指南
2
2
3
- > 作者:©[ 缉熙Soyaine ] ( https://github.com/soyaine )
3
+ > 作者:©[ 未枝丫 ] ( https://github.com/soyaine )
4
4
> 简介:[ JavaScript30] ( https://javascript30.com ) 是 [ Wes Bos] ( https://github.com/wesbos ) 推出的一个 30 天挑战。项目免费提供了 30 个视频教程、30 个挑战的起始文档和 30 个挑战解决方案源代码。目的是帮助人们用纯 JavaScript 来写东西,不借助框架和库,也不使用编译器和引用。现在你看到的是这系列指南的第 9 篇。完整指南在 [ GitHub] ( https://github.com/soyaine/JavaScript30 ) ,喜欢请 Star 哦♪(^∇^* )
5
5
6
6
> 创建时间:2017-01-06
Original file line number Diff line number Diff line change 1
1
# 10 JS 实现 Checkbox 中按住 Shift 的多选功能
2
2
3
- > 作者:©[ 缉熙Soyaine ] ( https://github.com/soyaine )
3
+ > 作者:©[ 未枝丫 ] ( https://github.com/soyaine )
4
4
> 简介:[ JavaScript30] ( https://javascript30.com ) 是 [ Wes Bos] ( https://github.com/wesbos ) 推出的一个 30 天挑战。项目免费提供了 30 个视频教程、30 个挑战的起始文档和 30 个挑战解决方案源代码。目的是帮助人们用纯 JavaScript 来写东西,不借助框架和库,也不使用编译器和引用。现在你看到的是这系列指南的第 10 篇。完整指南在 [ GitHub] ( https://github.com/soyaine/JavaScript30 ) ,喜欢请 Star 哦♪(^∇^* )
5
5
6
6
> 创建时间:2017-01-07
Original file line number Diff line number Diff line change 1
1
# 12 键盘输入序列的验证指南
2
2
3
- > 作者:©[ 缉熙Soyaine ] ( https://github.com/soyaine )
3
+ > 作者:©[ 未枝丫 ] ( https://github.com/soyaine )
4
4
> 简介:[ JavaScript30] ( https://javascript30.com ) 是 [ Wes Bos] ( https://github.com/wesbos ) 推出的一个 30 天挑战。项目免费提供了 30 个视频教程、30 个挑战的起始文档和 30 个挑战解决方案源代码。目的是帮助人们用纯 JavaScript 来写东西,不借助框架和库,也不使用编译器和引用。现在你看到的是这系列指南的第 12 篇。完整指南在 [ GitHub] ( https://github.com/soyaine/JavaScript30 ) ,喜欢请 Star 哦♪(^∇^* )
5
5
6
6
> 创建时间:2017-02-27
Original file line number Diff line number Diff line change 1
1
# 13 图片随屏幕滚动而滑入滑出的效果指南
2
2
3
- > 作者:©[ 缉熙Soyaine ] ( https://github.com/soyaine )
3
+ > 作者:©[ 未枝丫 ] ( https://github.com/soyaine )
4
4
> 简介:[ JavaScript30] ( https://javascript30.com ) 是 [ Wes Bos] ( https://github.com/wesbos ) 推出的一个 30 天挑战。项目免费提供了 30 个视频教程、30 个挑战的起始文档和 30 个挑战解决方案源代码。目的是帮助人们用纯 JavaScript 来写东西,不借助框架和库,也不使用编译器和引用。现在你看到的是这系列指南的第 13 篇。完整指南在 [ GitHub] ( https://github.com/soyaine/JavaScript30 ) ,喜欢请 Star 哦♪(^∇^* )
5
5
6
6
> 创建时间:2017-07-14
Original file line number Diff line number Diff line change 1
1
# 14 JS中的引用与复制
2
2
3
- > 作者:©[ 缉熙Soyaine ] ( https://github.com/soyaine )
3
+ > 作者:©[ 未枝丫 ] ( https://github.com/soyaine )
4
4
> 简介:[ JavaScript30] ( https://javascript30.com ) 是 [ Wes Bos] ( https://github.com/wesbos ) 推出的一个 30 天挑战。项目免费提供了 30 个视频教程、30 个挑战的起始文档和 30 个挑战解决方案源代码。目的是帮助人们用纯 JavaScript 来写东西,不借助框架和库,也不使用编译器和引用。现在你看到的是这系列指南的第 14 篇。完整指南在 [ GitHub] ( https://github.com/soyaine/JavaScript30 ) ,喜欢请 Star 哦♪(^∇^* )
5
5
6
6
> 创建时间:2017-07-19
Original file line number Diff line number Diff line change 1
1
# 15 LocalStorage
2
2
3
- > 作者:©[ 缉熙Soyaine ] ( https://github.com/soyaine )
3
+ > 作者:©[ 未枝丫 ] ( https://github.com/soyaine )
4
4
> 简介:[ JavaScript30] ( https://javascript30.com ) 是 [ Wes Bos] ( https://github.com/wesbos ) 推出的一个 30 天挑战。项目免费提供了 30 个视频教程、30 个挑战的起始文档和 30 个挑战解决方案源代码。目的是帮助人们用纯 JavaScript 来写东西,不借助框架和库,也不使用编译器和引用。现在你看到的是这系列指南的第 15 篇。完整指南在 [ GitHub] ( https://github.com/soyaine/JavaScript30 ) ,喜欢请 Star 哦♪(^∇^* )
5
5
6
6
> 创建时间:2017-07-24
Original file line number Diff line number Diff line change 1
1
# 16 文字阴影的鼠标随动效果
2
2
3
- > 本篇作者:©[ 大史快跑Dashrun ] ( https://github.com/dashrun ) ——Chinasoft Frontend Web Developer
3
+ > 本篇作者:©[ 大史不说话 ] ( https://github.com/dashnowords ) ——Chinasoft Frontend Web Developer
4
4
5
5
> 简介:[ JavaScript30] ( https://javascript30.com ) 是 [ Wes Bos] ( https://github.com/wesbos ) 推出的一个 30 天挑战。项目免费提供了 30 个视频教程、30 个挑战的起始文档和 30 个挑战解决方案源代码。目的是帮助人们用纯 JavaScript 来写东西,不借助框架和库,也不使用编译器和引用。现在你看到的是这系列指南的第 16 篇。完整指南在 [ GitHub] ( https://github.com/soyaine/JavaScript30 ) ,喜欢请 Star 哦♪(^∇^* )
6
6
11
11
初始文件` index-start.html ` 中提供了一个包含了` h1 ` 元素的` div ` 元素,` h1 ` 元素已经设置了` text-Shadow ` 的样式。本次编程挑战中需要完成的效果是根据用户当前的鼠标位置来操纵文字阴影的位置。
12
12
13
13
## 实现效果
14
- ![ 结果展示] ( https://github.com/dashrun/vanilla-javascript-30 /blob/master/day16-mouseMoveShadow /effects.png )
14
+ ![ 结果展示] ( https://github.com/dashnowords/JavaScript30 /blob/master/16%20-%20Mouse%20Move%20Shadow /effects.png )
15
15
16
16
## 基本知识
17
17
` text-shadow ` 样式为标准CSS3样式,用于添加** 一个或多个** 文字阴影,用于其的语法格式为:
Original file line number Diff line number Diff line change 1
1
# 17 数组的去前缀排序
2
2
3
- > 本篇作者:©[ 大史快跑Dashrun ] ( https://github.com/dashrun ) ——Chinasoft Frontend Web Developer
3
+ > 本篇作者:©[ 大史不说话 ] ( https://github.com/dashnowords ) ——Chinasoft Frontend Web Developer
4
4
5
5
> 简介:[ JavaScript30] ( https://javascript30.com ) 是 [ Wes Bos] ( https://github.com/wesbos ) 推出的一个 30 天挑战。项目免费提供了 30 个视频教程、30 个挑战的起始文档和 30 个挑战解决方案源代码。目的是帮助人们用纯 JavaScript 来写东西,不借助框架和库,也不使用编译器和引用。现在你看到的是这系列指南的第 17 篇。完整指南在 [ GitHub] ( https://github.com/soyaine/JavaScript30 ) ,喜欢请 Star 哦♪(^∇^* )
6
6
11
11
初始文件` index-start.html ` 中提供了一个无序列表元素,并在` script ` 标签中提供了一个字符串数组。请为这些字符串排序,要求去除字符串中的` The ` ,` A ` 以及` An ` 的前缀后再进行排序,并把排序后的结果作为列表项展示在无序列表中。
12
12
13
13
## 实现效果
14
- ![ 结果展示] ( https://github.com/dashrun/vanilla-javascript-30 /blob/master/day17-SortWithoutArticles /effects.png )
14
+ ![ 结果展示] ( https://github.com/soyaine/JavaScript30 /blob/master/17%20-%20Sort%20Without%20Articles /effects.png )
15
15
16
16
## 基本思路
17
17
1.基本的编程任务有两个要点,即** 排序** 和** 展示** ;<br >
Original file line number Diff line number Diff line change 1
1
# 18 使用reduce进行时间累加
2
2
3
- > 本篇作者:©[ 大史快跑Dashrun ] ( https://github.com/dashrun ) ——Chinasoft Frontend Web Developer
3
+ > 本篇作者:©[ 大史不说话 ] ( https://github.com/dashnowords ) ——Chinasoft Frontend Web Developer
4
4
5
5
> 简介:[ JavaScript30] ( https://javascript30.com ) 是 [ Wes Bos] ( https://github.com/wesbos ) 推出的一个 30 天挑战。项目免费提供了 30 个视频教程、30 个挑战的起始文档和 30 个挑战解决方案源代码。目的是帮助人们用纯 JavaScript 来写东西,不借助框架和库,也不使用编译器和引用。现在你看到的是这系列指南的第 18 篇。完整指南在 [ GitHub] ( https://github.com/soyaine/JavaScript30 ) ,喜欢请 Star 哦♪(^∇^* )
6
6
11
11
初始文件` index-start.html ` 中提供了一个包含多个列表项的无序列表元素,每一个列表项均添加了` data-time ` 属性,该属性用** 分** 和** 秒** 表示了时间。要求将所有的时间累加在一起,并用` 时:分:秒 ` 来表示计算的结果。
12
12
13
13
## 实现效果
14
- ![ 结果展示] ( https://github.com/dashrun/vanilla-javascript-30 /blob/master/day18-AddingUpTimesWithReduce /effects.png )
14
+ ![ 结果展示] ( https://github.com/soyaine/JavaScript30 /blob/master/18%20-%20AddingUpTimesWithReduce /effects.png )
15
15
16
16
## 基本思路
17
17
1.取得所有` li ` 中` data-time ` 属性的值,将时间换算为秒并累加求得总时间(单位:秒);<br >
Original file line number Diff line number Diff line change 1
1
# 19 Webcam Fun 中文指南
2
2
3
- > 本篇作者:©[ 大史快跑Dashrun ] ( https://github.com/dashrun ) ——Chinasoft Frontend Developer
3
+ > 本篇作者:©[ 大史不说话 ] ( https://github.com/dashnowords ) ——Chinasoft Frontend Web Developer
4
4
5
5
> 简介:[ JavaScript30] ( https://javascript30.com ) 是 [ Wes Bos] ( https://github.com/wesbos ) 推出的一个 30 天挑战。项目免费提供了 30 个视频教程、30 个挑战的起始文档和 30 个挑战解决方案源代码。目的是帮助人们用纯 JavaScript 来写东西,不借助框架和库,也不使用编译器和引用。现在你看到的是这系列指南的第 19 篇。完整指南在 [ GitHub] ( https://github.com/soyaine/JavaScript30 ) ,喜欢请 Star 哦♪(^∇^* )
6
6
16
16
4.及使用滑块来改变图像的色彩。
17
17
18
18
## 实现效果
19
- ![ 结果展示] ( https://github.com/dashrun/vanilla-javascript-30 /blob/master/19%20-%20Webcam%20Fun/effects.png )
19
+ ![ 结果展示] ( https://github.com/soyaine/JavaScript30 /blob/master/19%20-%20Webcam%20Fun/effects.png )
20
20
21
21
## 相关知识
22
22
1.` window.navigator ` 对象
Original file line number Diff line number Diff line change 1
1
# 20 Speech Detection 中文指南
2
2
3
- > 本篇作者:©[ 大史快跑Dashrun ] ( https://github.com/dashrun ) ——Chinasoft Frontend Developer
3
+ > 本篇作者:©[ 大史不说话 ] ( https://github.com/dashnowords ) ——Chinasoft Frontend Web Developer
4
4
5
5
> 简介:[ JavaScript30] ( https://javascript30.com ) 是 [ Wes Bos] ( https://github.com/wesbos ) 推出的一个 30 天挑战。项目免费提供了 30 个视频教程、30 个挑战的起始文档和 30 个挑战解决方案源代码。目的是帮助人们用纯 JavaScript 来写东西,不借助框架和库,也不使用编译器和引用。现在你看到的是这系列指南的第 20 篇。完整指南在 [ GitHub] ( https://github.com/soyaine/JavaScript30 ) ,喜欢请 Star 哦♪(^∇^* )
6
6
12
12
说明:由于只有chrome浏览器实现了该接口,而语音识别需要将捕捉到的信息发送至google服务器进行处理,故本文档只提供解决思路和参考代码。
13
13
14
14
## 实现效果
15
- ![ 结果展示] ( https://github.com/dashrun/vanilla-javascript-30 /blob/master/20%20-%20Speech%20Detection/effects.png )
15
+ ![ 结果展示] ( https://github.com/soyaine/JavaScript30 /blob/master/20%20-%20Speech%20Detection/effects.png )
16
16
17
17
## 相关知识
18
18
有关语音识别接口` SpeechRecognition ` 的说明,可查看[ MDN] ( https://developer.mozilla.org/zh-CN/docs/Web/API/SpeechRecognition ) 中的相关解释。
Original file line number Diff line number Diff line change 1
1
# 21 Geolocation 中文指南
2
2
3
- > 本篇作者:©[ 大史快跑Dashrun ] ( https://github.com/dashrun ) ——Chinasoft Frontend Developer
3
+ > 本篇作者:©[ 大史不说话 ] ( https://github.com/dashnowords ) ——Chinasoft Frontend Web Developer
4
4
5
5
> 简介:[ JavaScript30] ( https://javascript30.com ) 是 [ Wes Bos] ( https://github.com/wesbos ) 推出的一个 30 天挑战。项目免费提供了 30 个视频教程、30 个挑战的起始文档和 30 个挑战解决方案源代码。目的是帮助人们用纯 JavaScript 来写东西,不借助框架和库,也不使用编译器和引用。现在你看到的是这系列指南的第 21 篇。完整指南在 [ GitHub] ( https://github.com/soyaine/JavaScript30 ) ,喜欢请 Star 哦♪(^∇^* )
6
6
11
11
本次的挑战任务,是利用浏览器内置` Web Geolocation API ` ,将获取到的地理位置及相关坐标,与` index-start.html ` 中的可视化指南针连接在一起。
12
12
13
13
## 实现效果
14
- ![ 结果展示] ( https://github.com/dashrun/vanilla-javascript-30 /blob/master/21%20-%20Geolocation/effects.png )
14
+ ![ 结果展示] ( https://github.com/soyaine/JavaScript30 /blob/master/21%20-%20Geolocation/effects.png )
15
15
由于笔记本电脑一般不带速度及方向传感器,从结果中可以看到返回值中` heading ` 及` speed ` 键值均为` null ` ,为演示可视化效果,代码中采用手动赋值的方式进行演示。
16
16
17
17
## 相关知识
You can’t perform that action at this time.
0 commit comments