使用jQuery仿蘋果官網(wǎng)焦點(diǎn)圖特效
這次我們要分享的這款jQuery焦點(diǎn)圖非常特別,它的外觀特別簡單,但是又相當(dāng)大氣。焦點(diǎn)圖的整體樣式是仿蘋果樣式的,由于jQuery的運(yùn)用,我們只要點(diǎn)擊圖片下方的縮略圖即可達(dá)到圖片切換的焦點(diǎn)圖特效,這款jQuery焦點(diǎn)圖插件非常適合在產(chǎn)片展示的網(wǎng)頁上使用。

接下來我們一起分享一下實(shí)現(xiàn)這款蘋果焦點(diǎn)圖的過程及源碼。
HTML代碼:
<div id="gallery">
<div id="slides" style="width: 3680px; margin-left: 0px;">
<div class="slide"><img width="920" height="400" alt="side" src="img/sample_slides/macbook.jpg"></div>
<div class="slide"><img width="920" height="400" alt="side" src="img/sample_slides/iphone.jpg"></div>
<div class="slide"><img width="920" height="400" alt="side" src="img/sample_slides/imac.jpg"></div>
<div class="slide"><a target="_blank" href=" width="920" height="400" alt="side" src="img/sample_slides/info.jpg"></a></div>
</div>
<div id="menu">
<ul>
<li class="fbar inact"> </li><li class="menuItem inact act"><a href=""><img alt="thumbnail" src="img/sample_slides/thumb_macbook.png"></a></li><li class="menuItem inact"><a href=""><img alt="thumbnail" src="img/sample_slides/thumb_iphone.png"></a></li><li class="menuItem inact"><a href=""><img alt="thumbnail" src="img/sample_slides/thumb_imac.png"></a></li><li class="menuItem inact"><a href=""><img alt="thumbnail" src="img/sample_slides/thumb_about.png"></a></li>
</ul>
</div>
</div>
從以上HTML代碼可以看出,整個(gè)焦點(diǎn)圖由一些div構(gòu)成圖片容器,用ul li列表構(gòu)成下面的縮略圖。
CSS代碼:
#gallery{
/* CSS3 Box Shadow */
-moz-box-shadow:0 0 3px #AAAAAA;
-webkit-box-shadow:0 0 3px #AAAAAA;
box-shadow:0 0 3px #AAAAAA;
/* CSS3 Rounded Corners */
-moz-border-radius-bottomleft:4px;
-webkit-border-bottom-left-radius:4px;
border-bottom-left-radius:4px;
-moz-border-radius-bottomright:4px;
-webkit-border-bottom-right-radius:4px;
border-bottom-right-radius:4px;
border:1px solid white;
background:url(img/panel.jpg) repeat-x bottom center #ffffff;
/* The width of the gallery */
width:920px;
overflow:hidden;
}
#slides{
/* This is the slide area */
height:400px;
/* jQuery changes the width later on to the sum of the widths of all the slides. */
width:920px;
overflow:hidden;
}
.slide{
float:left;
}
#menu{
/* This is the container for the thumbnails */
height:45px;
}
ul{
margin:0px;
padding:0px;
}
li{
/* Every thumbnail is a li element */
width:60px;
display:inline-block;
list-style:none;
height:45px;
overflow:hidden;
}
li.inact:hover{
/* The inactive state, highlighted on mouse over */
background:url(img/pic_bg.png) repeat;
}
li.act,li.act:hover{
/* The active state of the thumb */
background:url(img/active_bg.png) no-repeat;
}
li.act a{
cursor:default;
}
.fbar{
/* The left-most vertical bar, next to the first thumbnail */
width:2px;
background:url(img/divider.png) no-repeat right;
}
li a{
display:block;
background:url(img/divider.png) no-repeat right;
height:35px;
padding-top:10px;
}
a img{
border:none;
}
CSS代碼也非常簡單,都是一些簡單設(shè)置而已。
jQuery代碼:
$(document).ready(function(){
/* This code is executed after the DOM has been completely loaded */
var totWidth=0;
var positions = new Array();
$('#slides .slide').each(function(i){
/* Traverse through all the slides and store their accumulative widths in totWidth */
positions[i]= totWidth;
totWidth += $(this).width();
/* The positions array contains each slide's commulutative offset from the left part of the container */
if(!$(this).width())
{
alert("Please, fill in width & height for all your images!");
return false;
}
});
$('#slides').width(totWidth);
/* Change the cotnainer div's width to the exact width of all the slides combined */
$('#menu ul li a').click(function(e,keepScroll){
/* On a thumbnail click */
$('li.menuItem').removeClass('act').addClass('inact');
$(this).parent().addClass('act');
var pos = $(this).parent().prevAll('.menuItem').length;
$('#slides').stop().animate({marginLeft:-positions[pos]+'px'},450);
/* Start the sliding animation */
e.preventDefault();
/* Prevent the default action of the link */
// Stopping the auto-advance if an icon has been clicked:
if(!keepScroll) clearInterval(itvl);
});
$('#menu ul li.menuItem:first').addClass('act').siblings().addClass('inact');
/* On page load, mark the first thumbnail as active */
/*****
*
* Enabling auto-advance.
*
****/
var current=1;
function autoAdvance()
{
if(current==-1) return false;
$('#menu ul li a').eq(current%$('#menu ul li a').length).trigger('click',[true]); // [true] will be passed as the keepScroll parameter of the click function on line 28
current++;
}
// The number of seconds that the slider will auto-advance in:
var changeEvery = 10;
var itvl = setInterval(function(){autoAdvance()},changeEvery*1000);
/* End of customizations */
});
這是焦點(diǎn)圖的重點(diǎn),完成了圖片滑塊的動畫邏輯,點(diǎn)擊縮略圖即可切換圖片。
- jQuery的圖片滑塊焦點(diǎn)圖插件整理推薦
- 基于jQuery實(shí)現(xiàn)的圖片切換焦點(diǎn)圖整理
- jQuery實(shí)現(xiàn)的圖片分組切換焦點(diǎn)圖插件
- jQuery插件bxSlider實(shí)現(xiàn)響應(yīng)式焦點(diǎn)圖
- jquery實(shí)現(xiàn)多屏多圖焦點(diǎn)圖切換特效的方法
- JavaScript圖片輪播代碼分享
- jQuery左側(cè)大圖右側(cè)小圖焦點(diǎn)圖幻燈切換代碼分享
- jQuery左右滾動支持圖片放大縮略圖圖片輪播代碼分享
- jQuery焦點(diǎn)圖輪播特效代碼分享(3款)
- jQuery右側(cè)選項(xiàng)卡焦點(diǎn)圖片輪播特效代碼分享
- jquery京東商城雙11焦點(diǎn)圖多圖廣告特效代碼分享
相關(guān)文章
jQuery中each和js中forEach的區(qū)別分析
這篇文章主要介紹了jQuery中each和js中forEach的區(qū)別,結(jié)合實(shí)例形式較為詳細(xì)的分析了jQuery中each和js中forEach針對數(shù)組與對象遍歷的相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下2019-02-02
jquery 表單進(jìn)行客戶端驗(yàn)證demo
用jquery對表單進(jìn)行客戶端驗(yàn)證demo ,學(xué)習(xí)jquery的朋友可以參考下。2009-08-08
jQuery實(shí)現(xiàn)點(diǎn)擊文本框彈出熱門標(biāo)簽的提示效果
點(diǎn)擊文本框彈出熱門標(biāo)簽的效果實(shí)現(xiàn)方法有很多,在本文為大家詳細(xì)介紹下使用jQuery是如何實(shí)現(xiàn)的,感興趣的朋友不要錯(cuò)過2013-11-11
jquery 關(guān)于event.target使用的幾點(diǎn)說明介紹
本篇文章介紹了,jquery中關(guān)于event.target使用的幾點(diǎn)說明。需要的朋友參考下2013-04-04
jQuery實(shí)現(xiàn)原理的模擬代碼 -6 代碼下載
前幾篇文章中的示例代碼,去掉了幾個(gè) bug, 這里一起提供下載。2010-08-08
jquery dataTable 后臺加載數(shù)據(jù)并分頁實(shí)例代碼
本篇文章主要介紹了jquery dataTable 后臺加載數(shù)據(jù)并分頁實(shí)例代碼,具有一定的參考價(jià)值,有興趣的可以了解一下2017-06-06
JQuery搜索框自動補(bǔ)全(模糊匹配)功能實(shí)現(xiàn)示例
這篇文章主要介紹了JQuery搜索框自動補(bǔ)全(模糊匹配)功能實(shí)現(xiàn)示例沒使用JQuery UI的autocomplete插件,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-01-01

