html5 css3響應式全屏切換特效



87 344 115



特效描述:html5 css3 響應式全屏切換,html5 css3響應式全屏切換特效

代碼結構

1. 引入CSS

<link rel="stylesheet" type="text/css" href="css/normalize.css" />
<link rel="stylesheet" type="text/css" href="css/select-css.css" />
<link rel="stylesheet" type="text/css" href="css/demo.css" />
<link rel="stylesheet" type="text/css" href="css/component.css" />

2. 引入JS

<script src="js/modernizr-custom.js"></script>
<script src="js/classie.js"></script>
<script src="js/main.js"></script>

3. HTML代碼

<svg class="hidden">
	<defs>
		<symbol id="icon-arrow" viewBox="0 0 39 51.43">
			<title>Arrow Left</title>
			<polygon points="7 25.71 36 45.71 36 26.08 36 5.71 7 25.71" stroke-miterlimit="10" stroke-width="6"/><line x1="3" y1="5.71" x2="3" y2="45.71" fill="none" stroke-miterlimit="10" stroke-width="6"/>
		</symbol>
	</defs>
</svg>
<main class="container">
	<div class="pages">
		<div class="page page--current"><!-- intro page -->
			<header class="codrops-header">
				<h1 class="codrops-header__title">響應式全屏切換特效</h1>
				<div class="codrops-header__subbox">
					<span>選擇不同效果:</span>
					<div class="custom-select">
						<select name="select" id="select-effect">
							<option value="effect-3" data-layers="3" data-colors="#0092DD,#fff,#3E3A35" selected>Triple Swoosh</option> 
							<option value="effect-1" data-layers="1" data-colors="#202023">Simple</option>
							<option value="effect-2" data-layers="2" data-colors="#202023,#3D4A41">Duo Move</option>
							<option value="effect-4" data-layers="3" data-colors="#202023,#555,#d1d1d1">Content Move</option>
						</select>
					</div>
				</div>
			</header>
		</div><!-- /page -->
		<div class="page">
			<blockquote class="quote">
				<p>A good programmer is someone who always looks both ways before crossing a one-way street. </p>
				<footer>Doug Linder</footer>
			</blockquote>
		</div>
	</div><!-- /pages -->
	<nav class="pagenav">
		<button class="pagenav__button pagenav__button--top" aria-label="Navigate top"><svg class="icon icon--rtop"><use xlink:href="#icon-arrow"></use></svg></button>
		</div>
		<button class="pagenav__button pagenav__button--left" aria-label="Navigate left"><svg class="icon"><use xlink:href="#icon-arrow"></use></svg></button>
		<button class="pagenav__button pagenav__button--right" aria-label="Navigate right"><svg class="icon icon--rright"><use xlink:href="#icon-arrow"></use></svg></button>
		<button class="pagenav__button pagenav__button--bottom" aria-label="Navigate bottom"><svg class="icon icon--rbottom"><use xlink:href="#icon-arrow"></use></svg></button>
		<button class="pagenav__button pagenav__button--cornertopleft" aria-label="Navigate top left"><svg class="icon icon--rtopleft"><use xlink:href="#icon-arrow"></use></svg></button>
		<button class="pagenav__button pagenav__button--cornertopright" aria-label="Navigate top right"><svg class="icon icon--rtopright"><use xlink:href="#icon-arrow"></use></svg></button>
		<button class="pagenav__button pagenav__button--cornerbottomleft" aria-label="Navigate bottom left"><svg class="icon icon--rbottomleft"><use xlink:href="#icon-arrow"></use></svg></button>
		<button class="pagenav__button pagenav__button--cornerbottomright" aria-label="Navigate bottom right"><svg class="icon icon--rbottomright"><use xlink:href="#icon-arrow"></use></svg></button>
	</nav>
</main>
<script>
(function() {
	var pages = [].slice.call(document.querySelectorAll('.pages > .page')),
		currentPage = 0,
		revealerOpts = {
			// the layers are the elements that move from the sides
			nmbLayers : 3,
			// bg color of each layer
			bgcolor : ['#0092DD', '#fff', '#3E3A35'],
			// effect classname
			effect : 'anim--effect-3',
			onStart : function(direction) {
				// next page gets class page--animate-[direction]
				var nextPage = pages[currentPage === 0 ? 1 : 0];
				classie.add(nextPage, 'page--animate-' + direction);
			},
			onEnd : function(direction) {
				// remove class page--animate-[direction] from next page
				var nextPage = pages[currentPage === 0 ? 1 : 0];
				nextPage.className = 'page';
			}
		};
		revealer = new Revealer(revealerOpts);
	// clicking the page nav buttons
	document.querySelector('button.pagenav__button--top').addEventListener('click', function() { reveal('top'); });
	document.querySelector('button.pagenav__button--left').addEventListener('click', function() { reveal('left'); });
	document.querySelector('button.pagenav__button--right').addEventListener('click', function() { reveal('right'); });
	document.querySelector('button.pagenav__button--bottom').addEventListener('click', function() { reveal('bottom'); });
	document.querySelector('button.pagenav__button--cornertopleft').addEventListener('click', function() { reveal('cornertopleft'); });
	document.querySelector('button.pagenav__button--cornertopright').addEventListener('click', function() { reveal('cornertopright'); });
	document.querySelector('button.pagenav__button--cornerbottomleft').addEventListener('click', function() { reveal('cornerbottomleft'); });
	document.querySelector('button.pagenav__button--cornerbottomright').addEventListener('click', function() { reveal('cornerbottomright'); });
	// triggers the effect by calling instance.reveal(direction, callbackTime, callbackFn)
	function reveal(direction) {
		var callbackTime = 750,
			callbackFn = function() {
				classie.remove(pages[currentPage], 'page--current');
				currentPage = currentPage === 0 ? 1 : 0;
				classie.add(pages[currentPage], 'page--current');	
			};
		revealer.reveal(direction, callbackTime, callbackFn);
	}
	// changing the effect..
	var effectCtrl = document.getElementById('select-effect');
	effectCtrl.addEventListener('change', changeEffect);
	// force it to be the first opt as default
	effectCtrl.value = 'effect-3';
	function changeEffect() {
		revealer.destroy();
		var revealerOpts = {
			// the layers are the elements that move from the sides
			nmbLayers : Number(this.options[this.selectedIndex].getAttribute('data-layers')),
			// bg color of each layer
			bgcolor : this.options[this.selectedIndex].getAttribute('data-colors').split(','),
			// effect classname
			effect : 'anim--' + this.value,
			onStart : function(direction) {
				// next page gets class page--animate-[direction]
				var nextPage = pages[currentPage === 0 ? 1 : 0];
				classie.add(nextPage, 'page--animate-' + direction);
			},
			onEnd : function(direction) {
				// remove class page--animate-[direction] from next page
				var nextPage = pages[currentPage === 0 ? 1 : 0];
				nextPage.className = 'page';
			}
		};
		revealer = new Revealer(revealerOpts);
	}
})();
</script>



用戶評論
大牛,別默默的看了,快登錄幫我點評一下吧!:)      登錄 | 注冊


熱門標簽: 圖片翻轉 圖片旋轉 圖片全屏 圖片淡出淡進 圖片淡出 圖片淡進 圖片延遲加載 圖片延遲 圖片加載 圖片疊加 圖片層疊 圖片放大鏡 頭像上傳 圖片上傳 圖片拖動 圖片拖拽 二維碼 帶縮略圖的幻燈片 圖片放大縮小 圖片縮放 圖片大小 圖片放大 圖片縮小 圖片變大 圖片變小 滑動選項卡 滑動切換 滾動切換 滾動條切換 地圖 中國地圖 世界地圖 h5圖片動畫 h5圖標動畫 html5圖片動畫 html5圖標動畫 圖片廣告 旋轉木馬 圖片旋轉木馬 文字旋轉木馬 旋轉木馬插件 純圖片輪播 圖片輪播 圖片滾動 圖片滾動條 圖片收縮展開 圖片收縮 圖片展開 圖片滑動 圖片滑塊 圖片切換 圖片選項卡 圖標選項卡 自動滾動圖片輪播 圖標導航 圖標菜單 選項卡切換 選項卡 切換 tab切換 頁面切換 選項卡插件 切換插件 背景切換 大圖切換 滑動手風琴 全屏焦點圖 手風琴 水平手風琴 垂直手風琴 圖片手風琴 文字手風琴 手風琴插件 全屏切換 寬屏全屏 寬屏 全屏 頁面全屏 頁面寬屏 圖表 圖片 圖片插件 頭像截圖 圖片全屏 圖片切換 圖片選項卡 圖標選項卡 圖片切換 切換圖片
?
×
×

注冊

官方QQ群

掃描上面二維碼加微信群

官方QQ群

jQuery/js討論群
群號:642649996
Css3+Html5討論群
群號:322131262

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

老夫子电子