jQuery.Color
或
jQuery UI
來擴充功能,jQuery UI 還可以擴充 easing 動畫速率使用種類(jQuery 只提供 swing 與 linear)。
若沒有特別指定其他單位,jQuery 都會將預設視為 px。CSS 樣式名稱的寫法可採用「駝峰式命名」,若要採用原樣式連字號(-)寫法,會被視為不合法的識別字,必須加上引號,因此 magin-left 可以寫成
maginLeft
或
'magin-left'
,兩種都沒問題,寫作風格上還是建議使用「駝峰式命名」。
除了可以設定 CSS 樣式屬性,還可以對某些非樣式屬性,例如:
scrollTop
(捲軸最上方的偏移量)和
scrollLeft
(捲軸最左側的偏移量)。
參考 animate 可設置的屬性
注意,動畫不支援速記縮寫 CSS 屬性(例如:font、background、border),沒有插件下也無法動態調整顏色、字型種類或列舉屬性。
要指定相對值,可在數值前加上
+=
來增加該值,或是用
-=
來減少該值,中間不能有空格:
$('#box').on('click', function () { $(this).animate({ marginLeft: '+=50', opacity: '-=.1' }) })
|
另外,還有其他三個字串屬性值
hide
、
show
、
toggle
可用於動畫物件中:提供快速便捷可以隱藏、顯示或切換的功能。
$('#btn').on('click', function () { $('#box').animate({ height: 'toggle', borderLeft: 'toggle', borderRight: 'toggle', paddingLeft: 'toggle', paddingRight: 'toggle' }) })
|
使用 top、right、bottom、left 定位等位移屬性,
必須確定 position 不能為 static
,才會有作用。
$('.box').animate({ left: '500px' }, 1000)
|
隱藏的元素仍然會被動畫影響。
$('.box').fadeTo(1000, 0).animate({ left: '500px' }, 1000).fadeTo(1000, 1)
|
jQuery 的動畫預設都會被放進佇列等待,因此動畫會一個接著一個依序進行。
$('.box').fadeOut().show(300).slideUp().slideToggle()
|
jQuery UI 程式庫
the jQuery Easing Plugin
你可以在
此網站
參考各種速率的變化。
$('.box').on({ mouseover: function () { $(this).stop().fadeTo(3000, 0.1) }, mouseout: function () { $(this).stop().fadeTo(3000, 1) } })
$('img').hover( function () { $(this).stop().fadeTo(3000, 0.1) }, function () { $(this).stop().fadeTo(3000, 1) } )
|