or
or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up
Syntax | Example | Reference | |
---|---|---|---|
# Header | Header | 基本排版 | |
- Unordered List |
|
||
1. Ordered List |
|
||
- [ ] Todo List |
|
||
> Blockquote | Blockquote |
||
**Bold font** | Bold font | ||
*Italics font* | Italics font | ||
~~Strikethrough~~ | |||
19^th^ | 19th | ||
H~2~O | H2O | ||
++Inserted text++ | Inserted text | ||
==Marked text== | Marked text | ||
[link text](https:// "title") | Link | ||
 | Image | ||
`Code` | Code |
在筆記中貼入程式碼 | |
```javascript var i = 0; ``` |
|
||
:smile: | ![]() |
Emoji list | |
{%youtube youtube_id %} | Externals | ||
$L^aT_eX$ | LaTeX | ||
:::info This is a alert area. ::: |
This is a alert area. |
On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?
Please give us some advice and help us improve HackMD.
Do you want to remove this version name and description?
Syncing
xxxxxxxxxx
計算機概論Lab-8
javascript
https://hackmd.io/@IMOK/Lab8
- The image was uploaded to a note which you don't have access to
- The note which the image was originally uploaded to has been deleted
Learn More →講師: 賴昱有
15puzzle game
div(division)
經常作為CSS selector的容器,以便對特定區域設計樣式
CSS複習
定義每個文字的顏色、物件的外框、element 之間的距離,甚至撰寫動畫等等。
CSS語法重點:
1. selector 語法:用來指定 HTML 中,哪些 element 要套用這個樣式
2. 樣式描述:用來說明指定的 elements 要用什麼樣子去顯示
selectors種類
• Simple selectors (select elements based on name, id, class)
• Combinator selectors (select elements based on a specific relationship between them)
• Pseudo-class selectors (select elements based on a certain state)
• Pseudo-elements selectors (select and style a part of an element)
• Attribute selectors (select elements based on an attribute or attribute value)
Simple Selectors
• Element selector
• ID selector
• Class selector
• Grouping selector
• Universal selector
Element selector
選擇的 element 名稱來設定該類 element 的顯示樣式
ID selector
幫 element 設定 id attribute ,再利用這個 id 來設定不同的顯示樣式
HTML:
CSS:
Class selector
在 css 中先定義好一個種類的樣式,
然後在HTML 中透過 class attribute 來選擇要使用哪一個種類的樣式顯示。
CSS:
HTML:
Grouping selector
group selector 的寫法可以省略重複的樣式定義。
Universal selector
對所有的 element 進行樣式定義。
CSS Box Model
• Content : element 內容所顯示的區域
• Padding : 位於外框 (Border) 與內容 (Content) 之間的空間
• Border : element 的邊框
• Margin : element 與 element 之間的空間
CSS Properties
CSS 還可以做什麼呢?
https://www.w3schools.com/cssref/index.php
https://css-tricks.com/
15puzzle.css
Javascript Introduction
Javascript做了哪些事情?
- The image was uploaded to a note which you don't have access to
- The note which the image was originally uploaded to has been deleted
Learn More →1. 接收使用者的輸入內容
2. 根據輸入內容來做判斷
3. 將結果顯示在網頁上
Hello world (- -b)
Variable Declaration
告訴電腦說,我要產生一個變數,並且給他一個名子,
讓我們之後可以根據這個名子找到他。
Data Type
Number Operator
String Operator
這邊我們嘗試將字串進行串接 (+)
Condition and Loop
撰寫flow chart可以幫助我們釐清流程,而撰寫程式與撰寫flow chart是相同的

在程式的流程中,主要影響正個流程的走向有兩種不同的語法,分別稱為 Condition 跟Loop。
Condition
最常用的判斷語法為 if 判斷句
Comparison Operators
Switch
While loop
For loop
Javascript Html Input
接下來看看javascript要怎麼知道要怎麼知道使用者輸入了甚麼呢
HTML DOM(Document Object Model) Event
在 HTML 中,當使用者使用鍵盤或是滑鼠對 element 進行操作的時候,
element 會發出一個訊號,這個訊號中會記錄了使用者正在對 element 進行甚麼樣的操作。
例如,當我們用滑鼠點擊 element ,他會發出一個訊號說使用者使用滑鼠左鍵進行點擊。
因此在獲取使用者的輸入之前,我們要先取得我們要關注的 Html element 。
從Javascript中取得Html Element(getElementById)
在 Javascript 中,我們可以透過 Html Element 的 ID attribute 來取得 html 中的 element
HTML:
Javascript:
聽取 Html 中發出的 Event(addEventListener)
Html 是直譯式語言,因此我們 getElementById 一
定要寫在要取得的 element 之後,這也是為什麼這邊的 script element 寫在 body 最後的原因。
更改 Html 的內容
透過 getElementById 取得 Html element 之後,我們可以透過他更改 element 的各種attriubte 以及 element content
常用element object method
.id : 存取指定element的id。
.nodeName : 取得指定element的節點名稱,但是無法變更element。
.innerHTML : 取出指定element下所有的內容。
.textContent : 取出指定element下的content。
15puzzle.js
Self-Executing Anonymous Function
匿名函數or立即函數,這個語法的目的是在定義函數之後立即執行它。
1.作用域隔離: 這個函數的所有變數和函數定義都將位於函數作用域內,不會污染全局作用域。
2.避免衝突: 在這個函數內,你可以使用相同的變數名稱而不擔心與全局作用域中的變數產生衝突。
var 和 let
在函數內聲明,在函數外也可以訪問
Lab Questions
Question 1
使用至少4種simple selector美化自我介紹網頁
Question 2
在我最喜歡的神奇寶貝頁面使用至少2個CSS box model
Question 3
畫出flow chart並在自我介紹頁面,設計一個按鈕,content為九九乘法表真好玩,
並在script加入連結.js檔使用javascript於console顯示九九乘法表的計算結果
奇數從1乘到9,偶數從9乘到1,完成後換行,兩個計算結果之間需要使用空白作為間隔
(使用巢狀迴圈完成該要求)
Question 4
於自我介紹頁面建立一個內部連接至新的分頁,另外選一隻神奇寶貝並加入退化、進化按鈕
點選進(退)化按鈕後由進化前型態變更為進(退)化後的資訊
需包含神奇寶貝名稱,圖片及數值表格(如Lab7所顯示資訊)
Question 5
製作一個9 puzzle game(字體、字塊顏色不可和16puzzle範例相同)

並在自我介紹網頁建立作品集 內部連結連結至9puzzle game網頁
作業網站
http://140.121.197.13/tutorial