首頁  >  文章  >  web前端  >  如何使用 jQuery 和 CSS 動畫製作 Box-Shadow 動畫?

如何使用 jQuery 和 CSS 動畫製作 Box-Shadow 動畫?

Linda Hamilton
Linda Hamilton原創
2024-11-03 04:43:31443瀏覽

How to Animate Box-Shadow with jQuery and CSS Animations?

如何使用jQuery 對Box-Shadow 進行動畫處理

要使用jQuery 對box-shadow 屬性進行動畫處理,您可以使用jQuery 插件提供的.animate() 方法來實現陰影動畫,該方法擴展了.animate 方法。

直接回答

正確的語法如下:

$(element).animate({ 
    boxShadow: "0px 0px 5px 3px hsla(100, 70%, 60%, 0.8)"
}) 

此程式碼將為框陰影的每個方面設定動畫:顏色、x 和y 偏移、模糊-radius 和spread-radius。

改用 CSS 動畫

您可以選擇使用 CSS 動畫而不是直接使用 jQuery 處理動畫。這有助於防止意外情況,並將樣式資訊保留在樣式表中。

以下是您可以在樣式表中定義的CSS 動畫範例:

<code class="css">@keyframes shadowPulse {
    0% {
        box-shadow: 0px 0px 10px 0px hsla(0, 0%, 0%, 1);
    }

    100% {
        box-shadow: 0px 0px 5px 0px hsla(0, 0%, 0%, 0);
    }
}
    
.shadow-pulse {
    animation-name: shadowPulse;
    animation-duration: 1.5s;
    animation-iteration-count: 1;
    animation-timing-function: linear;
}</code>

然後您可以使用animationend 事件將動畫的結束與JS 程式碼同步。

Vanilla JS:
<code class="js">element.classList.add('shadow-pulse')
element.addEventListener('animationend', event => {  
    element.classList.remove('shadow-pulse')
    // do something else...
})</code>

jQuery:

<code class="js">$(element).addClass('shadow-pulse')
$(element).on('animationend', function(){    
    $(element).removeClass('shadow-pulse')
    // do something else...
})</code>

以上是如何使用 jQuery 和 CSS 動畫製作 Box-Shadow 動畫?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn