利用JS實現相冊帶縮略圖平滑滾動切換特效



42 164 55



特效描述:利用JS實現 相冊帶縮略圖 平滑滾動切換,利用JS實現相冊帶縮略圖平滑滾動切換特效

代碼結構

1. 引入CSS

<link rel="stylesheet" type="text/css" href="css/style.css" />

2. HTML代碼

<br>
<div class="mod18Box">
<div class="mod18">
	<span id="prev" class="btn prev"></span>
	<span id="next" class="btn next"></span>
	<span id="prevTop" class="btn prev"></span>
	<span id="nextTop" class="btn next"></span>
	<div id="picBox" class="picBox">
		<ul class="cf">
			<li>
				<a href="http://51qianduan.com/" target="_blank"><img width="680" height="380" src="images/01.jpg" alt="" /></a>
				<span>網頁素材-心形高清壁紙</span>
			</li>
			<li>
				<a href="http://51qianduan.com/" target="_blank" ><img width="680" height="380" src="images/02.jpg" alt="" /></a>
				<span>字體變形logo創意欣賞,7款logo字體設計。</span>
			</li>
			<li>
				<a href="http://51qianduan.com/" target="_blank"><img width="680" height="380" src="images/03.jpg" alt="" /></a>
				<span>logo設計之獵豹國外Logo欣賞,越來靈感源于自然。</span> 
			</li>
			<li>
				<a href="http://51qianduan.com/" target="_blank"><img width="680" height="380" src="images/04.jpg" alt="" /></a>
				<span>不用javaScript也能做出絢麗多彩的動畫按鈕。網頁制作必備素材!</span> 
			</li>
			<li>
				<a href="http://51qianduan.com/" target="_blank"><img width="680" height="380" src="images/05.jpg" alt="" /></a>
				<span>HTML5酷炫相冊集,一個非常棒的HTML5相冊,有膠卷的感覺,上下滾動鼠標進行圖片切換。</span> 
			</li>
			<li>
				<a href="http://51qianduan.com/" target="_blank"><img width="680" height="380" src="images/06.jpg" alt="" /></a>
				<span>CSS3模擬書簽導航,此特效提供5種展示方式。</span>
			</li>
			<li>
				<a href="http://51qianduan.com/" target="_blank"><img width="680" height="380" src="images/07.jpg" alt="" /></a>
				<span>一款酷炫電池設計PSD分層素材,該素材帶有詳細的分層,學習制作app圖標的好案例。 </span> 
			</li>
			<li>
				<a href="http://51qianduan.com/" target="_blank"><img width="680" height="380" src="images/08.jpg" alt="" /></a>
				<span>紅色禮品蝴蝶結矢量eps素材,金典實用禮品設計、包裝設計、節日活動設計必備素材。</span>
			</li>
		</ul>
	</div>
	<div id="listBox" class="listBox">
		<ul class="cf">
			<li class="on"><i class="arr2"></i><img width="118" height="64" src="images/01s.jpg" alt="心壁紙" /></li>
			<li><i class="arr2"></i><img width="118" height="64" src="images/02s.jpg" alt="logo設計" /></li>
			<li><i class="arr2"></i><img width="118" height="64" src="images/03s.jpg" alt="獵豹logo" /></li>
			<li><i class="arr2"></i><img width="118" height="64" src="images/04s.jpg" alt="CSS3按鈕" /></li>
			<li><i class="arr2"></i><img width="118" height="64" src="images/05s.jpg" alt="CSS3相冊" /></li>
			<li><i class="arr2"></i><img width="118" height="64" src="images/06s.jpg" alt="CSS3動畫" /></li>
			<li><i class="arr2"></i><img width="118" height="64" src="images/07s.jpg" alt="PSD電池素材" /></li>
			<li><i class="arr2"></i><img width="118" height="64" src="images/08s.jpg" alt="蝴蝶結素材" /></li>
		</ul>
	</div>
</div>
<script type="text/javascript">
<!--
(function(){
	function G(s){
		return document.getElementById(s);
	}
	function getStyle(obj, attr){
		if(obj.currentStyle){
			return obj.currentStyle[attr];
		}else{
			return getComputedStyle(obj, false)[attr];
		}
	}
	function Animate(obj, json){
		if(obj.timer){
			clearInterval(obj.timer);
		}
		obj.timer = setInterval(function(){
			for(var attr in json){
				var iCur = parseInt(getStyle(obj, attr));
				iCur = iCur ? iCur : 0;
				var iSpeed = (json[attr] - iCur) / 5;
				iSpeed = iSpeed > 0 ? Math.ceil(iSpeed) : Math.floor(iSpeed);
				obj.style[attr] = iCur + iSpeed + 'px';
				if(iCur == json[attr]){
					clearInterval(obj.timer);
				}
			}
		}, 30);
	}
	var oPic = G("picBox");
	var oList = G("listBox");
	var oPrev = G("prev");
	var oNext = G("next");
	var oPrevTop = G("prevTop");
	var oNextTop = G("nextTop");
	var oPicLi = oPic.getElementsByTagName("li");
	var oListLi = oList.getElementsByTagName("li");
	var len1 = oPicLi.length;
	var len2 = oListLi.length;
	var oPicUl = oPic.getElementsByTagName("ul")[0];
	var oListUl = oList.getElementsByTagName("ul")[0];
	var w1 = oPicLi[0].offsetWidth;
	var w2 = oListLi[0].offsetWidth;
	oPicUl.style.width = w1 * len1 + "px";
	oListUl.style.width = w2 * len2 + "px";
	var index = 0;
	var num = 5;
	var num2 = Math.ceil(num / 2);
	function Change(){
		Animate(oPicUl, {left: - index * w1});
		if(index < num2){
			Animate(oListUl, {left: 0});
		}else if(index + num2 <= len2){
			Animate(oListUl, {left: - (index - num2 + 1) * w2});
		}else{
			Animate(oListUl, {left: - (len2 - num) * w2});
		}
		for (var i = 0; i < len2; i++) {
			oListLi[i].className = "";
			if(i == index){
				oListLi[i].className = "on";
			}
		}
	}
	oNextTop.onclick = oNext.onclick = function(){
		index ++;
		index = index == len2 ? 0 : index;
		Change();
	}
	oPrevTop.onclick = oPrev.onclick = function(){
		index --;
		index = index == -1 ? len2 -1 : index;
		Change();
	}
	for (var i = 0; i < len2; i++) {
		oListLi[i].index = i;
		oListLi[i].onclick = function(){
			index = this.index;
			Change();
		}
	}
})()
//-->
</script>
</div>
<!--效果html結束-->
</div>
<div style="text-align:center;margin:50px 0; font:normal 14px/24px 'MicroSoft YaHei';">
</div>



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


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

注冊

官方QQ群

掃描上面二維碼加微信群

官方QQ群

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

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

老夫子电子