【筆記】用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),但那又是另一個故事了

留言
avatar-img
留言分享你的想法!
avatar-img
冬霞的沙龍
22會員
18內容數
冬霞的沙龍的其他內容
2023/10/22
用程式協助尋找殖利率跟可以進場的點位
Thumbnail
2023/10/22
用程式協助尋找殖利率跟可以進場的點位
Thumbnail
2023/10/15
利用git把檔案推到github上
Thumbnail
2023/10/15
利用git把檔案推到github上
Thumbnail
看更多
你可能也想看
Thumbnail
透過蝦皮分潤計畫,輕鬆賺取零用金!本文分享5-6月實測心得,包含數據流程、實際收入、平臺優點及注意事項,並推薦高分潤商品,教你如何運用空閒時間創造被動收入。
Thumbnail
透過蝦皮分潤計畫,輕鬆賺取零用金!本文分享5-6月實測心得,包含數據流程、實際收入、平臺優點及注意事項,並推薦高分潤商品,教你如何運用空閒時間創造被動收入。
Thumbnail
單身的人有些會養寵物,而我養植物。畢竟寵物離世會傷心,植物沒養好再接再厲就好了~(笑)
Thumbnail
單身的人有些會養寵物,而我養植物。畢竟寵物離世會傷心,植物沒養好再接再厲就好了~(笑)
Thumbnail
不知你有沒有過這種經驗?衛生紙只剩最後一包、洗衣精倒不出來,或電池突然沒電。這次一次補貨,從電池、衛生紙到洗衣精,還順便分享使用心得。更棒的是,搭配蝦皮分潤計畫,愛用品不僅自己用得安心,分享給朋友還能賺回饋。立即使用推薦碼 X5Q344E,輕鬆上手,隨時隨地賺取分潤!
Thumbnail
不知你有沒有過這種經驗?衛生紙只剩最後一包、洗衣精倒不出來,或電池突然沒電。這次一次補貨,從電池、衛生紙到洗衣精,還順便分享使用心得。更棒的是,搭配蝦皮分潤計畫,愛用品不僅自己用得安心,分享給朋友還能賺回饋。立即使用推薦碼 X5Q344E,輕鬆上手,隨時隨地賺取分潤!
Thumbnail
身為一個典型的社畜,上班時間被會議、進度、KPI 塞得滿滿,下班後只想要找一個能夠安靜喘口氣的小角落。對我來說,畫畫就是那個屬於自己的小樹洞。無論是胡亂塗鴉,還是慢慢描繪喜歡的插畫人物,那個專注在筆觸和色彩的過程,就像在幫心靈按摩一樣,讓緊繃的神經慢慢鬆開。
Thumbnail
身為一個典型的社畜,上班時間被會議、進度、KPI 塞得滿滿,下班後只想要找一個能夠安靜喘口氣的小角落。對我來說,畫畫就是那個屬於自己的小樹洞。無論是胡亂塗鴉,還是慢慢描繪喜歡的插畫人物,那個專注在筆觸和色彩的過程,就像在幫心靈按摩一樣,讓緊繃的神經慢慢鬆開。
Thumbnail
接續上一篇文章,而月光想強調的是,買一個便當的錢通常會比兩顆水煮蛋要貴,是因為量少的緣故。這只是多一個思考方向,以高營養的標準來重新選擇食物,就會有不同的發現。不會再以: 這個男生吃不飽! 吃了這個馬上就會餓! 不知道要吃什麼只好吃這個! 沒時間了,就選擇這個來吃吧!    
Thumbnail
接續上一篇文章,而月光想強調的是,買一個便當的錢通常會比兩顆水煮蛋要貴,是因為量少的緣故。這只是多一個思考方向,以高營養的標準來重新選擇食物,就會有不同的發現。不會再以: 這個男生吃不飽! 吃了這個馬上就會餓! 不知道要吃什麼只好吃這個! 沒時間了,就選擇這個來吃吧!    
Thumbnail
一週晚餐吃什麼呢?
Thumbnail
一週晚餐吃什麼呢?
Thumbnail
在實行168斷食法的時候,早餐是一個很重要的開始,如果選擇要吃早餐的話,那就是在下午三四點左右就不能再吃食物了,這樣才有可能間隔到16小時以上。而早餐可以選擇只吃一罐無糖優格,也可以選擇去早餐店買漢堡和奶茶,一樣都可以維持到中午再進食。固然,自己準備的早餐像是前者有著熱量低的優點,但如
Thumbnail
在實行168斷食法的時候,早餐是一個很重要的開始,如果選擇要吃早餐的話,那就是在下午三四點左右就不能再吃食物了,這樣才有可能間隔到16小時以上。而早餐可以選擇只吃一罐無糖優格,也可以選擇去早餐店買漢堡和奶茶,一樣都可以維持到中午再進食。固然,自己準備的早餐像是前者有著熱量低的優點,但如
Thumbnail
每天晚餐吃什麼?每天晚餐煮什麼?
Thumbnail
每天晚餐吃什麼?每天晚餐煮什麼?
Thumbnail
  放假的時候,很容易就會期待早上要吃好一點。因為平時上班都沒能好好吃一頓熱騰騰的早餐。但即使要吃好一點,就得要吃蔥油餅配黑胡椒鐵板麵,再來個大杯冰奶茶嗎?這樣一吃完後,很容易就會引起胃不舒服,因為一下吃進太多食物,也太油膩。雖然早餐後胃痛不舒服,到了下午好轉,肚子餓之後,又想要吃炸雞排配珍
Thumbnail
  放假的時候,很容易就會期待早上要吃好一點。因為平時上班都沒能好好吃一頓熱騰騰的早餐。但即使要吃好一點,就得要吃蔥油餅配黑胡椒鐵板麵,再來個大杯冰奶茶嗎?這樣一吃完後,很容易就會引起胃不舒服,因為一下吃進太多食物,也太油膩。雖然早餐後胃痛不舒服,到了下午好轉,肚子餓之後,又想要吃炸雞排配珍
Thumbnail
生在食物相對充足的時代,每個人基本上都可以吃三餐,差別就在每餐的預算是多少。雖說每日吃三餐看來是一個很正常的事情,因為周圍的人都這樣做,而餐廳也都這樣安排三種用餐區間。而且在這三餐之外,還有早午餐和下午茶以及宵夜的選項,如果在都市裡想要找買吃的地方,基本上都可以隨時來用餐進食。而人類在
Thumbnail
生在食物相對充足的時代,每個人基本上都可以吃三餐,差別就在每餐的預算是多少。雖說每日吃三餐看來是一個很正常的事情,因為周圍的人都這樣做,而餐廳也都這樣安排三種用餐區間。而且在這三餐之外,還有早午餐和下午茶以及宵夜的選項,如果在都市裡想要找買吃的地方,基本上都可以隨時來用餐進食。而人類在
Thumbnail
利用JavaScript的Math.random( )函數創造一個隨機值,並透過隨機值的結果印出相對應的文字,就可以讓程式幫你選午餐要吃什麼了
Thumbnail
利用JavaScript的Math.random( )函數創造一個隨機值,並透過隨機值的結果印出相對應的文字,就可以讓程式幫你選午餐要吃什麼了
Thumbnail
上班族的工作日常裡,「吃」可是重要的抉擇之一,然而,思考要吃什麼午餐卻是比起工作更為困難的問題。為了能在中午12點準時放飯,訂午餐可說是最簡單快速的方式,只是有時候我也會選擇不那麼有效率解決午餐的方式,透過外出用餐,暫時遠離電腦、辦公室和工作 ,讓。
Thumbnail
上班族的工作日常裡,「吃」可是重要的抉擇之一,然而,思考要吃什麼午餐卻是比起工作更為困難的問題。為了能在中午12點準時放飯,訂午餐可說是最簡單快速的方式,只是有時候我也會選擇不那麼有效率解決午餐的方式,透過外出用餐,暫時遠離電腦、辦公室和工作 ,讓。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News