jquery html5 css3全屏滑动图片幻灯片_图片撕开动画效果



127 504 169



特效描述:jquery html5 css3 全屏滑动 图片幻灯片 图片撕开动画,全屏滑动图片幻灯片图片撕开动画效果

代码结构

1. 引入CSS

<link rel="stylesheet" type="text/css" href="css/demo.css" />
<link rel="stylesheet" type="text/css" href="css/style.css" />
<link href='http://fonts.googleapis.com/css?family=Miltonian|Bitter' rel='stylesheet' type='text/css' />

2. 引入JS

<script type="text/javascript" src="js/modernizr.custom.21750.js"></script>
<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript" src="js/StackBlur.js"></script>

3. HTML代码

<p class="demos"><a class="current-demo" href="index.html">Demo 1</a> | <a href="index2.html">Demo 2</a> | <a href="index3.html">Demo 3</a></p>
<div id="bx-wrapper" class="bx-wrapper">
	<div class="bx-loading">
		<span>Loading...</span>
	</div>
	<div class="bx-content">
		<h2>Shushi Town</h2>
	</div>
	<div class="bx-thumbs">
		<a href="#" class="bx-thumbs-current" style="background-image:url(images/thumbs/1.jpg)"></a>
		<a href="#" style="background-image:url(images/thumbs/2.jpg)"></a>
		<a href="#" style="background-image:url(images/thumbs/3.jpg)"></a>
		<a href="#" style="background-image:url(images/thumbs/4.jpg)"></a>
		<a href="#" style="background-image:url(images/thumbs/5.jpg)"></a>
		<a href="#" style="background-image:url(images/thumbs/6.jpg)"></a>
		<a href="#" style="background-image:url(images/thumbs/7.jpg)"></a>
	</div>
	<div class="bx-container">
		<img src="images/large/1.jpg" alt="image01" title="Shushi Town"/>
		<img src="images/large/2.jpg" alt="image02" title="Raw Love"/>
		<img src="images/large/3.jpg" alt="image03" title="Freshness"/>
		<img src="images/large/4.jpg" alt="image04" title="Crunchbite"/>
		<img src="images/large/5.jpg" alt="image05" title="Flavour Bomb"/>
		<img src="images/large/6.jpg" alt="image06" title="Tenderness"/>
		<img src="images/large/7.jpg" alt="image07" title="Aroma Paradise"/>
	</div>
	<div class="bx-overlay"></div>
</div>
<script type="text/javascript">
$(function() {
	var BlurBGImage	= (function() {
		var $bxWrapper			= $('#bx-wrapper'),
		// loading status to show while preloading images
		$bxLoading			= $bxWrapper.find('div.bx-loading'),
		// container for the bg images and respective canvas
		$bxContainer		= $bxWrapper.find('div.bx-container'),
		// the bg images we are gonna use
		$bxImgs				= $bxContainer.children('img'),
		// total number of bg images
		bxImgsCount			= $bxImgs.length,
		// the thumb elements
		$thumbs				= $bxWrapper.find('div.bx-thumbs > a').hide(),
		// the title for the current image
		$title				= $bxWrapper.find('h2:first'),
		// current image's index
		current				= 0,
		// variation to show the image:
		// (1) - blurs the current one, fades out and shows the next image
		// (2) - blurs the current one, fades out, shows the next one (but initially blurred)
		// speed is the speed of the animation
		// blur Factor is the factor used in the StackBlur script
		animOptions			= { speed : 700, variation : 1, blurFactor : 10 },
		// control if currently animating
		isAnim				= false,
		// check if canvas is supported
		supportCanvas 		= Modernizr.canvas,
		// init function
		init				= function() {
			// preload all images and respective canvas
			var loaded = 0;
			$bxImgs.each( function(i) {
				var $bximg	= $(this);
				// save the position of the image in data-pos
				$('<img data-pos="' + $bximg.index() + '"/>').load(function() {
					var $img	= $(this),
					// size of image to be fullscreen and centered
					dim		= getImageDim( $img.attr('src') ),
					pos		= $img.data( 'pos' );
					// add the canvas to the DOM
					$.when( createCanvas( pos, dim ) ).done( function() {
						++loaded;
						// all images and canvas loaded
						if( loaded === bxImgsCount ) {
							// show thumbs
							$thumbs.fadeIn();
							// apply style for bg image and canvas
							centerImageCanvas();
							// hide loading status
							$bxLoading.hide();
							// initialize events
							initEvents();
						}
					});
				}).attr( 'src', $bximg.attr('src') );
			});
		},
		// creates the blurred canvas image
		createCanvas		= function( pos, dim ) {
			return $.Deferred( function(dfd) {
				// if canvas not supported return
				if( !supportCanvas ) {
					dfd.resolve();
					return false;
				}	
				// create the canvas element:
				// size and position will be the same like the fullscreen image
				var $img	= $bxImgs.eq( pos ),
				imgW	= dim.width,
				imgH	= dim.height,
				imgL	= dim.left,
				imgT	= dim.top,
				canvas	= document.createElement('canvas');
				canvas.className	= 'bx-canvas';
				canvas.width 		= imgW;
				canvas.height 		= imgH;
				canvas.style.width  = imgW + 'px';
				canvas.style.height = imgH + 'px';
				canvas.style.left	= imgL + 'px';
				canvas.style.top	= imgT + 'px';
				canvas.style.visibility = 'hidden';
				// save position of canvas to know which image this is linked to
				canvas.setAttribute('data-pos', pos);
				// append the canvas to the same container where the images are
				$bxContainer.append( canvas );
				// blur it using the StackBlur script
				stackBlurImage( $img.get(0), dim, canvas, animOptions.blurFactor, false, dfd.resolve );
			}).promise();							
		},
		// gets the image size and position in order to make it fullscreen and centered.
		getImageDim			= function( img ) {
			var $img    = new Image();
			$img.src    = img;
			var $win	= $( window ),
			w_w		= $win.width(),
			w_h		= $win.height(),
			r_w		= w_h / w_w,
			i_w		= $img.width,
			i_h		= $img.height,
			r_i		= i_h / i_w,
			new_w, new_h, new_left, new_top;
			if( r_w > r_i ) {
				new_h	= w_h;
				new_w	= w_h / r_i;
			}
			else {
				new_h	= w_w * r_i;
				new_w	= w_w;
			}
			return {
				width	: new_w,
				height	: new_h,
				left	: ( w_w - new_w ) / 2,
				top		: ( w_h - new_h ) / 2
			};
		},
		// initialize the events
		initEvents			= function() {
			$( window ).on('resize.BlurBGImage', function( event ) {
				// apply style for bg image and canvas
				centerImageCanvas();
				return false;
			});
			// clicking on a thumb shows the respective bg image
			$thumbs.on('click.BlurBGImage', function( event ) {
				var $thumb	= $(this),
				pos		= $thumb.index();
				if( !isAnim && pos !== current ) {
					$thumbs.removeClass('bx-thumbs-current');
					$thumb.addClass('bx-thumbs-current');
					isAnim = true;
					// show the bg image
					showImage( pos );
				}
				return false;
			});
		},
		// apply style for bg image and canvas
		centerImageCanvas	= function() {
			$bxImgs.each( function(i) {
				var $bximg	= $(this),
				dim			= getImageDim( $bximg.attr('src') ),
				$currCanvas	= $bxContainer.children('canvas[data-pos=' + $bximg.index() + ']'),
				styleCSS	= {
					width	: dim.width,
					height	: dim.height,
					left	: dim.left,
					top		: dim.top
				};	
				$bximg.css( styleCSS );
				if( supportCanvas )
					$currCanvas.css( styleCSS );
				if( i === current )	
					$bximg.show();
			});
		},
		// shows the image at position "pos"
		showImage			= function( pos ) {
			// current image 
			var $bxImage		= $bxImgs.eq( current );
			// current canvas
			$bxCanvas		= $bxContainer.children('canvas[data-pos=' + $bxImage.index() + ']'),
			// next image to show
			$bxNextImage	= $bxImgs.eq( pos ),
			// next canvas to show
			$bxNextCanvas	= $bxContainer.children('canvas[data-pos='+$bxNextImage.index()+']');
			// if canvas is supported
			if( supportCanvas ) {
				$.when( $title.fadeOut() ).done( function() {
					$title.text( $bxNextImage.attr('title') );
				});
				$bxCanvas.css( 'z-index', 100 ).css('visibility','visible');
				$.when( $bxImage.fadeOut( animOptions.speed ) ).done( function() {
					switch( animOptions.variation ) {
						case 1 	:
							$title.fadeIn( animOptions.speed );
							$.when( $bxNextImage.fadeIn( animOptions.speed ) ).done( function() {
								$bxCanvas.css( 'z-index', 1 ).css('visibility','hidden');
								current = pos;
								$bxNextCanvas.css('visibility','hidden');
								isAnim 	= false;
							});
							break;
						case 2	:
							$bxNextCanvas.css('visibility','visible');
							$.when( $bxCanvas.fadeOut( animOptions.speed * 1.5 ) ).done( function() {
								$(this).css({
									'z-index' 		: 1,
									'visibility'	: 'hidden'
								}).show();
								$title.fadeIn( animOptions.speed );
								$.when( $bxNextImage.fadeIn( animOptions.speed ) ).done( function() {
									current = pos;
									$bxNextCanvas.css('visibility','hidden');
									isAnim 	= false;
								});
							});
							break;
					};
				});
			}
			// if canvas is not shown just work with the bg images
			else {
				$title.hide().text( $bxNextImage.attr('title') ).fadeIn( animOptions.speed );
				$.when( $bxNextImage.css( 'z-index', 102 ).fadeIn( animOptions.speed ) ).done( function() {
					current = pos;
					$bxImage.hide();
					$(this).css( 'z-index', 101 );
					isAnim = false;
				});
			}
		};
		return {
			init	: init
		};
	})();
	// call the init function
	BlurBGImage.init();
});
</script>



用户评论
大牛,别默默的看了,快登录帮我点评一下吧!:)      登录 | 注册


热门标签: 头像上传 图片上传 图片淡出淡进 图片淡出 图片淡进 二维码 图片拖动 图片拖拽 图片延迟加载 图片延迟 图片加载 图片翻转 图片旋转 图片全屏 图片叠加 图片层叠 图片放大镜 图片放大缩小 图片缩放 图片大小 图片放大 图片缩小 图片变大 图片变小 滑动 滑块 滑动门 触屏滑动 滑动插件 滑块插件 加载动画 带缩略图的幻灯片 h5图片动画 h5图标动画 html5图片动画 html5图标动画 图片广告 地图 中国地图 世界地图 滚动切换 滚动条切换 滑动选项卡 滑动切换 图片滑动 图片滑块 图片滚动 图片滚动条 图片收缩展开 图片收缩 图片展开 旋转木马 图片旋转木马 文字旋转木马 旋转木马插件 纯图片轮播 图片轮播 图片切换 图片选项卡 图标选项卡 自动滚动图片轮播 图标导航 图标菜单 选项卡切换 选项卡 切换 tab切换 页面切换 选项卡插件 切换插件 滑动手风琴 背景切换 大图切换 全屏焦点图 手风琴 水平手风琴 垂直手风琴 图片手风琴 文字手风琴 手风琴插件 h5弹窗动画 html5弹窗动画 全屏切换 切换按钮 宽屏全屏 宽屏 全屏 页面全屏 页面宽屏 h5动画 h5背景动画 h5场景动画 h53D动画 h5界面动画 html5动画 图表 表单 表单美化 表单插件 表单美化插件 图片 图片插件 头像截图 h5按钮动画 html5按钮动画 图片全屏 h5图片动画 h5图标动画 html5图片动画 html5图标动画 图片滑动 图片滑块 图片切换 图片选项卡 图标选项卡 按钮控制 图片滑动 滑动图片

×
×

注册

官方QQ群

扫描上面二维码加微信群

官方QQ群

jQuery/js讨论群
群号:642649996
Css3+Html5讨论群
群号:322131262

加群请备注:从官网了解到