preventDefault 取消默認行為
ex:
1 | ---HTML--- |
由以上的程式碼就可以將原本a
連結的預設效果給取消。
所以,當我們按下這個a
連結,就不會跳轉到http://www.google.com.tw 網址囉。
那為什麼要在a
連結的js中,加上preventDefault
呢,是因為今天該a
連結
如果,只有要觸發某個事件,並沒有要讓頁面連到別的網頁的時候,
就需要用到preventDefault
囉。
css() - 動態載入 CSS style 設定
語法$('目標dom元素').css('屬性','屬性值')
由以上的範例可以看到,當我們點擊到.box後,可以透過css()
來動態的修改它的css樣式。
那要特別注意,屬性跟屬性值外圍都要用單引號來把它們包起來喔。
設計下拉式收闔選單
本章節是用jQ來設計出下拉選單
注意若用flex來讓子元素靠攏,那下拉選單要用position
你可以看到上面的例子,是用flex
來讓子元素向右靠攏,那這個時候你必須要為下拉選單使用position:absolute
的屬性,
並調整它的top
屬性來對齊觸發這個下拉選單的選項的高度,進而達成下拉選單的效果。
若你用flex
來靠攏,但是沒有對下拉選單使用position:absolute
的屬性的話,會導致下拉選單的高度也連父元素的高度都一起被
撐開囉。
delay() - 延遲動畫效果的好用語法
它是一個可以讓dom元素的動畫產生依序產生的效果。
以上這個範例,就是裡用delay
讓dom元素分別在0秒,1秒,2秒的時候,依序呈現它們的動畫效果。
jQ的show()方法要加參數
那這邊要特別注意,如果你用jQ的show
的方法的時候,要記得裡面要給它時間的參數,像這邊給0,就是會立即出現。
fixed 固定網頁內容
這個小節是用position:fixed
的方式將某個提示訊息定在網頁的特定位置中。
並設計在該提示訊息中,可以透過按下一個關閉鍵,來將這個提示訊息關掉。
使用 stop() 讓你的動畫效果更滑順
若你希望某個dom元素的動畫執行中,透過按下另一個鍵讓它在執行動畫的途中,
又回復到原本的狀態的話,你就可以用stop
語法。
你可以看到,我們在按下按鈕後,它會執行slideToggle
的動作,如果,我們希望中途回復到原本的樣子,那我們就再按下按鈕一次,就可以回復到原本的樣子囉。
注意,stop
要寫在你的動畫語法前面喔,
即: $('.box').stop().slideToggle(3000);
如果,你寫在動畫效果後面的話,你的動畫會變得怪怪的優~~
即: $('.box').slideToggle(3000).stop();
// 不要寫在動畫後面
設定offcanvas左右選單切換
利用transform:translateX()
的語法來做到開啟或關閉選單的效果
特別注意,menu要用position:absolute來讓它浮起來
你可以看到再.menu有用position:absolute, top:0, bottom:0
的CSS樣式,它不光是讓它填滿父元素的高度。
同時,也是不讓父元素的寬度連它.menu的寬度也被計算進去。
如果,你覺得奇怪,你可以試試看,不再.menu裡面加上position:absolute
,
此時,父元素會連.menu的寬度都計算進去,會讓你的offcanvas的效果變得怪怪的。
Animate.css - 載入第三方插件 - 增添網頁動畫豐富度
利用載入Animate的CDN,並動態地為你的DOM元素增加Animate.css提供的className,
來為你的Dom元素添增Animate.css的效果
像以上的範例,就是透過動態的增加animate__animated animate__bounce
這個className來讓標題有彈跳的效果。