• vue学习09 图片切换


    vue学习09 图片切换

    • 定义图片数组:imgList:[],列表数据使用数组保存

    • 添加图片索引:index

    • 绑定src属性:使用v-bind,v-bind指令可以设置元素属性,比如src

    • 图片切换逻辑:按下按钮++

    • 切换显示状态:使用v-show,v-show和v-if都可以切换元素的显示状态,频繁切换用v-show

    练习代码为:

    html:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>图片切换</title>
        <link rel="stylesheet" href="css/index.css">
    </head>
    <body>
        <div id="mask">
            <div class="center">
                <h2 class="title"><img src="https://pic.cnblogs.com/avatar/1369308/20180722204252.png" width="16" height="16"alt="">小飞的壁纸库</h2>
                <img :src="imgList[index]" alt="">
                <a href="javascript:void(0)"
                    @click="prev"
                    class="left"
                    v-show = "index>0">
                    <img src="images/prev.png" alt="">
                </a>
                <a href="javascript:void(0)"
                    @click="next"
                    class="right"
                    v-show = "index<imgList.length-1">
                <img src="images/next.png" alt="">
                </a>
            </div>
        </div>
        <script src="js/vue.js"></script>
        <script>
            var app = new Vue({
                el:"#mask",
                data:{
                    imgList:[
                        "images/01.jpg",
                        "images/02.jpg",
                        "images/03.jpg",
                        "images/04.jpg",
                        "images/05.jpg",
                        "images/06.jpg",
                        "images/07.jpg",
                        "images/08.jpg",
                        "images/09.jpg",
                        "images/10.jpg",
                    ],
                    index:0
                },
                methods:{
                    prev(){
                        this.index--;
                    },
                    next(){
                        this.index++;
                    }
                }
            });
        </script>
    </body>
    </html>
    

    css:

    * {
      margin: 0;
      padding: 0;
    }
    
    html,
    body,
    #mask {
       100%;
      height: 100%;
    }
    
    #mask {
      background-color: #c9c9c9;
      position: relative;
    }
    
    #mask .center {
      position: absolute;
      background-color: #fff;
      left: 50%;
      top: 50%;
      transform: translate(-50%, -50%);
      padding: 10px;
    }
    #mask .center .title {
      position: absolute;
      display: flex;
      align-items: center;
      height: 56px;
      top: -61px;
      left: 0;
      padding: 5px;
      padding-left: 10px;
      padding-bottom: 0;
      color: rgba(175, 47, 47, 0.8);
      font-size: 26px;
      font-weight: normal;
      background-color: white;
      padding-right: 50px;
      z-index: 2;
    }
    #mask .center .title img {
      height: 40px;
      margin-right: 10px;
    }
    
    #mask .center .title::before {
      content: "";
      position: absolute;
       0;
      height: 0;
      border: 65px solid;
      border-color: transparent transparent white;
      top: -65px;
      right: -65px;
      z-index: 1;
    }
    
    #mask .center > img {
      display: block;
       700px;
      height: 458px;
    }
    
    #mask .center a {
      text-decoration: none;
       45px;
      height: 100px;
      position: absolute;
      top: 179px;
      vertical-align: middle;
      opacity: 0.5;
    }
    #mask .center a :hover {
      opacity: 0.8;
    }
    
    #mask .center .left {
      left: 15px;
      text-align: left;
      padding-right: 10px;
      border-top-right-radius: 10px;
      border-bottom-right-radius: 10px;
    }
    
    #mask .center .right {
      right: 15px;
      text-align: right;
      padding-left: 10px;
      border-top-left-radius: 10px;
      border-bottom-left-radius: 10px;
    }
    
    

    运行效果为:

    image-20200925090254373

    image-20200925090206862

  • 相关阅读:
    css 透明气泡效果
    uniapp 跳转tabbar页面传递参数
    unaipp 发送验证码倒计时
    uniapp 返回顶部
    js 实现放大镜效果
    js 禁用右键菜单和禁止复制
    js 表格的添加和删除操作
    js 留言板(带删除功能)
    推荐几个好用的网站
    pc端使用rem适配
  • 原文地址:https://www.cnblogs.com/ma1998/p/13728147.html
Copyright © 2020-2023  润新知