web前端入門到實戰:簡單的圖片輪播
效果:
功能:
1、左右箭頭切換
2、狀態控制點切換
3、滑鼠懸念
4、自動輪播
HTML:
<div class="zh-carousel"> <div class="zh-img-list"> <ul> <li> <a href="###"> <img src="images/img-demo02.jpg" alt=""> <span class="zh-desc">廣西南寧低價供應各種地被、綠化苗木等</span> </a> </li> <li> <a href="###"> <img src="images/img-demo02-1.jpg" alt=""> <span class="zh-desc">廣西南寧低價供應各種地被、綠化苗木等</span> </a> </li> <li> <a href="###"> <img src="images/img-demo02-2.jpg" alt=""> <span class="zh-desc">廣西南寧低價供應各種地被、綠化苗木等</span> </a> </li> </ul> </div> </div> web前端開發學習Q-q-u-n: 731771211,分享學習的方法和需要注意的小細節,不停更新最新的教程和學習方法(詳細的前端專案實戰教學影片,PDF)
CSS:
.zh-carousel{position: relative;width: 100%;height: 246px;} .zh-carousel .zh-img-list{position: relative;z-index: 2;width: 100%;height: 100%;overflow: hidden;} .zh-carousel .zh-img-list ul{height: 100%;} .zh-carousel .zh-img-list li{position: absolute;z-index: 0;left: 0;top: 0;width: 100%;height: 100%;} .zh-carousel .zh-img-list .active{z-index: 1;} .zh-carousel .zh-img-list li a{display: block;position: relative;height: 100%;} .zh-carousel .zh-img-list li img{display: block;width: 100%;height: 100%;opacity: 0;filter:Alpha(opacity=0);-webkit-transition: all .5s ease-out;transition: all .5s ease-out;} .zh-carousel .zh-img-list .active img{opacity: 1;filter:Alpha(opacity=100);} .zh-carousel .zh-img-list li .zh-desc{display: block;position: absolute;z-index: 3;left: 0;bottom: -36px;width: 100%;padding: 10px 15px;box-sizing: border-box;background-color: rgba(0,0,0,0.5);font-size: 14px;color: #fff;-webkit-transition: all .5s ease-out;transition: all .5s ease-out;white-space: nowrap;text-overflow: ellipsis;overflow: hidden;} .zh-carousel .zh-img-list .active .zh-desc{bottom: 0;} .zh-carousel .zh-status-list{position: absolute;z-index: 4;left: 0;top: 0;width: 100%;padding: 10px 15px;box-sizing: border-box;text-align: right;} .zh-carousel .zh-status-list li{display: inline-block;width: 10px;height: 10px;margin-left: 5px;background-color: #fff;border: 1px solid #ddd;cursor: pointer;} .zh-carousel .zh-status-list .active{background-color: #FFD8C6;border: 1px solid #ED713D;} .zh-carousel .zh-prev, .zh-carousel .zh-next{display: inline-block;position: absolute;z-index: 4;top: 50%;-webkit-transform: translate(0, -50%);transform: translate(0, -50%);width: 20px;height: 30px;background-color: rgba(0,0,0,0.5);font-family: "SimSun";font-size: 18px;font-weight: bold;color: #fff;text-align: center;line-height: 30px;cursor: pointer;} .zh-carousel .zh-prev:hover, .zh-carousel .zh-next:hover {background-color: rgba(0,0,0,0.75);} .zh-carousel .zh-prev{left: 0;} .zh-carousel .zh-next{right: 0;} web前端開發學習Q-q-u-n: 731771211,分享學習的方法和需要注意的小細節,不停更新最新的教程和學習方法(詳細的前端專案實戰教學影片,PDF)
JS:
$.extend({ /* 圖片輪播 @param options object (配置項) */ carousel: function(options) { var defaults = { box: '.zh-carousel', // 盒子 listBox: '.zh-img-list', // 列表框 stateBox: '.zh-status-list', // 狀態框 prev: '.zh-prev', // 上一個 next: '.zh-next', // 下一個 time: 2000 // 動畫時間 } var conf = $.extend({}, defaults, options); // 給第一個新增狀態 $(conf.box).find(conf.listBox).find('li:first').addClass('active'); // 獲取圖片的數量 var liNum = $(conf.box).find(conf.listBox).find('li').size(); // 新增狀態列表 var statusList = '<ul class="zh-status-list">'; for(var i=0; i<liNum; i++) { if(i == 0) { statusList += '<li class="active"></li>'; } else { statusList += '<li></li>'; } } statusList += '</ul>'; $(conf.box).append(statusList); // 新增左右按鈕 var btns = '<span class="zh-prev" type="button"><</span><span class="zh-next" type="button">></span>'; $(conf.box).append(btns); // 索引 var index = 0; // 切換函式 function switchFunc(curIndex) { index++; if(index > liNum - 1) { index = 0; } $(conf.box).find(conf.stateBox).find('li').eq(index).addClass('active').siblings().removeClass('active'); $(conf.box).find(conf.listBox).find('li').eq(index).addClass('active').siblings().removeClass('active'); } // 自動播放 var autoPlay = setInterval(function() { switchFunc(index); }, conf.time); // 滑鼠懸停 $(conf.box).find(conf.listBox).mouseover(function() { clearInterval(autoPlay); }).mouseout(function() { autoPlay = setInterval(function() { switchFunc(index); }, conf.time); }); // 控制點 $(conf.box).find(conf.stateBox).find('li').mouseover(function() { clearInterval(autoPlay); }).mouseout(function() { autoPlay = setInterval(function() { switchFunc(index); }, conf.time); }).click(function() { $(this).addClass('active').siblings().removeClass('active'); $(conf.box).find(conf.listBox).find('li').eq($(this).index()).addClass('active').siblings().removeClass('active'); index = $(this).index(); }); // 點選左箭頭 $(conf.box).find(conf.prev).mouseover(function() { clearInterval(autoPlay); }).mouseout(function() { autoPlay = setInterval(function() { switchFunc(index); }, conf.time); }).click(function() { index--; if(index < 0) { index = liNum - 1; } $(conf.box).find(conf.stateBox).find('li').eq(index).addClass('active').siblings().removeClass('active'); $(conf.box).find(conf.listBox).find('li').eq(index).addClass('active').siblings().removeClass('active'); }); // 點選右箭頭 $(conf.box).find(conf.next).mouseover(function() { clearInterval(autoPlay); }).mouseout(function() { autoPlay = setInterval(function() { switchFunc(index); }, conf.time); }).click(function() { index++; if(index > liNum-1) { index = 0; } $(conf.box).find(conf.stateBox).find('li').eq(index).addClass('active').siblings().removeClass('active'); $(conf.box).find(conf.listBox).find('li').eq(index).addClass('active').siblings().removeClass('active'); }); } }); // 呼叫 $.carousel();
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69901074/viewspace-2673210/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 實現簡單的輪播圖(單張圖片、多張圖片)
- web前端入門到實戰:非同步載入CSS最簡單的實現方式Web前端非同步CSS
- web前端入門到實戰:好用的Js圖表庫Web前端JS
- 安卓之viewPager簡單用法圖片輪播安卓Viewpager
- web前端入門到實戰:Js代理模式Web前端JS模式
- android圖片輪播效果,RollViewPager的簡單使用AndroidViewpager
- web前端入門到實戰:css騷操作之表單驗證Web前端CSS
- 圖片輪播元件實現元件
- (轉)jquery實現圖片輪播jQuery
- java學習---前端---使用JavaScript和jQuery實現圖片輪播圖前端JavaScriptjQuery
- web前端入門到實戰:css滑鼠經過彈出子選單特效Web前端CSS特效
- web前端入門到實戰:HTML元素巢狀問題Web前端HTML巢狀
- jQuery Mobile圖片輪轉輪播jQuery
- 圖片輪播--純cssCSS
- web前端入門到實戰:css3 實現大轉盤Web前端CSSS3
- web前端入門到實戰:擼兩個天氣小程式Web前端
- web前端入門到實戰:常用網頁元素命名規範Web前端網頁
- 利用回撥函式實現簡單的輪播圖效果函式
- asp.net載入新浪方式的圖片輪播ASP.NET
- 文字輪播與圖片輪播?CSS 不在話下CSS
- 【jquery前端開發】可調整的幻燈片(圖片輪播)薦jQuery前端
- Vue封裝Swiper實現圖片輪播Vue封裝
- 用原生js實現圖片輪播器JS
- 高效圖片輪播,兩個ImageView實現View
- web前端入門到實戰:H5-canvas實現粒子時鐘Web前端H5Canvas
- iOS無限輪播圖片iOS
- iOS開發專案實戰——Swift實現圖片輪播與瀏覽iOSSwift
- web前端入門到實戰:30行前端程式碼實現任意文字轉粒子Web前端
- 造輪子之圖片輪播元件(swiper)元件
- web前端入門到實戰:js擷取字串相關的知識點Web前端JS字串
- web前端入門到實戰:JS中new操作符原始碼實現Web前端JS原始碼
- JQuery實現圖片輪播無縫滾動jQuery
- 短視訊軟體開發,實現簡單的輪播圖效果
- Android 和 iOS 圖片輪播AndroidiOS
- 一個基於Vue的圖片輪播元件的實現Vue元件
- jQuery實現3D圖片輪播詳解jQuery3D
- 用原生JS實現 圖片輪播切換 功能JS
- web前端入門到實戰:CSS 層疊上下文(Stacking Context)Web前端CSSContext