您好,登錄后才能下訂單哦!
本篇內容主要講解“CSS+JS怎么實現愛心點贊按鈕”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“CSS+JS怎么實現愛心點贊按鈕”吧!
愛心按鈕
引導點贊
愛之滿滿
制作一個愛心的方式有很多,可以用圖標庫的愛心,可以寫一個svg
,可以用圖片,我這里就用偽元素的方式做一個愛心。(學習視頻分享:css視頻教程)
<!-- fullLove.html --> <div class="likeBtn" id="likeBtn"> <span class="heart" id="heart"></span> </div>
/* fullLove.css */ .heart{ background-color: #8a93a0; height: 13px; width: 13px; transform: rotate(-45deg) scale(1); display: inline-block; } .heart::before { content: ''; position: absolute; top: -50%; left: 0; background-color: inherit; border-radius: 50%; height: 13px; width: 13px; } .heart::after { content: ''; position: absolute; top: 0; right: -50%; background-color: inherit; border-radius: 50%; height: 13px; width: 13px; }
再給外層加一些陰影就可以出來擬態化效果
我們需要讓按鈕做出一些視覺效果來引導觀眾姥爺們點贊,那持續震動無疑是一種好的選擇。
// love.js const likeBtn = document.getElementById('likeBtn'); const heart=document.getElementById('heart') likeBtn.addEventListener('mousemove',() => { heart.classList.add('heratPop') }) likeBtn.addEventListener('mouseout',() => { heart.classList.remove('heratPop') })
/* fullLove.css */ .heratPop{ animation: pulse 1s linear infinite; } @keyframes pulse { 0% { transform: rotate(-45deg) scale(1); } 10% { transform: rotate(-45deg) scale(1.1); } 20% { transform: rotate(-45deg) scale(0.9); } 30% { transform: rotate(-45deg) scale(1.2); } 40% { transform: rotate(-45deg) scale(0.9); } 50% { transform: rotate(-45deg) scale(1.1); } 60% { transform: rotate(-45deg) scale(0.9); } 70% { transform: rotate(-45deg) scale(1); } }
接下來就是最主要的愛之滿滿了,怎么樣才能達到這種效果呢,那必然是越多的愛越好啊。
那我們想辦法讓愛心漂浮在按鈕周圍,在規定時間內愛心進行位移并消失即可。
創建一個元素可以使用document.createElement
,移除元素可以使用DOM
的remove()
剩下的就簡單了,只需要在這個過程中給不同的愛心設置不同的大小和位移即可。
核心代碼(完整代碼請看文末):
// love.js function addHearts(content) { for(let i=0; i<10; i++) { setTimeout(() => { const fullHeart = document.createElement('div'); fullHeart.classList.add('hearts'); fullHeart.innerHTML = '<span class="heart"></span>'; fullHeart.style.left = Math.random() * 100 + '%'; fullHeart.style.top = Math.random() * 100 + '%'; fullHeart.style.transform = `translate(-50%, -50%) scale(${Math.random()+0.3}) ` fullHeart.style.animationDuration = Math.random() * 2 + 3 + 's'; fullHeart.firstChild.style.backgroundColor='#ed3056' content.appendChild(fullHeart); setTimeout(() => { fullHeart.remove(); }, 3000); }, i * 100) } }
/* fullLove.css */ .hearts { position: absolute; color: #E7273F; font-size: 15px; top: 50%; left: 50%; transform: translate(-50%, -50%); animation: fly 3s linear forwards; } @keyframes fly { to { transform: translate(-50%, -50px) scale(0); } }
到此,相信大家對“CSS+JS怎么實現愛心點贊按鈕”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。