亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

Vue.js+14行代碼----實現圖片的放大縮小

標簽:
Html/CSS Vue.js

前言

最近有个需求,说系统上图片太小啦,有些图片看不清,so马上来做。

实现效果

图片描述

CSS

img {    
 transform: scale(1);          /*图片原始大小1倍*/
 transition: all ease 0.5s; }  /*图片放大所用时间*/
img.scale {     
 transform: scale(2);          /*图片需要放大2倍*/
 position: relative;           /*相对定位,是相对于前面的容器定位的*/
 z-index: 100; }               /*属性设置元素的堆叠顺序,保证图片放大后处于最上层*/

JS

var app=new Vue({

    data: {
        imgIstrue:[]           /*定义数组*/
    },
    methods: {
        getData: function(){   /*这个方法是我自己定义的,作用:为了拿到后台数据*/
            var row = 10;      /*这个是后台拿到的数据条数,可以根据length获取*/
            for(var i =0;i<row ;i++) {
                 app.imgIstrue[i] = false;    /*初始化为false*/
            }
        },
        imgScale:function (index) {                     /*这个方法是为了标识改变被点击图片的状态*/
            var isTrue = app.imgIstrue[index];           /*获取被点击元素当前的值  false或true*/
            app.imgIstrue.forEach(function (val,row) {
                app.imgIstrue.splice(row,1,false)        /*刷新数组,将数组所有值设置为false,即图片原始状态*/
            })
            app.imgIstrue.splice(index,1,!isTrue)         /*将被点击数组元素的值反转   用于记录状态的改变*/
        }
    }

});

html

<img :class="{scale:imgIstrue[index]}"  class="lazyload" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC" data-original="http://www.baidu.com/img/bd_logo.png" style="width: 150px" @click="imgScale(index)">

具体项目可见---->点我

點擊查看更多內容
2人點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
全棧工程師
手記
粉絲
218
獲贊與收藏
1546

關注作者,訂閱最新文章

閱讀免費教程

感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消