1. 程式人生 > >基於JS+Canves實現點選水波紋功能

基於JS+Canves實現點選水波紋功能

近來看到個不錯的按鈕點選效果,當點選時產生一次水波漣漪效果,挺好玩的,於是簡單的實現了下(沒考慮低版本瀏覽器相容問題)

先看看效果吧,如下圖(錄製gif軟體有點渣,看起來卡卡的...)

這種效果可以由元素內巢狀canves實現,也可以由css3實現。

Canves實現

網上摘了一份canves實現的程式碼,略微去掉了些重複定義的樣式並且給出js註釋,程式碼如下

html程式碼

?
1<a class="btn color-1 material-design" data-color="#2f5398">Press me!</a>

css程式碼

?
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051* {box-sizing: border-box;outline: none;}body {font-family: 'Open Sans';font-size: 100%;font-weight: 300;line-height: 1.5em;text-align: center;}.btn {border: none;display: inline-block;color: white;overflow: hidden;margin: 1rem;padding: 0;width: 150px;height: 40px;text-align: center;line-height: 40px;border-radius: 5px;
}.btn.color-1 {background-color: #426fc5;}.btn-border.color-1 {background-color: transparent;border: 2px solid #426fc5;color: #426fc5;}.material-design {position: relative;}.material-design canvas {opacity: 0.25;position: absolute;top: 0;left: 0;}.container {align-content: center;align-items: flex-start;
display: flex;flex-direction: row;flex-wrap: wrap;justify-content: center;margin: 0 auto;max-width: 46rem;}

js程式碼

相關推薦

基於JS+Canves實現波紋功能

近來看到個不錯的按鈕點選效果,當點選時產生一次水波漣漪效果,挺好玩的,於是簡單的實現了下(沒考慮低版本瀏覽器相容問題)先看看效果吧,如下圖(錄製gif軟體有點渣,看起來卡卡的...)這種效果可以由元素內巢狀canves實現,也可以由css3實現。Canves實現網上摘了一份c

Android 中Layout實現波紋特效

Android5.0以後TextView,Button、TabLayout等控制元件預設都有點選水波紋效果,那佈局類LinearLayout、RelativeLayout、TableLayout、FrameLayout、AbsoluteLayou如何實現 A:

js+css實現按鈕波紋

.ripple-effect { position: relative; overflow: hidden; } .btn { width: 150px; height: 40px;

Android 實現所有View的波紋效果

點選水波紋效果,是安卓5.0以上的一個新特技。 一開始,我只會在普通的Button上新增這個效果。 利用新建主題的方法: <style name="MyButton" parent="Theme.AppCompat.Light"> <item n

Android RecyclerView 實現item波紋動畫效果

Recyclerview的item如果如果加上水波紋動畫的點選效果會使列表的ui體驗效果提升很多,今天來給大家介紹一下如何給Recyclerivew的item view新增這樣的動畫效果。 在res目錄的drawable目錄和drawable-v21下分別建立

Android自定義控制元件:Android L控制元件波紋實現(原始碼 + Demo)

Demo: 一、控制元件的流程: 大致上如下,實際是有些偏差的大家可以自己畫畫 RevealLayout()--->init()--->onMeasure()--->onLayout()--->onDraw()--->dispat

Item波紋效果

先上效果圖 ripple的使用(需要V21以上) <ripple xmlns:android="http://schemas.android.com/apk/res/android" android:color="@color/dark_blue"> <

CardView定義陰影、波紋、圓角

一般使用在recyclerView中,給每個Item項新增需要的效果,例如陰影,圓角,還有點選的水波紋等。 寫法就是新增V7包中的CardView作為根佈局即可: 效果如下: 全部程式碼如下,主要就是設定CardView的屬性: <?xml version=

按鈕波紋效果

水波紋的出現給我們的錯覺是直接將波紋繪製在button上面的,但是這樣能做到嗎?首先button自己有background和src,如果把半透明的水波紋當作background或者src繪製到button上面,肯定是會損失button原有的樣式的。可能有朋友猜想

Android 波紋擴散效果( Ripple Effect )

<span style="font-family: Arial, Helvetica, sans-serif;"><pre style="font-family: 宋體; font-size: 9pt; background-color: rgb(255,

一些簡單的js技術 實現js隱藏顯示

首先 這是一個js的方法 然後 獲取模組的屬性  根據模組的屬性 設定隱藏和顯示 function showoopenordown(){     var oDiv=document.getElementById('drop');var oH2=oDiv.getEleme

經典的js問題 實現li能夠彈出當前li索引與innerHTML的函式

經典的js問題  實現點選li能夠彈出當前li索引與innerHTML的函式 點選其中一項需要alert出如下結果: 按照我們平常的想法,程式碼應該是這樣寫的: var myul = document.getElementsByTagName("ul")[0];

android 5.0以上版本控制元件 波紋效果

android api21及以上引入了控制元件點選的水波紋效果 1.可以直接給控制元件設定 android:background="?android:attr/selectableItemBackground"(有邊界效果) 或者  android:backgro

HTML+js+css實現圖片彈出上傳檔案視窗的兩種思路

第一種:CSS實現 <style> <!--  .fileInputContainer{         height:256px;         background:url(upfile.png);         position:rel

CardView 設定波紋效果

問題來源 最近用了下RecyclerView,很好用,每個item我設定的是CardView包含一個TextView, <android.support.v7.widget.CardView xmlns:card_view="http://

自己動手搞一個拖動滑塊,波紋效果

window.onload = function() { var lineDiv = document.getElementById('lineDiv'); //長線條 var minDiv = document.getElementById('minDiv'); //小方塊

實現複製貼上功能

實現功能:實現點選轉換為固定格式的json格式;並且實現點選複製功能 使用前端程式碼實現: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> &

移動端實現按鈕複製功能

HTML程式碼 <div class="url"> <p id="codeNum"></p> <button class="code-btn" id="codeBtn" data-clipboard-action="

C#+AE 實現查詢屬性功能

實現效果如下: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using S