jquery3d輪播插件

jquery 旋轉(zhuǎn)木馬 banner切換 github源碼下載地址

實現(xiàn)原理

利用 css3 來實現(xiàn)動畫
當切換下一個元素(項目中的 li)時原在,所有元素使用它前一個元素的樣式,第一個元素用最后一個元素的樣式
反之 切換上一個盒子時抄腔,所有元素使用它后一個元素的樣式楞抡,最后一個元素用第一個元素的樣式

  1. 項目中有2d 和3d 輪播案例
  2. 樣式文件是用less寫的,請用支持less預(yù)編譯的ide運行析藕,或者自行編譯成css
    (如果你的電腦全局安裝了 less 執(zhí)行編譯命令 lessc slide.less slide.css)
  3. slide.js 支持自定義參數(shù) (請查看默認配置)
slide-3d.png

歡迎路過的同學(xué)提問及留言

默認配置

 $.fn.slideCarsousel.defaultSetting = {
        slideInterval :'slideInterval', // 定時器名稱
        isAutoChange :true, // true or false 是否自動播放
        direction : 5000, //  間隔時間
        callbackFunc:null, // 如果不為空召廷,會執(zhí)行該回調(diào)函數(shù)
        indicatorEvent:'click', // 指示器事件,支持 click or mouseover 
        slideType:'2d' //  輪播類型 2d 或者 3d
     }

在項目中使用

js部分
<script src="../js/slide-min.js"></script>
<script>
    $(function(){
        //3d
        $('#slide3d').slideCarsousel({slideType:'3d',indicatorEvent:'mouseover'});

        //2d
        var  sliderDescArr=[],i=0,len=10;
        for(;i<len;i++){
            sliderDescArr.push(new Array(10).join(''+i));
        }
        $('#sliderDesc').text(sliderDescArr[0]);
        $('#slide2d').slideCarsousel({callbackFunc:function(index){
            $('#sliderDesc1').text(sliderDescArr[index]);
        }});
    });
</script>

html 容器設(shè)置類樣式 slide-3d or slide-2d

html 部分
 <div id="slide2d" class="slide-carousel slide-2d">
            <ul  class="item-list clearfix">
                <li class="item0">
                    <div class="item-content">
                        <a href="javascript:void(0);">
                            ![](../image/banner1.jpg)
                        </a>
                    </div>
                </li>
                <li class="item1">
                    <div class="item-content">
                        <a href="javascript:void(0);">
                            ![](../image/banner2.jpg)
                        </a>
                    </div>
                </li>
                <li class="item2">
                    <div class="item-content">
                        <a href="javascript:void(0);">
                            ![](../image/banner3.jpg)
                        </a>
                    </div>
                </li>
                <li class="item3">
                    <div class="item-content">
                        <a href="javascript:void(0);">
                            ![](../image/banner4.jpg)
                        </a>
                    </div>
                </li>
                <li class="item4">
                    <div class="item-content">
                        <a href="javascript:void(0);">
                            ![](../image/banner5.jpg)
                        </a>
                    </div>
                </li>
                <li class="item5">
                    <div class="item-content">
                        <a href="javascript:void(0);">
                            ![](../image/banner6.jpg)
                        </a>
                    </div>
                </li>
                <li class="item6">
                    <div class="item-content">
                        <a href="javascript:void(0);">
                            ![](../image/banner7.jpg)
                        </a>
                    </div>
                </li>
                <li class="item7">
                    <div class="item-content">
                        <a href="javascript:void(0);">
                            ![](../image/banner8.jpg)
                        </a>
                    </div>
                </li>
                <li class="item8">
                    <div class="item-content">
                        <a href="javascript:void(0);">
                            ![](../image/banner9.jpg)
                        </a>
                    </div>
                </li>
                <li class="item9">
                    <div class="item-content">
                        <a href="javascript:void(0);">
                            ![](../image/banner10.jpg)
                        </a>
                    </div>
                </li>
            </ul>
            <!--indicators-->
            <div class="indicator-list">
                <a href="javascript:void(0);" data-slide-index="0" class="selected"></a>
                <a href="javascript:void(0);" data-slide-index="1"></a>
                <a href="javascript:void(0);" data-slide-index="2"></a>
                <a href="javascript:void(0);" data-slide-index="3"></a>
                <a href="javascript:void(0);" data-slide-index="4"></a>
                <a href="javascript:void(0);" data-slide-index="5"></a>
                <a href="javascript:void(0);" data-slide-index="6"></a>
                <a href="javascript:void(0);" data-slide-index="7"></a>
                <a href="javascript:void(0);" data-slide-index="8"></a>
                <a href="javascript:void(0);" data-slide-index="9"></a>
            </div>
            <!--controls-->
            <div class="controls">
                <a  class="item-prev glyphicon glyphicon-menu-left" href="javascript:void(0);"></a>
                <a  class="item-next glyphicon glyphicon-menu-right" href="javascript:void(0);"></a>
            </div>
            <!--desc-->
            <div class="desc">
                <a href=""><strong id="sliderDesc1"></strong></a>
            </div>
        </div>

輪播公共樣式(我這里用的是less)


.slide-carousel{width: 100%;height: 100%;position: relative;overflow: hidden;
  .item-list{position:relative;height: 100%;width:100%;overflow: hidden;
    li{
      .item-content{width:100%;height: 100%;
        a{display: block;width:100%;height: 100%;
          .cover-img{width:100%;height: 100%;}
        }
      }
    }
  }
  .indicator-list{position: absolute;bottom:20px;left:50%;margin-left: -63px;z-index: 100;
    a{display: inline-block;width: 12px;height: 12px;border: 2px solid #fff;border-radius:50%;overflow: hidden;background-color: #ccc;margin-left: 5px;
      &.selected{border-color: #ff6700;background-color: #5fff92;}
    }
  }
  .controls{opacity: 0;
    a{cursor: pointer;text-decoration: none;width:40px;height: 60px;position: absolute;background-color:rgba(0,0,0,0.2);color:#fff;font-size: 35px;padding-top: 25px;z-index: 2;
      &:hover{background-color:rgba(0,0,0,0.5);}
    }
    .item-prev{top:50%;left: 0;margin-top: -42px;}
    .item-next{top:50%;right: 0;margin-top: -42px;}
  }
  .desc{height: 72px;width:100%;position: absolute;bottom: 0;left: 0;background-color:rgba(0,0,0,0.6);z-index: 99;
    strong{color:#fff;font-size: 20px;line-height: 72px;margin-left: 20px;overflow: hidden;white-space: nowrap;text-overflow: ellipsis;}
  }
  &:hover .controls{opacity: 1;transition: opacity 0.5s ease;}
}
自定義樣式
@itemX-2d:1200px;
@itemX-3d:225px;
.itemDefault-3d(@translateX:@itemX-3d,@scale:0.8){
  transform: translate3d(@translateX, 0, 0) scale(@scale);
}
.itemDefault-2d(@translateX:@itemX-2d){
  transform: translateX(@translateX);
}

header .banner{width:1200px;height: 300px;margin: 100px auto 0;
  .slide-carousel{margin-bottom: 20px;}
  .slide-3d{
    .desc{display: none;}
    .item-list li{width:750px;height: 300px;transition: all 0.5s ease-out;opacity: 0;position: absolute;top:0;left: 0;
      &.item0{.itemDefault-3d(@itemX-3d*-1);}
      &.item1{ transform: translate3d(0, 0, 0) scale(0.8);transform-origin: 0 50%;opacity: 1;z-index: 2;}
      &.item2{ transform: translate3d(@itemX-3d, 0, 0) scale(1);transform-origin: 0 50%;opacity: 1;z-index: 3;}
      &.item3{ transform: translate3d(@itemX-3d*2, 0, 0) scale(0.8);transform-origin: 100% 50%;opacity: 1;z-index: 2;}
      &.item4{.itemDefault-3d(@itemX-3d*3);}
      &.item5{.itemDefault-3d(@itemX-3d*4);}
      &.item6{.itemDefault-3d(@itemX-3d*5);}
      &.item7{.itemDefault-3d(@itemX-3d*6);}
      &.item8{.itemDefault-3d(@itemX-3d*7);}
      &.item9{.itemDefault-3d(@itemX-3d*8);}
    }
  }
  .slide-2d .item-list li{width:1200px;height: 300px;transition: all 0.5s ease-out;position: absolute;top:0;left: 0;
    &.item0{.itemDefault-2d(@itemX-2d*-1);}
    &.item1{.itemDefault-2d(@itemX-2d*0);}
    &.item2{ .itemDefault-2d(@itemX-2d);}
    &.item3{.itemDefault-2d(@itemX-2d*2);}
    &.item4{.itemDefault-2d(@itemX-2d*3);}
    &.item5{.itemDefault-2d(@itemX-2d*4);}
    &.item6{.itemDefault-2d(@itemX-2d*5);}
    &.item7{.itemDefault-2d(@itemX-2d*6);}
    &.item8{.itemDefault-2d(@itemX-2d*7);}
    &.item9{.itemDefault-2d(@itemX-2d*8);}
  }
}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末账胧,一起剝皮案震驚了整個濱河市竞慢,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌治泥,老刑警劉巖筹煮,帶你破解...
    沈念sama閱讀 222,681評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異居夹,居然都是意外死亡败潦,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,205評論 3 399
  • 文/潘曉璐 我一進店門准脂,熙熙樓的掌柜王于貴愁眉苦臉地迎上來劫扒,“玉大人,你說我怎么就攤上這事狸膏」导ⅲ” “怎么了?”我有些...
    開封第一講書人閱讀 169,421評論 0 362
  • 文/不壞的土叔 我叫張陵湾戳,是天一觀的道長贤旷。 經(jīng)常有香客問我,道長砾脑,這世上最難降的妖魔是什么幼驶? 我笑而不...
    開封第一講書人閱讀 60,114評論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮拦止,結(jié)果婚禮上县遣,老公的妹妹穿的比我還像新娘。我一直安慰自己汹族,他們只是感情好萧求,可當我...
    茶點故事閱讀 69,116評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著顶瞒,像睡著了一般夸政。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上榴徐,一...
    開封第一講書人閱讀 52,713評論 1 312
  • 那天守问,我揣著相機與錄音匀归,去河邊找鬼。 笑死耗帕,一個胖子當著我的面吹牛穆端,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播仿便,決...
    沈念sama閱讀 41,170評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼体啰,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了嗽仪?” 一聲冷哼從身側(cè)響起荒勇,我...
    開封第一講書人閱讀 40,116評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎闻坚,沒想到半個月后沽翔,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,651評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡窿凤,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,714評論 3 342
  • 正文 我和宋清朗相戀三年仅偎,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片卷玉。...
    茶點故事閱讀 40,865評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡哨颂,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出相种,到底是詐尸還是另有隱情威恼,我是刑警寧澤,帶...
    沈念sama閱讀 36,527評論 5 351
  • 正文 年R本政府宣布寝并,位于F島的核電站箫措,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏衬潦。R本人自食惡果不足惜斤蔓,卻給世界環(huán)境...
    茶點故事閱讀 42,211評論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望镀岛。 院中可真熱鬧弦牡,春花似錦、人聲如沸漂羊。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,699評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽走越。三九已至椭豫,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背赏酥。 一陣腳步聲響...
    開封第一講書人閱讀 33,814評論 1 274
  • 我被黑心中介騙來泰國打工喳整, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人裸扶。 一個月前我還...
    沈念sama閱讀 49,299評論 3 379
  • 正文 我出身青樓框都,卻偏偏與公主長得像,于是被迫代替她去往敵國和親呵晨。 傳聞我的和親對象是個殘疾皇子瞬项,可洞房花燭夜當晚...
    茶點故事閱讀 45,870評論 2 361