iT邦幫忙

2024 iThome 鐵人賽

DAY 21
0

今天要學得是如何給astro增加js的腳本,說直白一點也就是我們要來做一些簡單的互動事件,其實astro的js腳本事件很簡單,就只是單純原生js的querryselector加上addEventListener去實現,這是他相比vue及react這樣的應用式框架較為弱勢的地方:

https://ithelp.ithome.com.tw/upload/images/20240930/20169170bll9QpNuUC.png

可以看到我們在index.astro去撰寫關於hamburger元件的點擊腳本事件,當點擊的.hamburger時候的,會讓.nav-links去添加或是移除expanded這個class

https://ithelp.ithome.com.tw/upload/images/20240930/20169170lf2X2mnp5s.png

也就是說當我們點擊紅框的hamburger元件的時候就會跑出橘框的內容!

但我們只寫在index.astro裡面,astro的index.astro並不同於vue的app.vue一樣可以覆蓋到全域,這時候我們可用導入模組的方式在各個頁面去導入該js就可以解決該腳本只能在單一頁面應用的問題!

https://ithelp.ithome.com.tw/upload/images/20240930/20169170aXqvNxDQ2h.png

可以看到我們創立了一個叫做scripts的資料夾,裡面有menu.js的檔案,檔案裏面就是我們剛剛的js內容

https://ithelp.ithome.com.tw/upload/images/20240930/20169170pZuV5epBmD.png

接下來到各個astro檔裡面去import該menu.js檔案就可以瞜~


上一篇
和2魚坐牢的第二十天-Astro之元件練習
下一篇
和2魚坐牢的第二十二天-Astro之佈局元件
系列文
和鱷魚組長的坐牢30天之vue的簡易todolist和Astro的簡易部落格實現30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言