赞
踩
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8"/>
- <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
- <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
- <title></title>
- <link rel="stylesheet" type="text/css" href="css/common.css">
- <link rel="stylesheet" href="font/iconfont.css">
- <script src="js/vue.js"></script>
- <script src="js/index3.js"></script>
- <body>
- <!--页面容器-->
- <div class="index-content" id="my">
- <div class="banner">
- <img v-for="(img,index) in imgs" :src="img" v-show="num==index"/>
- <div class="banner-circle">
- <ul>
- <li v-for="(value,index) in imgs" :class="{'selected':num==index}"></li>
- </ul>
- </div>
- </div>
- </body>
- </html>
- window.onload = function () {
- //vue实现轮播
- new Vue({
- el: '#my',//挂载元素,说白了就是在id=my的div里使用下面的vue
- data: {//所有的变量、数据都得写在data里
- num:0,
- imgs: [//用数组存放要轮播的图片
- 'img/banner1.jpg',
- 'img/banner2.jpg',
- 'img/banner3.jpg',
- 'img/banner4.jpg',
- 'img/banner5.jpg'
- ]
- },
- mounted:function(){//mounted是vue实例挂载的事件钩子函数,所以它只会执行一次,之后就是play方法。
- this.play();
- },
- methods:{//vue中存放方法的地方
- autoPlay:function(){//num递增,num等于图片总数时回到第一张,其递增有下面的定时器实现
- const _self=this;
- _self.num++;
- if(_self.num == this.imgs.length){
- _self.num=0;
- }
- },
- play:function(){//每隔一秒执行autoPlay,使得num递增
- setInterval(this.autoPlay,1000);
- }
- }
-
- });
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。