Vue.js怎么点击切换图片

目录

我们要完成的页面及功能

一、我们先建立一个html文件

二、引入vue.js文件

1.引入

2.把要写的框架给写了

3.设计盒子的大小

4.设计默认图片选中的项

5.通过下标遍历图片

三、总结



我们要完成的页面及功能

通过点击下面的图片,切换大图片

一、我们先建立一个html文件

点击文件夹,然后创建一个新的html

这样就是创建好的状态,然后把最基本的东西给补全,打一个英语版的!回车就好了

 title可以根据自己是什么网站来命名。

二、引入vue.js文件

1.引入

js里面必须要有vue.js文件,没有可以去官网下载

2.把要写的框架给写了

三个div

这就是最简单的框架了,然后就看看要呈现的效果图,一共有三个盒子,一个是用来装大图片,一个是用来遍历小图片的,一个是大大盒子用来装他们两个的,所以需要三个<div> ,给一个大大盒子一个id,下面可以el它,要记住id为#号,class为.

        <!-- 大大盒子 -->
    <div id="app">
        <!-- 大图片盒子 -->
        <div>

        </div>
        <!-- 遍历小图片盒子 -->
     <div class="box1" >
       
    </div>
    </div>

 我把它分成了三个盒子,里面分别放入图片大图片盒子和小图片盒子

 <!-- 大大盒子 -->
    <div id="app">
        <!-- 大图片盒子 -->
        <div>
            <img src="" alt="">
        </div>
        <!-- 遍历小图片盒子 -->
        <div class="box1">
            <img src="" alt="">
        </div>
    </div>

3.设计盒子的大小

记得要把大盒子放大一点,免得会和小盒子一样大,会不好看

    #box {
        width: 300px;
        height: 300px;
        margin-left: 20px;
    }

    .box1 img {
        width: 100px;
        height: 100px;
        margin-top: 10px;
        margin-left: 20px;
        cursor: pointer;
    }

4.设计默认图片选中的项

插入图片可以是很多张,图片要是一个数组

//默认图片选中的项

images:[
    "../images/6.jpg",
    "../images/29.webp ",
    "../images/19.png",
    "../images/12.jpg "
       ]

在data里面加了一个数据用于遍历selecteImage:0,遍历小图片给他一个@click点击事件v-for遍历图片v-bind单项动态数据绑定

    <!--checked是一个点击后就会有显示颜色-->
<img :class="{'checked':selecteImage==index}" @click="selecteimage(index)" v-for="(item,index) of images":key="index" v-bind:src="item" alt="" >

 css这样写

    .checked{

        border: 2px solid rebeccapurple;

        }

checked对应的是selecteImage==index也就是下标

这样点击时就会有颜色变化,会更美观

5.通过下标遍历图片

selecteImage的初始值给了0,也就是下标为0,第一张图片,selecteImage=index

   // i为图片的下标,通过下标然后遍历图片
            methods: {
            selecteimage(i){
            this.selecteImage=i;
            this.selecteImage=this.img[i]
                }

然后图片img通过下标来遍历一定要绑定v-bind动态指令,免得点击不出来

 <!-- 大图片盒子 -->
        <div>
            <!-- 给图片绑定一个单项动态数据绑定 -->
            <img id="box" v-bind:src="images[selecteImage]" alt="">
        </div>
        <!-- 遍历小图片盒子 -->
        <div class="box1">
            <!-- 遍历小图片给他一个@click点击事件v-for遍历图片v-bind单项动态数据绑定-->
            <img :class="{'checked':selecteImage==index}" @click="selecteimage(index)" v-for="(item,index) of images":key="index" v-bind:src="item" alt="" >
        </div>

这样就成功了,点击图片,切换大图,然后就可以生成一个简单的购物图片切换了,可以应用在很多项目上,图片切换非常普遍。

这里是运行的结果视频

QQ录屏20231218221459

这是全部代码 ,大家可以理解一下

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>模拟购物时图片切换</title>
    <script src="../js/vue.js"></script>
</head>
<style>
    #box{
        width: 300px;
        height: 300px;
        margin-left:20px;
    }
    .box1 img{
        width: 100px;
        height: 100px;
        margin-top: 10px;
        margin-left:20px;
        cursor: pointer;
    }
    .checked{
        border: 2px solid rebeccapurple;
        }
</style>
<body>
    <!-- 大大盒子 -->
    <div id="app">
        <!-- 大图片盒子 -->
        <div>
            <!-- 给图片绑定一个单项动态数据绑定 -->
            <img id="box" v-bind:src="images[selecteImage]" alt="">
        </div>
        <!-- 遍历小图片盒子 -->
        <div class="box1">
            <!-- 遍历小图片给他一个@click点击事件v-for遍历图片v-bind单项动态数据绑定-->
            <img :class="{'checked':selecteImage==index}" @click="selecteimage(index)" v-for="(item,index) of images":key="index" v-bind:src="item" alt="" >
        </div>
    </div>
    <script>
        new Vue({
            el: "#app",
            data() {
                return {
                    images:[
                      "../images/6.jpg",
                       "../images/29.webp ",
                      "../images/19.png",
                      "../images/12.jpg "
                    ],
                    selecteImage:0
                }
            },
            // i为图片的下标,通过下标然后遍历图片
            methods: {
                selecteimage(i){
                    this.selecteImage=i;
                   this.selecteImage=this.img[i]
                }

            }
        })
    </script>
</body>
</html>

三、总结

vue.js的图片切换还是普遍使用的,所以该内容也比较重要。

  • 7
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值