1. 程式人生 > >一個簡單的VUE輪播圖示例

一個簡單的VUE輪播圖示例

之前教別人用vue寫輪播圖,寫了個例子,只供參考,請勿吐槽

引入vue.js我就不用說了,下面試輪播圖樣式

<style>
	*{padding:0;margin:0;}
	ul{ position:relative; overflow:hidden;}
	ul li{ list-style:none; position:absolute;right:-600px;opacity: 0;
 	-webkit-transition: all .8s ease-in-out;
 	-moz-transition: all .8s ease-in-out;
 	-o-transition: all .8s ease-in-out;}
	ol li{list-style:none;}
	#map{width:600px;height:300px; position:relative;}
	ul,ul li,ul li img{width:100%;height:100%;}
	.img-active{top:0;left:0;opacity: 1;}
	.slider-nav{ position:absolute; text-align:center; width:100%; bottom:20px;}
	.slider-nav  li {
	background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAQAAAAngNWGAAAAAmJLR0QA/4ePzL8AAAAJcEhZcwAAAEgAAABIAEbJaz4AAAAJdnBBZwAAABQAAAAUAKM7KtEAAADISURBVCjPjdI9T8JQFIDhp6cKTRz4mFpmFwz+//9hgk4YJ0sMJiKSlKVxwFo/Au07ndz7TPeeRFvI5SYytcrW2lrdXCbfLHfjyu/2HpTHMf3ic7cG/jYwk3pt4dy1U02FzREWFs41tfMRooPBQoRC1gkzs1B0MsjDuBcch2EvOIz27c8XDr3cIbz3gm/R/GVH61CqOlnlOdSWnXCpTrFzYXqGrTw227NxaXKCPbmngbzYGf3byL07q+OY/DgOhcJIhspWqWy/4xO4VSw4B3jzAwAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxNS0wOS0zMFQxNjowMTo1NyswODowMCbyI8YAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMTUtMDktMzBUMTY6MDE6NTcrMDg6MDBXr5t6AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAABJRU5ErkJggg==) no-repeat;
	width: 18px;
	height: 18px;
	border-radius: 11px;
	display: inline-block;
	padding: 2px;
	overflow: hidden;
	margin-left: 10px;
	cursor: pointer;
	font-size: 0px;
	line-height: 0px;
}
.slider-nav  li.slider-active {
	background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAQAAAAngNWGAAAAAmJLR0QA/4ePzL8AAAAJcEhZcwAAAEgAAABIAEbJaz4AAAAJdnBBZwAAABQAAAAUAKM7KtEAAAFdSURBVCjPfZK/TsJQFIe/cxNoY40KDLZuJg4WjXHAmOoTyOTkm+hL6LOoizG6C4uDgwiDJk4UBkERSGu114Eo+Kf9ppPcL+ck9/cTxihsbHKYxAS80KJF/PUooEeDTRGLnwyoa3+kKQARcdnA8jjOtnPv8+/z7dxx1gOLkrgi3xvFZSmjT8xyXibWaS67e0EP7nVdEMChlNE3M8Vp/tDor/Ui4RpfoViFU/M/DZanT0xgFaVwMD128iRQzntgsqBwYD8rSR7CfhawFXOwbZHCtgXMKQwoGGliwQAMNf77JD7iUWwhPIVpYjcCQkUPrgZpYnUIPCt8OHrTiZrmMARaCp+gwnknSTzvVCCgqYipwW5w1/9Pa/R3A6BGrEA3eYhkvXfW0b+OXnQ3XyPhQTe/2iOssAgeB8bWVMGIdeetOjwMKwCP3GotE8V1cNOKOxmywsFhFhMIeMHHH8fxCfqkeQDbcjvwAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDE1LTA5LTMwVDE2OjAxOjU3KzA4OjAwJvIjxgAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxNS0wOS0zMFQxNjowMTo1NyswODowMFevm3oAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAAAElFTkSuQmCC) no-repeat;
}

</style>

然後是頁面元素

<div id="map">
    	<ul>
            <li v-for="(index,item) in images" class="img-{{index}} {{index==Iindex?'img-active':''}}"><img v-bind:src="item"/></li>
        </ul>
        <ol class="slider-nav">
        	<li v-for="(index,item) in images" class='{{index==Iindex?"slider-active":""}}' v-on:mouseenter='sliderMove' v-on:mouseleave='sliderOut' :data-id='index'></li>
        </ol>
    </div>

接下來看我們的js部分

var app = new Vue({
	  el: '#map',
	  data: {
		images:["https://img.alicdn.com/imgextra/i3/113/TB2o18uzUhnpuFjSZFpXXcpuXXa_!!113-0-luban.jpg_q100.jpg",
				 "https://aecpm.alicdn.com/simba/img/TB1W4nPJFXXXXbSXpXXSutbFXXX.jpg",
				 "https://img.alicdn.com/tps/i4/TB1vHgyRVXXXXbJaXXXSutbFXXX.jpg",
				 "https://img.alicdn.com/tfs/TB17RX4SXXXXXakXFXXXXXXXXXX-1130-500.jpg_q100.jpg",
				 "https://img.alicdn.com/imgextra/i2/133/TB2N_0XzHJmpuFjSZFwXXaE4VXa_!!133-0-luban.jpg_q100.jpg",
				 "https://aecpm.alicdn.com/simba/img/TB1_JXrLVXXXXbZXVXXSutbFXXX.jpg"],
		Zindex:1,
		Iindex:0,
		isMove:false
	  } ,
	  methods: {
		sliderMove:function(obj){
			var nowIndex=obj.target.attributes[1].value;
			this.Iindex=nowIndex;
			this.isMove=true;
		},
		sliderOut:function(obj){
			this.isMove=false;
		}
	  },
	  created:function(){
		  var that=this;
		  setInterval(function(){
			var length= that.images.length;
			if(!that.isMove){
				if(that.Iindex==length-1){
					that.Iindex=0;	
				}else{
					that.Iindex=parseInt(that.Iindex)+1;	
				}
		 	}
		  },2000);
	  }
	})

相關推薦

一個簡單VUE示例

之前教別人用vue寫輪播圖,寫了個例子,只供參考,請勿吐槽引入vue.js我就不用說了,下面試輪播圖樣式<style> *{padding:0;margin:0;} ul{ position:relative; overflow:hidden;} ul li

JS實現一個簡單

主要程式碼如下: <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" conte

Bootstrap寫出一個簡單

輪播圖:1.建立一個div把輪播圖裝起來,然後class裡面寫.carousel .slide 然後隨便建立一個id #banner;再次添加個屬性data-ride="carousel"<div class="carousel slide" id=" banner"&

vue2.0實現一個簡單

因為之前一直在忙公司的專案,vue這塊就生疏了不少,正好借這個小demo複習下vue的知識。 先來個效果圖: 如圖所示,實現的就是一個間隔2.5s自動向左切換下一張的輪播圖,同時滑鼠移入停止輪播,移出回覆輪播; 而下方按鈕會根據當前圖片自動變紅且可以手動控制當前圖片

Vue實現一個簡單效果

Vue實現簡單的輪播效果,用的的一些常用系統指令: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" conte

vue練習demo 實現簡單,方法簡單快捷,使用到transition-group標籤增加使用者體驗 以及vue中的class與style繫結

結構程式碼:      <div class="slider"> <div class="slidershow"> <!-- <transition-group tag="ul">

簡單代碼

jpg ul li hidden ext div ngs obj script proto <html> <script type="text/javascript" src="./jquery.min.js"></script> <

jQuery實現簡單

jQuery先看效果,如果是你想要的,可以看看總體思路: 1.自動輪播2.指定輪播3.左右翻動 詳細步驟:jQuery部分 設置第一張圖片顯示,其他的兄弟元素隱藏 自動輪播的時候,指定第一張的索引為 i=0,然後 i++, 使其對應的 i 索引的圖片顯示,其他的隱藏,當 i=5(即第六張圖片的時候,使其為

vue插件vue-awesome-swiper的使用與組件化

css 對象類型 輪播 單獨 文件 ima some nbsp cnpm 不管是APP還是移動端網頁開發,輪播圖在大部分項目當中都是存在的,這時候如果用vue開發項目,選擇一款好的插件並且封裝好是很重要的 1. 推薦使用vue-awesome-swiper 安裝:cnpm

vue報錯 Uncaught RangeError: Maximum call stack size exceeded 附完整實現程式碼

Vue初學者,寫專案實現輪播圖時報錯且頁面初始化後不會自動輪播。 設定的計時器時長是6000,但報錯是幾乎沒有停歇的報錯。 檢查核心程式碼,發現 錯誤一:這裡導致輪播圖初始化不輪播 mounted的方法寫在了methods裡面,將mounted的方法挪出,解決頁面初始化輪播圖不

簡單實現

需求:每隔2秒切換一張圖片的效果 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>輪播圖</title>

原生JS實現一個完整的

<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=d

vue --

輪播圖,可以使用mint-ui中的swipe   HTML: <Swipe :auto="4000">   <SwipeItem v-for="item in slideitem">     <img :src="item.

如何用js做簡單

在網頁中我們經常會見到各式各樣美觀的輪播圖效果,如何用JS的DOM操作來實現輪播圖效果? 新建一個HTML檔案,並準備幾張圖片作為輪播圖 頁面中有4項內容:輪播圖,兩個按鈕“上一張“下一站張””,縮圖 功能:點選“上一張”或“下一張”可以切換當前輪播圖的圖片, 滑鼠懸停在輪播圖上回停止輪播,移開後輪播

js之簡單

對js一直有種恐懼感,總感覺他很難,甚至不敢試著自己寫一段完整的js程式碼,但看別人寫的也能看懂,這就很難受了。 今天就想簡單總結一下關於輪播圖的js程式碼,說明較多一點,主要是讓自己可以更好地掌握理解,以後也能夠熟練地運用而不是每次都去搜索別人的程式碼。

vue外掛之vue-awesome-swiper

移動端輪播圖外掛,在使用iview圖形介面外掛中的carousel元件無法實現觸控滑動後,轉而使用vue-awesome-swiper外掛 1.npm安裝 npm i vue-awesome-swiper -S 我這裡安裝的是下面的這個版本 2.使用 全域性匯入:

vue 插件 Vue-Awesome-Swiper

mic targe swiper blank som wip 地址 http github Vue-Awesome-Swiper GitHub地址:https://github.com/surmon-china/vue-awesome-swiper vue 輪播圖插件

一個JS外掛——

開發外掛,本人這裡採用的是模組化開發方式(Module),確保記憶體中只有一個物件引用,這樣可以節省記憶體,也可以使程式碼簡潔高效。 // 這裡採用()()這種自呼叫函式,形成閉包,內部函式是一個匿名函式,防止外掛使用者定義函式與外掛衝突。 (function(){ "use stri

簡單(單張顯示,無特效)

HTML: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> <

一個好玩的

首先這是轉載 官方地址: https://github.com/pinguo-zhouwei/MZBannerView 效果 下面是對一些能力較弱的程式猿們的步驟和坑 搭建環境: 1.根目錄 allprojects { repositories { //