1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 6 <meta http-equiv="X-UA-Compatible" content="ie=edge"> 7 <title></title> 8 <style> 9 ul{ 10 list-style: none; 11 overflow: hidden; 12 display: inline-block 13 } 14 ul .img_li{ 15 width: 50px; 16 height: 50px; 17 float: left; 18 background-color:aquamarine; 19 margin: 0px,10px; 20 text-align: center; 21 color: aliceblue; 22 } 23 </style> 24 <body> 25 26 27 <!-- 28 标签里面是需要加{} 29 而属性里面是不需要加的,直接是“”就可以取到相对应的值出来 30 31 --> 32 <div id="img_div" class="app01"> 33 <h1>{{msg}}</h1> 34 <div> 35 36 37 <!-- //:就是绑定src,@就是实时监听,这个是for循环,后面是加索引值,循环到哪一个图片 --> 38 <img :src='imgsrc' @mouseenter='closeTimer' @mouseleave='openTimer'> 39 <!-- 当鼠标在这个图片里面的话,这个就停止,当鼠标移除的时候,这个就开启图片轮播,enter。leave,进入,离开,鼠标进入,离开 --> 40 <!--下面的for循环放在li里面也可以,放在ul里面有可以--> 41 <ul v-for="(item,i) in items " > 42 <li class="img_li" v-on:click='changepic(item)'> 43 <!--这个里面的item可以传进去的,click事件是可以传参加进去的--> 44 {{i}} 45 </li> 46 </ul> 47 <button @click='pre_pic()'>上一张</button> 48 <button @click='next_pic()'>下一张</button> 49 </div> 50 </div> 51 </div> 52 53 54 55 56 57 58 <script type="text/javascript" src="vue.js"></script> 59 <!-- //字典是通过.来取值的,而这个列表时通过【】来取值的 --> 60 <script> 61 var app=new Vue({ 62 el:'#img_div', 63 data:{ 64 msg:"录播图例子",//里面是字典的形式, 65 imgsrc:'1.jpg', 66 imgindex:0,//索引值,当前的索引值 67 items:[ 68 {id:1,src:'1.jpg' }, 69 {id:2,src:'2.jpg'},//for循环拿到这个里面的每一个元素,可以进行取值 70 {id:3,src:'3.jpg'}, 71 72 73 ], 74 timer:null, 75 str:'<p>创建p标签</p>' 76 77 78 },//都是字典的形式 79 //注意,下面的created是自动设置时间,一定放在methods前面,否则不能自动 80 created(){//这个created是自带的方法,自动轮播 81 82 83 console.log('created') 84 this.timer=setInterval(this.next_pic,2000)//自动轮播这个this.next_pic的函数 85 }, 86 87 88 89 methods:{ 90 //下面的这个item就是你传过来的参数,当前点击的那个图片 91 changepic:function(item){ 92 this.imgsrc=item.src 93 }, 94 next_pic(){ 95 96 97 // this.imgindex++ 98 if (this.imgindex==this.items.length-1){ 99 this.imgindex=0 100 101 102 } 103 //但你点击了一下的时候,下面图片的索引值就加1 104 this.imgindex++ 105 this.imgsrc=this.items[this.imgindex].src 106 }, 107 108 109 pre_pic(){ 110 if(this.imgindex==0){ 111 this.imgindex=3}//的那个点击到最小的数的时候,索引值就变成3,下面在减去1就是2了,就是最大的字典的索引值 112 113 this.imgindex-- 114 this.imgsrc=this.items[this.imgindex].src 115 116 117 }, 118 //下面是自动轮播这图片出来 119 120 121 //上面绑定的事件 122 closeTimer(){ 123 clearInterval(this.timer); 124 //当悬浮在这个图片里面的时候,就清除这个自动轮播的效果 125 }, 126 openTimer(){ 127 this.timer=setInterval(this.next_pic,2000); 128 } 129 }, 130 131 132 }) 133 </script> 134 </body> 135 </head> 136 </html> 137