html5 图片墙

代码实例:

<!DOCTYPE html>
<html>
	<head>
	    <style>
		body,html{
		padding:0;margin:0;width:100%;height:100%;
		overflow:hidden;
		}
		</style>
		<title>图片墙</title>
		<meta charset="utf-8">
		<link rel="stylesheet" href="">
		<script>
			window.onload=function  () {
			  var canvas=document.getElementById("canvas");
			  canvas.width=document.documentElement.clientWidth;
			  canvas.height=document.documentElement.clientHeight;
			  canvas.style.background="#000";
			  var imgs=document.getElementsByTagName("img");
			  var video=document.getElementById("video");
			  var cobj=canvas.getContext("2d");
			  var spring=0.8;
		      var friction=0.6;
              var t;

              cobj.beginPath();
                cobj.shadowBlur=1.5;
                cobj.shadowColor="green";
                cobj.shadowOffsetX=1;
                cobj.shadowOffsetY=2.5;
			  cobj.fillStyle="blue";
			  cobj.rect(0,0,40,40);
			  cobj.fill();

             canvas.onclick=function  (e) {
              var mx=e.layerX;
			  var my=e.layerY;
			  if(cobj.isPointInPath(mx,my)){
			   clearInterval(t);
			    cobj.clearRect(0,0,canvas.width,canvas.height);
				var arr=create ();
				t=setInterval(function  () {
				  cobj.clearRect(0,0,canvas.width,canvas.height);
				  for (var i=0; i<arr.length; i++) {
				    moves(arr[i])
				  }

                    cobj.beginPath();
                    cobj.shadowBlur=1.5;
                    cobj.shadowColor="green";
                    cobj.shadowOffsetX=1;
                    cobj.shadowOffsetY=2.5;
                    cobj.fillStyle="blue";
                    cobj.rect(0,0,100,40);
                    cobj.fill();

                    video.play();
				},60)
			  }
			 }
               function moves (obj) {
				obj.vx+= (obj.targetx-obj.changex)*spring;
				obj.vy+= (obj.targety-obj.changey)*spring;
				obj.changex+= (obj.vx *= friction);//friction??????
				obj.changey += (obj.vy *=friction);
				cobj.beginPath();
				cobj.lineWidth=5;
				cobj.strokeStyle="#fff";
				cobj.moveTo(obj.startx,obj.starty);
				cobj.lineTo(obj.changex,obj.changey);
				cobj.stroke();
				cobj.drawImage(obj.src,obj.changex-obj.width/2,obj.changey,obj.width,obj.height);
               }

			   function create () {
			      var imgArr=[];
				  for (var i=0; i<5; i++) {
					var srcObj;
					if(i<4){
					 srcObj=imgs[i];
					}else{
					 srcObj=video;
					}
					var imgObj={src:srcObj,vx:0,vy:0,width:220,height:220,startx:220*(i+1)+150,starty:-100,targetx:220*(i+1)+150,targety:180+200*Math.random(),changex:220*(i+1)+150,changey:-100}

					imgArr.push(imgObj);
				  }
				  return imgArr;
			   }

			}
		</script>
	</head>
	<body>
	 <canvas id="canvas">
	 </canvas>
	 <img src="不二.jpg" hidden>
	  <img src="不二2.jpg" hidden>
	   <img src="不二3.jpg" hidden>
	    <img src="不二4.jpg" hidden>
       <video src="陈奕迅 - 陪你度过漫长岁月.mp4" hidden id="video">
	   </video>
	</body>
</html>

图片:

效果:

时间: 2024-12-10 08:17:32

html5 图片墙的相关文章

Image Wall - jQuery &amp; CSS3 图片墙效果

今天我们要为您展示如何基于 jQuery 和 CSS3 创建一个整洁的图片墙效果.我们的想法是在页面上洒上一些大小不同的缩略图,并在当我们点击图片时候显示丝带,会显示一些描述,再次点击缩略图时,丝带将关闭并重新打开一个更大的图像预览效果. 在线演示     下载源码 您可能感兴趣的相关文章 充满想象力的 JavaScript 物理和重力实验 精选9个值得学习的 HTML5 效果[附源码] 精选12个时尚的 CSS3 效果[附源码下载] 十分惊艳的8个 HTML5 & JavaScript 特效

jQuery 3D 女神图片墙 可旋转播放

详细内容请点击 还记得之前分享过一款HTML5 3D立体图片相册,相册中的美女图片非常有特色.今天我们又要来分享一款可旋转播放的jQuery 3D女神图片墙,和一般的图片播放器不同的是,这款图片播放器是3D环形的,图片展示也将随着环形来回切换,效果非常不错.  在线演示源码下载 学习来源:http://www.html5tricks.com/jquery-3d-girl-image-player.html 更多html5内容请点击

HTML5图片预览

作者:Snandy 两种方式实现 URL FileReader 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 <!DOCTYPE HTML> <html>     <head>     <meta charset="utf

完美图片蒙太奇的JS效果基于JQuery实现(多个大小不同图片拼接成图片墙)

最近开发一个宠物服务网站 http://www.teyua.com/ 里面有个照片更新栏目,需要实现这个功能. 参考了很多,包括国外的图片墙,就是把多个大小不一样的图片根据一个算法整齐的组合成为图片墙. 需要实现的功能有:自动拼接,横竖都要完美对齐,窗口大小变化是自动调整,最后依然完美对齐. 网上找到的所有实现,都有缺陷,包括百度www.badu.com的图片搜索,组合的图片都有缺陷,看下图,右侧部分红框,边缘未对齐. Bing.cn 的图片搜索拼接的图片墙也有缺陷,而且比百度还严重,请看下图中

图片墙动画效果

CSS3 transition实现超酷图片墙动画效果 <!DOCTYPE> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>CSS3 transform初体验之demo5</title> <style type="text/css">

制作图片墙

今天学习了HTML加上CSS 简单JS实现图片墙代码如下 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script type="text/javascript"> window.onload=function(){ var oUl =

html5 图片上传,支持图片预览、压缩、及进度显示,兼容IE6+及标准浏览器

原文:html5 图片上传,支持图片预览.压缩.及进度显示,兼容IE6+及标准浏览器 以前写过上传组件,见 打造 html5 文件上传组件,实现进度显示及拖拽上传,兼容IE6+及其它标准浏览器,对付一般的上传没有问题,不过如果是上传图片,且需要预览的话,就力有不逮了,趁着闲暇时间,给上传组件添加了单独的图片上传UI,支持图片预览和缩放(通过调整图片的大小以实现图片压缩). 上传组件特点 轻量级,不依赖任何JS库,核心代码(Q.Uploader.js)仅约700行,min版本加起来不到12KB 纯

CSS制作图片墙

通过CSS3的动画效果完成的一个简单的图片墙效果 效果图: 目标: 1. 用10张图片作为照片.2. 照片以不同的位置和旋转角度随意摆放.3. 鼠标移动到某一张照片上时,此照片由倾斜缓慢旋转成端正,并且放大显示在最上层. 用到的知识点: 1. box-shadow:给元素的边框添加阴影的效果 box-shadow: 10px 10px 15px #ccc; 前两个参数为阴影效果在上下左右的哪两个方向便宜,正的话为下或右方,负的话为上或左方. 第三个参数为阴影半径的大小. 第四个属性为阴影颜色.

图片墙效果

我有一组数据需要用图片墙的效果来显示, 这些数据是动态的, 用angularjs来维护, 可增加和删除的.界面上每行最多4个单元格. 以下是代码: <!DOCTYPE html> <html ng-app="app"> <head lang="en"> <meta charset="UTF-8"> <link rel="stylesheet" href="css/