【筆記】用JavaScript幫你選擇午餐要吃什麼

閱讀時間約 9 分鐘
利用JavaScript的Math.random( )函數創造一個隨機值,並透過隨機值的結果印出相對應的文字,就可以讓程式幫你選午餐要吃什麼了,這個不是一個完整的東西,它有很多可以增加的地方

身為一名普通的上班族,每天上班最煩惱的就是要想午餐要吃什麼了,這時我們可以透過程式來決定我們要吃什麼,得先想一下頁面要有什麼內容:

1.有個按鈕,點了之後可以顯示平常吃的午餐店名或是位置,這個是隨機骰出的

2.既然是吃午餐,那就塞一張食物圖吧

3.顯示現在是幾點


想好要做啥以後,首先我們要先創建一個html文檔,聲明文檔類型(HTML5)、頁面語言(繁體中文)以及頁面解析字符編碼(UTF-8),並設定CSS的樣式,我就先粗略設定一下讓它看起來可以用不會歪一邊就行了

<!DOCTYPE html>

<html lang="zh-TW">

<head>
<meta charset="UTF-8">
<title>我不知道今天要吃什麼所以只好開這個</title>
<style>

body{
background-color: #97e5e7;/*淺藍色*/
border-style:double;
margin: 50px auto;
max-width: 800px;
justify-content: center;/*水平置中*/
align-items: center; /*垂直置中*/
}

h1{
color:chocolate
}

html, body {
-webkit-text-size-adjust: none;
-moz-text-size-adjust: none;
-ms-text-size-adjust: none;
text-size-adjust: none;
}

</style>
</head>


接著是body的部分,食物的圖片可以先上傳到縮網址在從縮網址複製下來,或是像我這樣,直接把圖片貼在github上面,然後複製上面顯示的網址

<body onload="current_time()">

<!-- 標題 -->
<div style="text-align:center;padding: 0px 0px 30px">
<h1>今天午餐要吃什麼</h1>
</div>

<!-- 食物圖片 -->
<div style="text-align:center">
<img src="https://user-images.githubusercontent.com/110076175/184523767-5afba99d-eca5-41a3-b291-a16f68c2c4ea.jpg">
</div>

<br>
<!-- 時間 -->
<div style="text-align:center">
<div id="current"></div>
</div>

<br>
<!-- 按鈕 -->
<div style="text-align:center;">
<button onclick="myFunction()">肚子好餓 點我</button>
</div>

<!-- 按鈕印出來的結果 -->
<div style="text-align:center;color:rgb(255, 0, 242)">
<p id="demo"></p>
</div>
<br>
<ul> &emsp;</ul>

</body>
</html>


最後是js,總共要處理兩個,一個是時間的,一個是隨機值的

    <script>
function current_time(){
NowDate=new Date();
hour=NowDate.getHours();
min=NowDate.getMinutes();
sec=NowDate.getSeconds();
document.getElementById("current").innerHTML = "現在時間: "+hour+"點 "+min+"分 "+sec+"秒";
setTimeout("current_time()",1000);
}
</script>

function的名稱為 current_time(),同時body onload 也調用這個函數,這個函數獲取了現在的日期、時間,並相對應的印出來


接著處理隨機值

 <script>

function myFunction(){
var x=""
var number=Math.floor((Math.random()*7)+1);

console.log(number)

if (number==1) {
x="西湖市場裡面"
}

if (number==2) {
x="西湖蚊子咖哩飯"
}

if (number==3) {
x="夢食代"
}

if (number==4) {
x="消防局對面早餐店"
}

if (number==5) {
x="椒麻雞大王"
}

if (number==6) {
x="肯德基對面的健康餐"
}

if (number==7) {
x="今日咖哩"
}
document.getElementById("demo").innerHTML =x
}
</script>

宣告一個變數 x,它是一個空字串,用來顯示我們的午餐要去哪吃

宣告一個變數number,它是用來產生隨機值的

這個會有幾層的思考路徑:

Math.random()函數會生成介於(包含)0到(不包含)1之間的隨機小數,然後根據你要選擇幾個午餐,乘上相對應的數

我要7選1,所以乘以7,這樣它就會顯示(包含)0到(不包含)7之間的隨機小數

利用Math.floor()函數將這個浮點數往下取整數,也就是我們會得到(包含)0到(不包含)7之間的整數

最後,+1讓整數範圍偏移,變成是(包含)1到(不包含)8之間的整數,所以我們會隨機骰出1-7,這時候再將1-7會印出來什麼數值分別顯示出來就可以了


底下的if就是當number骰出什麼數字,x就顯示什麼文字,這樣就可以用程式決定午餐要吃什麼了

console.log(number) 是把隨機值印出來來驗證是不是1-7,我們可以打開html檔案後按F12,在console(控制臺)看到

raw-image


結果:

raw-image

點了以後

raw-image

這個會有一些東西可以再優化的,比如:

外觀XDD

我點了以後外框會往下一格

可以做一個我點食物名稱後,外開一個google瀏覽器地圖,並預設搜尋食物名稱

放在手機上看實在不怎麼好看,做個RWD


不用JavaScript改用Python也不是不行,只是JavaScript用在客戶端的互動(俗稱前端),Python通常用在服務器端的執行(俗稱後端),要用Python的話就得寫一支API,把它部署在可以放代碼的地方(比如GitHub),但那又是另一個故事了

20會員
18內容數
留言0
查看全部
發表第一個留言支持創作者!
你可能也想看
創作者要怎麼好好休息 + 避免工作過量?《黑貓創作報#4》午安,最近累不累? 這篇不是虛假的關心。而是《黑貓創作報》發行以來可能最重要的一篇。 是的,我們這篇講怎麼補充能量,也就是怎麼休息。
Thumbnail
avatar
黑貓老師
2024-06-29
閱讀筆記-我用死薪水輕鬆理財賺千萬第一章: 像有錢人一樣花錢 -就是要存錢下來  有錢定義 永遠不工作,還有足夠的錢過生活 擁有足夠的收益,提供兩倍國內中等家庭的生活水準 全台: 2x110=220萬 台北: 2x140=280萬 該有的花錢態度 250萬的投資組合,每年報酬率6~7%。每年提出4%來花用,這樣能夠永
Thumbnail
avatar
Yabi
2023-09-11
【精準閱讀】閱讀筆記:用對的方法朝向正確的目標,就可以改變人生的閱讀術海苔醬第一次知道這本書時,是在瓦基podcast「下一本讀什麼」有一集剛好就是分享精準閱讀這本書。最近有空到圖書館借書,偶然看到這本書名時,腦子立刻就想到好像就是podcast聽到的那集,不管是不是總之就先借起來,閱讀後才知道原來就是同一本書呀!海苔醬跟這本書真的很有緣份呢!
Thumbnail
avatar
Hi海苔醬
2023-08-29
閱讀札記:多多認識自己,用鬼滅角色分析人格特質作者:林萃芬-諮商心理師 從書中解析腳色人格特質,探索天賦潛能,洞悉心理狀態,讓自己度過各種難關。書中能讓自我理解是屬於鬼滅裡的哪一種人格?如何更認識自己? 書摘重點整理以及心得整理: CH1 鬼滅重點主角群角色分析 >竈門炭治郎:源源不斷的正能量,同理每個人的處境 1. 無條件的
avatar
MW
2023-07-07
【子彈筆記101:用10天找回熱情,掌握實踐心得,成為自我管理的達人的3個最佳實踐】開始使用子彈筆記10天,感受到效率大大提升! 子彈筆記很特別!讓我有效回顧過去,點燃熱情,更深入理解自己的心情起伏。這些都轉為超強的做事動力🤯。 以下是我用10天找回熱情,掌握實踐心得,成為自我管理的達人的3個最佳實踐: 最佳實踐1 - 從過去10天的記錄裡,熱情再燃:妳記得10天前熱衷什麼嗎?子
Thumbnail
avatar
王啟樺
2023-05-29
視覺筆記應用:圖解你的人生身為一名教師,我需要專注在課程的設計,這裡包含學生需要知道的知識盤點,教師清不清楚自己到底要學生知道這些的目的是什麼,還有實際在課堂上教學的技術等等。學生的狀況越不好掌控,本質的掌握越重要,這可能就是我對《易經》中「以不變應萬變」的理解吧。
Thumbnail
avatar
琳瑯滿目的高中國文
2023-05-27
<ChatGPT學習筆記> 用ChatGPT創作文字符號藝術使用ChatGPT生成的文字符號圖片分享 文字符號圖是以文字符號、數字、字母等字符組成的圖形藝術形式,可表達各種形狀和圖像。應用範圍廣泛,可手繪或使用計算機程序和人工智能技術生成。
Thumbnail
avatar
米阿吉
2023-03-31
閱讀筆記《用大腦喜歡的方式「1人學習」》★不花錢、縮短時間、做好學習的唯一速效讀書法,就是自己一個人不斷地獨自學習!
Thumbnail
avatar
偶希都理
2022-08-18
🎤【閱讀筆記:用輸出做透一件事】《故事》麥奇說:好奇心是人類對于于“找到答案”和“認知閉合”的智力需求,如何運用好奇心呢? 一般人是圍繞著無數個問題,不斷橫向學習,期待一次學完所有相關知識,但在知識爆炸時代,無异是用勺子裝水,學不完的;牛人則是圍繞一個問題,尋找知行合一的閉環——向深處走,向事上練。
avatar
大吉嶺|閱讀行動派
2022-08-03
電子書系列/筆記1:用製作網頁邏輯做電子書,而不是用紙本書的邏輯!「電子書」的確不怎麼像「書」,若要認真定位「電子書」,大概就是以編輯過的內容分章分節,用以「閱讀一本書」的思維去𢑥整出它應有的功能並提供「閱讀一本書」的體驗。說穿了,電子書就是很多個被排版在xhtml而連結起的檔案。
Thumbnail
avatar
換日線
2021-07-15
Woomanpower課程筆記分享 — 用產品與系統思維,來思考你的職涯發展營運力這門課講師 Evonne Tsai 跟大家分享如何用產品與系統思維,來思考你的職涯發展。這是關於她用兩年的人生學到到一堂課,在她還是中階的產品經理時的一個經歷。那時候她被公司要求打造出一個有關監控的新產品,而身為一個產品經理,她希望做出一個符合用戶需求、滿足用戶的體驗的產品,於是便找了保全人員
Thumbnail
avatar
艾兒莎
2021-03-18