首页 > 其他分享 >vue实现图片蒙层效果(带收藏、分享功能)

vue实现图片蒙层效果(带收藏、分享功能)

时间:2023-02-15 17:13:38浏览次数:49  
标签:style vue 鼠标 imgMaskHtml 蒙层 收藏 getElementsByClassName display

实现如下效果:当鼠标经过 会出现蒙层 并且有对应需求

思路:蒙层采用定位 鼠标经过给蒙层元素display设置为'block' 鼠标移开display设置为'none' ,具体看代码
这是渲染的图片和蒙层

        <div
          class="main-img"
          @mouseenter="handleImgMouseenter(i)"
          @mouseleave="handleImgMouseleave(i)"
        >
          <img src="../../common/assets/image/viewSwitch/viewSwitch-test.png" />
          <div class="img-mask">
            <div class="mask-collection">
              <i
                class="el-icon-star-off"
                v-if="!item.isCollected"
                @click="handleCollect(i)"
              ></i>
              <i
                class="el-icon-star-on"
                v-if="item.isCollected"
                @click="handleCancelCollect(i)"
              ></i>
            </div>
            <div class="mask-share">
              <img
                src="../../common/assets/image/viewSwitch/viewSwitch-share.png"
                @click="handleShare(i)"
              />
            </div>
            <div class="mask-views">
              <i class="el-icon-view"></i>{{ item.viewCount }}
            </div>
          </div>
        </div>
View Code

然后就是鼠标移入移出事件

 

 

 

 

1     handleImgMouseenter(i) {
2       let imgMaskHtml = document.getElementsByClassName("img-mask")[i];
3       imgMaskHtml.style.display = "block";
4     },
5     handleImgMouseleave(i) {
6       let imgMaskHtml = document.getElementsByClassName("img-mask")[i];
7       imgMaskHtml.style.display = "none";
8     },
View Code

然后就是采用定位

 

标签:style,vue,鼠标,imgMaskHtml,蒙层,收藏,getElementsByClassName,display
From: https://www.cnblogs.com/tanyy/p/17123717.html

相关文章

  • vue3之异步组件defineAsyncComponent 使用无效?
    原文地址:我的稀土掘金介绍:defineAsyncComponent用于拆分应用为更小的块,并仅在需要时再从服务器加载相关组件官网案例<scriptsetup>import{defineAsyncComponent......
  • vue---day03
    昨日回顾#1mvvm演示#2插值语法{{}} -三目运算符条件?'':''#3文本指令 -v-xxvue的指令,放在标签上<pv-xx></p>-v-text='变......
  • Vue 急速入门2
    内容概要Js的几种循环方式v-for可以循环的变量<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>Title</title><scriptsrc="vue/......
  • vue中渲染数据时的计算
    如果后端返回的数据需要简单的处理,比如需要截取、字段间的简单计算之类的操作可以直接在渲染中使用字段间的计算:{{Number(`${product.PlanNum}`)+Number(`${product.Sum......
  • Vue 自定义指令-directive
    什么是自定义指令vue官方提供了v-text、v-for、v-model、v-if等常用的指令。除此之外vue还允许开发者自定义指令。局部自定义指令的使用<body><divid="app">......
  • Vue 自定义指令-directives
    什么是自定义指令vue官方提供了v-text、v-for、v-model、v-if等常用的指令。除此之外vue还允许开发者自定义指令。局部自定义指令的使用<body><divid="app">......
  • vue-day02插值语法、文本指令、属性指令、事件指令、class和style、条件渲染、列表渲
    目录一、插值语法1.1mvvm演示1.2插值语法二、文本指令三、属性指令四、事件指令五、class和style六、条件渲染七、列表渲染八、补充:九、作业一、插值语法1.1mvvm演示......
  • vue-seamless-scroll 组件用法-区域内容滚动效果
    1.滚动效果2.代码<divclass="page-container"style=""><vue-seamless-scroll:data="listData":class-option="defaultOption"><ulclass="ul-scol......
  • eslint vue
    1、Error[ERR_REQUIRE_ESM]:require()ofESModulepackage.json中"type":"module"移除2、Cannotfindmodule'./App.vue'oritscorrespondingtypedeclarations......
  • Vue Grid Layout -️ 适用Vue.js的栅格布局系统(自定义页面)
    官网:https://jbaysolutions.github.io/vue-grid-layout/zh/github:https://github.com/jbaysolutions/vue-grid-layout 一个类似于Gridster的栅格布局系统,适用于Vue.j......