1. 程式人生 > >HTML5 Canvas水波紋動畫特效

HTML5 Canvas水波紋動畫特效

實用 containe tex settings dex apple IV vertical 動畫

HTML5的Canvas特性非常實用,我們不僅可以在Canvas畫布上繪制各種圖形,也可以制作絢麗的動畫,比如這次介紹的水波紋動畫特效。以前我們也分享過一款基於HTML5 WebGL的水波蕩漾動畫,讓人驚嘆不已,這次分享的HTML5 Canvas水波紋動畫同樣非常震撼人心。

技術分享圖片

在線演示 源碼下載

<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"
> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>HTML5 Canvas水波紋動畫特效DEMO演示</title> <link rel="stylesheet" type="text/css" href="css/normalize.css" /> <link rel="stylesheet" type="text/css" href="css/zzsc.css"> <script src="js/jquery-1.11.0.min.js"
type="text/javascript"></script> <script type="text/javascript" src="js/jquery.waterrippleeffect.min.js"></script> <style type="text/css"> html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td
{ margin: 0; padding: 0; border: 0; outline: 0; font-size: 100%; vertical-align: baseline; /*background: transparent;*/ box-sizing: border-box; } body { overflow: hidden; } .container{ width: 480px; height: 480px; margin:20px auto; position: relative; } .clear { clear: both; height: 0; font-size: 0; line-height: 0; } </style> <script> $( document ).ready( function() { //------------------------------------------------------------------------ $( #preloaderDiv ).delay( 1000 ).fadeTo( 1000 , 0, function() { $( this ).css( display, none ); } ); $( #startDiv ).css( cursor, pointer ).click( function() { //$( this ).css( ‘display‘, ‘none‘ ); $( this ).delay( 10 ).fadeTo( 1000 , 0, function() { $( this ).css( display, none ); } ); init(); } ); //------------------------------------------------------------------------ function init() { //Settings - params for WaterRippleEffect var settings = { image: ./img/SwimmingPool.jpg,//image path 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 //init var waterRippleEffect = new WaterRippleEffect( document.getElementById( holder ), settings ); document.getElementById( holder ).style.cursor = pointer; //on click document.getElementById( holder ).addEventListener( click, function( e ) { var mouseX = e.layerX; var mouseY = e.layerY; waterRippleEffect.disturb( mouseX, mouseY ); } ); //on mousemove document.getElementById( holder ).addEventListener( mousemove, function( e ) { var mouseX = e.layerX; var mouseY = e.layerY; waterRippleEffect.disturb( mouseX, mouseY ); } ); //------------------------------------------------------------------------ //jQuery //init /* $( ‘#holder‘ ).waterRippleEffect( settings ); $( ‘#holder‘ ).css( ‘cursor‘, ‘pointer‘ ); */ //on click /* $( ‘#holder‘ ).click( function( e ) { var mouseX = e.pageX - $( this ).offset().left; var mouseY = e.pageY - $( this ).offset().top; $( ‘#holder‘ ).waterRippleEffect( "disturb", mouseX, mouseY ); } ); */ //on mousemove /* $( ‘#holder‘ ).mousemove( function( e ) { var mouseX = e.pageX - $( this ).offset().left; var mouseY = e.pageY - $( this ).offset().top; $( ‘#holder‘ ).waterRippleEffect( "disturb", mouseX, mouseY ); } ); */ }; //------------------------------------------------------------------------ } ); </script> </head> <body> <div class="container"> <div id=‘holder‘ style=‘width:480px; height:480px; position:absolute;‘></div> <div id=‘startDiv‘ style=‘background-color:#000; position:absolute; width:480px; height:480px;‘> <img src=‘img/startBt.jpg‘ width=‘480px‘ height=‘480px‘ alt=‘Start‘ style=‘position:absolute; top:50%; left:50%; margin-top:-240px; margin-left:-240px;‘> </div> <div id=‘preloaderDiv‘ style=‘background-color:#000; position:absolute; width:480px; height:480px; pointer-events:none‘> <img src=‘img/PreloaderDark.gif‘ width=‘44px‘ height=‘48px‘ alt=‘Preloader‘ style=‘position:absolute; top:50%; left:50%; margin-top:-22px; margin-left:-24px;‘> </div> </div> <div style="text-align:center;clear:both;"> <script src="/gg_bd_ad_720x90.js" type="text/javascript"></script> <script src="/follow.js" type="text/javascript"></script> </div> </body> </html>

HTML5 Canvas水波紋動畫特效