HTML5 canvas水波纹动画插件waterrippleeffect.js

所属分类:媒体,其他-图像,动画效果

 50708  479  查看评论 (16)
分享到微信朋友圈
X
HTML5 canvas水波纹动画插件waterrippleeffect.js ie兼容10

使用方法

在页面中引入jquery和jquery.waterrippleeffect.min.js文件。

<script src='path/to/js/jquery.min.js'></script>
<script src='path/to/js/jquery.waterrippleeffect.min.js'></script>

HTML结构

使用一个<div>作为该水波纹动画特效的HTML结构:

<div id="holder"></div>

初始化插件

通过纯js的方式来调用该水波纹动画效果的代码如下:

function init() {
    //Settings - params for WaterRippleEffect
    var settings = {
        image: './img/SwimmingPool.jpg', //背景图片
        rippleRadius: 3, //radius of the ripple
        width: 480, //width
        height: 480, //height
        delay: 1, //if auto param === true. 1 === 1 second delay for animation
        auto: true //if auto param === true, animation starts on it′s own
    };
    //------------------------------------------------------------------------
    //standalone
    //初始化
    var waterRippleEffect = new WaterRippleEffect(document.getElementById('holder'), settings);
    document.getElementById('holder').style.cursor = 'pointer';

    //鼠标点击事件
    document.getElementById('holder').addEventListener('click', function(e) {
        var mouseX = e.layerX;
        var mouseY = e.layerY;
        waterRippleEffect.disturb(mouseX, mouseY);
    });

    //鼠标移动事件
    document.getElementById('holder').addEventListener('mousemove', function(e) {
        var mouseX = e.layerX;
        var mouseY = e.layerY;
        waterRippleEffect.disturb(mouseX, mouseY);
    });

通过jquery插件的方式来调用该水波纹动画效果的代码如下:

$('#holder').waterRippleEffect(settings);
$('#holder').css('cursor', 'pointer');

//鼠标点击事件
$('#holder').click(function(e) {
    var mouseX = e.pageX - $(this).offset().left;
    var mouseY = e.pageY - $(this).offset().top;
    $('#holder').waterRippleEffect("disturb", mouseX, mouseY);
});

//鼠标移动事件
$('#holder').mousemove(function(e) {
    var mouseX = e.pageX - $(this).offset().left;
    var mouseY = e.pageY - $(this).offset().top;
    $('#holder').waterRippleEffect("disturb", mouseX, mouseY);
});
相关插件-图像,动画效果

可视化的交互图形库Cytoscape.js

Cytoscape.js ? 用于数据分析和可视化的交互图形库
  图像
 53096  342

jQuery放大镜插件jqzoom.js

jQuery放大镜插件jqzoom.js
  图像
 100257  435

移动端图片滤镜效果

在手机上常用到的图片滤镜效果
  图像
 28111  385

橡皮擦--图片擦除效果

电脑端、移动端(Android、ios等)都可适应!
  图像
 50734  443

讨论这个项目(16)回答他人问题或分享插件使用方法奖励jQ币 评论用户自律公约

    Kenny-Ho 0
    2019/1/11 10:47:37
    怎么扩大水纹波的半径,让它散的更远 回复
    swig 0
    2018/5/18 10:01:27
    Chrome打开没效果啊 回复
    ?蒺描淡?の?? 0
    2017/12/27 15:36:16

    我不想要刚开始的加载动画和点击开始的那个步骤,应该怎么改?我把相关JS和HTML代码注释之后,程序就不能运行了

    回复
    Moreira 0
    2017/10/26 9:39:47
    倾诉者与聆听者 0
    2017/9/29 16:47:35
    蓝天白云 0
    2017/8/17 14:01:38

    厉害了!!!想请问:我用了这个插件,为什么半径越大越不流畅呢?还有不知能不能让图片按百分比的比例来展现,因为移动端每个屏幕大小都不一样

    回复
    晴天 0
    2017/6/28 12:34:32

    可不可以不要背景图!!!!能不能改变水波的颜色!!知道的大侠请说下,在线等,挺急的。

        极♂七彩0
        2017/8/10 9:56:52
        自己把背景替换掉就是噻
    回复
    liuxiaan 0
    2017/5/31 18:00:37

    这个canvas做的不错哎,流畅度可以

    回复
    Bu忘初心_ 0
    2017/5/18 15:44:46
    东深-李文爽 0
    2017/5/3 15:26:24
😃
  • 😀
  • 😉
  • 😥
  • 😵
  • 😫
  • 😘
  • 😡
  • 👍
  • 🌹
  • 👏
  • 🍺
  • 🍉
  • 🌙
  • 💖
  • 💔
😃
  • 😀
  • 😉
  • 😥
  • 😵
  • 😫
  • 😘
  • 😡
  • 👍
  • 🌹
  • 👏
  • 🍺
  • 🍉
  • 🌙
  • 💖
  • 💔
取消回复