• 轮播效果(Vue)


      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  
  • 相关阅读:
    js 监听页面url锚点变化 window.onpopstate
    js 返回上一页并刷新页面
    table 会有默认的外边框,内部会有分割线
    javascript 中设置window.location.href跳转无效问题解决办法
    chrom控制台常用方法
    Acquire and Release Fences
    常用 git 命令
    vim版本更新
    vim bundle安装
    emacs 常用命令
  • 原文地址:https://www.cnblogs.com/yunxintryyoubest/p/9864199.html
Copyright © 2020-2023  润新知