jquery html5 css3全屏滑動圖片幻燈片_圖片撕開動畫效果



131 521 174



特效描述: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

加群請備注:從官網了解到

老夫子电子