jQuery實(shí)現(xiàn)碎片輪播效果
本文實(shí)例為大家分享了jQuery實(shí)現(xiàn)碎片輪播效果的具體代碼,供大家參考,具體內(nèi)容如下
一、效果圖
二、核心代碼
碎片輪播.html
<script src="js/suiBanner.js"></script>? <script> ? ? //實(shí)例化整個(gè)對(duì)象 ? ? var suiBanner=$('.box').initBanner({ ? ? ? ? imgs: ['images/1.jpg', 'images/2.jpg', 'images/3.jpg', 'images/4.jpg', 'images/5.jpg'], //圖片集合 必選 ? ? ? ? size: { ? ? ? ? ? ? width: 1000, ? ? ? ? ? ? height: 560 ? ? ? ? }, //容器的大小 可選 ? ? ? ? //行數(shù)與列數(shù) 可選 ? ? ? ? grid: { ? ? ? ? ? ? line: 15, ? ? ? ? ? ? list: 18 ? ? ? ? }, ? ? ? ? index: 0, //圖片集合的索引位置 可選 ? ? ? ? boxTime: 1500, //小方塊來(lái)回運(yùn)動(dòng)的時(shí)長(zhǎng) 可選 ? ? ? ? fnTime: 1000 //banner切換的時(shí)長(zhǎng) 可選 ? ? })? </script>?
suiBanner.js
function(){ ? ? var instance; ? ? $.fn.extend({ ? ? ? ? initBanner:function(setting){ ? ? ? ? ? ? if(!instance){ ? ? ? ? ? ? ? ? instance=new SuiBanner(); ? ? ? ? ? ? ? ? instance.option.container=$(this); ? ? ? ? ? ? ? ? instance.option= $.extend({},instance.option,setting); ? ? ? ? ? ? ? ? instance._init(); ? ? ? ? ? ? ? ? return instance; ? ? ? ? ? ? } ? ? ? ? } ? ? }); ? ? //碎片輪播的類(lèi) ? ? function SuiBanner(){ ? ? } ? ? //設(shè)置默認(rèn)配置 ? ? SuiBanner.prototype={ ? ? ? ? constructor:SuiBanner, ? ? ? ? option:{ ? ? ? ? ? ? container:null,//默認(rèn)的容器 ? ? ? ? ? ? imgs:[],//圖片集合必選 ? ? ? ? ? ? size:{ ? ? ? ? ? ? ? ? width:800, ? ? ? ? ? ? ? ? height:600 ? ? ? ? ? ? },//容器的大小,可選 ? ? ? ? ? ? grid:{ ? ? ? ? ? ? ? ? line:8, ? ? ? ? ? ? ? ? list:12 ? ? ? ? ? ? }, ? ? ? ? ? ? index:0,//圖片集合的索引位置,可選 ? ? ? ? ? ? boxTime:1000,//小方塊來(lái)回運(yùn)動(dòng)的時(shí)長(zhǎng),可選 ? ? ? ? ? ? fnTime:3000,//banner切換的時(shí)長(zhǎng),可選 ? ? ? ? ? ? sui:[],//碎片的集合 ? ? ? ? ? ? suiPos:[],//存儲(chǔ)碎塊的最終位置 ? ? ? ? ? ? timer:null,//接收計(jì)時(shí)器 ? ? ? ? }, ? ? ? ? _init:function(){ ? ? ? ? ? ? var that=this,opt=this.option; ? ? ? ? ? ? //初始化方法 ? ? ? ? ? ? //設(shè)置容器的樣式 ? ? ? ? ? ? if(opt.container){ ? ? ? ? ? ? ? ? opt.container.css({ ? ? ? ? ? ? ? ? ? ? width:opt.size.width, ? ? ? ? ? ? ? ? ? ? height:opt.size.height ? ? ? ? ? ? ? ? }); ? ? ? ? ? ? } ? ? ? ? ? ? //創(chuàng)建dom ? ? ? ? ? ? that.createDom(); ? ? ? ? ? ? //開(kāi)始動(dòng)畫(huà) ? ? ? ? ? ? that.start(); ? ? ? ? }, ? ? ? ? createDom:function(){ ? ? ? ? ? ? var that=this,opt=this.option; ? ? ? ? ? ? //創(chuàng)建dom元素 ? ? ? ? ? ? opt.itemImage=$("<div class='itemImage'></div>"); ? ? ? ? ? ? opt.imgs.forEach(function(img,index,arr){ ? ? ? ? ? ? ? ? var img=$("<img src='"+img+"'/>"); ? ? ? ? ? ? ? ? var aparent=$("<a href='#' style='z-index:"+(arr.length-index)+";'></a>"); ? ? ? ? ? ? ? ? aparent.append(img); ? ? ? ? ? ? ? ? opt.itemImage.append(aparent); ? ? ? ? ? ? }); ? ? ? ? ? ? opt.container.append(opt.itemImage); ? ? ? ? ? ? //創(chuàng)建一個(gè)碎片的容器 ? ? ? ? ? ? opt.suiItem=$("<div class='suiItem'></div>"); ? ? ? ? ? ? opt.container.append(opt.suiItem); ? ? ? ? ? ? //創(chuàng)建所有的碎片 ? ? ? ? ? ? var html=""; ? ? ? ? ? ? for(var i=0;i<opt.grid.line;i++){ ? ? ? ? ? ? ? ? for(var k=0;k<opt.grid.list;k++){ ? ? ? ? ? ? ? ? ? ? opt.suiPos.push([opt.size.width/opt.grid.list*k,opt.size.height/opt.grid.line*i]); ? ? ? ? ? ? ? ? ? ? html+="<div style='background-size: "+opt.size.width+"px "+opt.size.height+"px;width:"+opt.size.width/opt.grid.list+"px;height:"+opt.size.height/opt.grid.line+"px;'></div>"; ? ? ? ? ? ? ? ? } ? ? ? ? ? ? } ? ? ? ? ? ? opt.sui[0]=html; ? ? ? ? }, ? ? ? ? start:function(){ ? ? ? ? ? ? var that=this,opt=this.option; ? ? ? ? ? ? //開(kāi)始加載動(dòng)畫(huà) ? ? ? ? ? ? opt.suiItem.html(""); ? ? ? ? ? ? opt.itemImage.children().eq(opt.index).show().siblings().hide(); ? ? ? ? ? ? opt.timer=setTimeout(function(){ ? ? ? ? ? ? ? ? opt.index++; ? ? ? ? ? ? ? ? if(opt.index>=opt.imgs.length-1){ ? ? ? ? ? ? ? ? ? ? opt.index=0; ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? that.animation(); ? ? ? ? ? ? },opt.fnTime); ? ? ? ? }, ? ? ? ? animation:function(){ ? ? ? ? ? ? var that=this,opt=this.option; ? ? ? ? ? ? //設(shè)置小塊的隨機(jī)位置 ? ? ? ? ? ? opt.suiItem.html(opt.sui[0]).children().each(function(index){ ? ? ? ? ? ? ? ? //隨機(jī)自身的left、top ? ? ? ? ? ? ? ? var left=that.random(opt.size.width*2,opt.size.width/2); ? ? ? ? ? ? ? ? var top=that.random(opt.size.height*2,opt.size.height/2); ? ? ? ? ? ? ? ? $(this).css({ ? ? ? ? ? ? ? ? ? ? left:left, ? ? ? ? ? ? ? ? ? ? top:top, ? ? ? ? ? ? ? ? ? ? backgroundImage:'url('+opt.imgs[opt.index]+')', ? ? ? ? ? ? ? ? ? ? backgroundPosition:-opt.suiPos[index][0]+'px '+(-opt.suiPos[index][1])+'px' ? ? ? ? ? ? ? ? }).animate({ ? ? ? ? ? ? ? ? ? ? left:opt.suiPos[index][0], ? ? ? ? ? ? ? ? ? ? top:opt.suiPos[index][1] ? ? ? ? ? ? ? ? },opt.boxTime); ? ? ? ? ? ? }).last().queue(function(){ ? ? ? ? ? ? ? ? that.start(); ? ? ? ? ? ? ? ? $(this).dequeue(); ? ? ? ? ? ? }); ? ? ? ? }, ? ? ? ? random:function(s,e){ ? ? ? ? ? ? return Math.random()*s-e; ? ? ? ? } ? ? }? })();?
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 12款經(jīng)典的白富美型—jquery圖片輪播插件—前端開(kāi)發(fā)必備
- Jquery代碼實(shí)現(xiàn)圖片輪播效果(一)
- 原生js和jquery實(shí)現(xiàn)圖片輪播特效
- jQuery圖片輪播的具體實(shí)現(xiàn)
- 基于JQuery的實(shí)現(xiàn)圖片輪播效果(焦點(diǎn)圖)
- jquery實(shí)現(xiàn)定時(shí)自動(dòng)輪播特效
- 原生js和jquery實(shí)現(xiàn)圖片輪播淡入淡出效果
- jquery 實(shí)現(xiàn)輪播圖詳解及實(shí)例代碼
- 利用jquery寫(xiě)的左右輪播圖特效
- jQuery實(shí)現(xiàn)炸裂輪播效果
相關(guān)文章
為你的網(wǎng)站增加亮點(diǎn)的9款jQuery插件推薦
如今,jQuery插件眾多,滿足各種各樣的應(yīng)用需求。 在這篇文章中,我收集了9款很棒的插件,最喜歡的是Sausage內(nèi)容分頁(yè)插件,作者想法特別新穎!希望你能從中找到自己需要的插件。2011-05-05利用jquery制作滾動(dòng)到指定位置觸發(fā)動(dòng)畫(huà)
本文只是一個(gè)簡(jiǎn)單的演示程序,大家可以根據(jù)自己的需求進(jìn)行修改,以達(dá)到自己想要實(shí)現(xiàn)的功能。2016-03-03DIV隨滾動(dòng)條滾動(dòng)而滾動(dòng)的實(shí)現(xiàn)代碼【推薦】
下面小編就為大家?guī)?lái)一篇DIV隨滾動(dòng)條滾動(dòng)而滾動(dòng)實(shí)現(xiàn)代碼【推薦】。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-04-04EasySlider 基于jQuery功能強(qiáng)大簡(jiǎn)單易用的滑動(dòng)門(mén)插件
Easy Slider 是一個(gè)滑動(dòng)門(mén)插件,支持任何圖片或內(nèi)容,當(dāng)點(diǎn)擊時(shí)實(shí)現(xiàn)橫向或縱向滑動(dòng)。它擁有一系列豐富的參數(shù)設(shè)置,可通過(guò)CSS來(lái)進(jìn)行完全的控制。2010-06-06jquery Firefox3.5中操作select的問(wèn)題
不過(guò)最近安裝了FF3.5正式版,發(fā)現(xiàn)這種方法在它下面得不到值,就去看jquery的幫助文檔,在文檔中對(duì)select選中的引用是用如下方法2009-07-07關(guān)于query Javascript CSS Selector engine
本篇文章,小編將為大家介紹,關(guān)于query Javascript CSS Selector engine,有需要的朋友可以參考一下2013-04-04jQuery結(jié)合ajax實(shí)現(xiàn)動(dòng)態(tài)加載文本內(nèi)容
本文實(shí)例講述了jquery通過(guò)ajax加載一段文本內(nèi)容的方法。分享給大家供大家參考。這是一個(gè)簡(jiǎn)單的例子,注意編碼問(wèn)題,否則可能會(huì)出現(xiàn)亂碼。2015-05-05