iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 17
0
自我挑戰組

網頁排版個人學習筆記系列 第 17

jQuery|搭配css的動畫效果-2

  • 分享至 

  • xImage
  •  

文章提要

off-convas滑動導航效果、固定式廣告、stop()、transform與transition應用


固定於網頁角落的廣告,使用jQuery關起

固定式廣告示意圖

  • 範例
  • 使用fixed與absolute搭配使用做出固定於網頁自訂處的廣告
  • .ad寫 position: fixed; 使其固定,再使用top 、bottom、left、right移動於自訂的位置
  • .ad內的關閉按鈕,想固定於.ad內的某處可使用position:absolute;

stop()

  • 範例
  • 可以中斷目前的動畫效果,直接進行下一步的動畫
  • 預設: .box是隱藏狀態
//未加→按下button,.box需等5s完全打開,才能再進行關起的動作
$(document).ready(function() {
    $('.button').click(function(event) {
        $('.box').slideToggle(5000);
    });
});
//加stop() →按下button,不需等.box 五秒完全開啟 就可以再按button做關閉動作
$(document).ready(function() {
    $('.button').click(function(event) {
        $('.box').stop().slideToggle(5000);
    });
});

滑動導航效果 offcanvas

aside隱藏狀態示意圖
aside顯示狀態示意圖
呈現樣式:點選按鈕,從左邊(自訂方向)滑出選單區塊列

  • 範例

  • html的.open未寫在body,而寫在css中寫入,解說:

    • 假如一開始就在 body 中寫上<body class="open">,那網頁一開始載入完成之後,CSS 樣式就會呈現有.open 的這樣式的設定,以範例來說,當網頁載入完成,.aside 就會是在開啟的狀態。而所謂動態的意思是先寫好一段程式碼,以程式碼來操控網頁元素,讓它能夠在使用者觸發某項事件後,例如點擊(click),再來執行後面的動作,例如增加或移除 class、觸發某個動畫等等,這就是動態;非動態則是網頁載入後的畫面只會根據原始碼來渲染,原始碼如何網頁就如何
    • 白話: 未於html寫open直接於css寫open,表示動態加上open,再於jQuery去啟用它 addClass('');另外css中.open .main表示於body下的.main,body於jQuery啟用open時就會實施css中的語法,可看開發人員工具看變化。
  • transition放置 .main與 .aside差異? 範例

    • .aside設transition: 3s ease; 位移空間產生空白原因(滑出產生空白,滑回不會)
      • click .header會因為.open這個class 右移至300px,但.aside因為設transition 三秒,所以在這三秒過程中就會產生這個位移空白
      • 沒加transition,動態加上class樣式的效果是會瞬間顯示的
    • 而.main設transition(.aside滑出不會產生空白,滑回會產生空白)如上同理

/

transform 屬性功能
可對元素進行旋轉、縮放、移動或傾斜。

transform 屬性參考文章
MDN web docs- transform
W3school- CSS3 transform 屬性
CSS動畫-Transition、Animation、Transform的分析比較

transition 屬性功能
transition屬性是一種 CSS3 的轉場效果。

transition{
    all 秒數 ease
}; 
/*當中ease表示緩慢開始,中間變快,又變慢慢結束*/

transition 屬性參考文章
wibibi -css3 transition屬性
w3schools - css Transition
MDN web docs- transition
W3school- CSS3 transform 屬性


上一篇
jQuery|搭配css的動畫效果-1
下一篇
jQuery|操控網頁元素1
系列文
網頁排版個人學習筆記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言