当前位置: 首页 > 知识库问答 >
问题:

vue.js将jpg替换为鼠标上方的动画gif

汤枫涟
2023-03-14

我有一个用vue.js呈现的视频海报图像/JPG列表。在鼠标悬停时,这些图像应替换为gif动画。在mouseout上,我希望再次看到图像/jpg。因此,我能够跟踪mouseover/out事件,但替换src属性并没有按预期工作:

<div v-for="video in videos">
    <img 
      v-on:mouseover="mouseOver(video.id)" 
      v-on:mouseout="mouseOut(video.id)" 
      v-bind:src="mouse[video.id] === 1 ? 'images.gif' : 'images.gif'"
    />    
</div>


var app4 = new Vue({
  el: '#app-videomanager',
  router,
  data: {
    mouse: {} // the id is alphanumeric
  },
  computed: {
    videos() {
      return store.state.videos; // not included in the example
    }
  },
  methods: {
    mouseOver: function(id) {
      this.mouse[id] = 1;
    },
    mouseOut: function(id) {
      this.mouse[id] = 0;
    }
  }
});

替换mouseOver和mouseOut函数中的src属性,而不是在组件模板中放入太多逻辑,这有意义吗?如何在vue.js中操作DOM的这一部分?

共有1个答案

罗光华
2023-03-14

这里有一个解决方案:

在组件中声明mouseOvercheck。请注意,我更改了如何将data属性声明为函数:

data () {
    return {
        mouseOverCheck: ''
    }
}

然后在HTML中执行以下操作:

<img 
    v-on:mouseover="mouseOverCheck = video.id" 
    v-on:mouseout="mouseOverCheck = ''" 
    v-bind:src="mouseOverCheck === video.id ? 'images.gif' : 'images.jpg'" /> 
 类似资料:
  • 问题内容: 是否有某种方法可以阻止动画播放?我当时正在考虑为gif分配一个静态jpg,然后当我将鼠标悬停时分配给gif动画,但是我认为没有发生将鼠标取下的事件,因此可以加载静态jpg。 gif在按钮中循环,但是,如果我将鼠标悬停在它上面,它将消失。 如果鼠标光标不在按钮上,如何使gif静态化? 如果使用,如果我取下鼠标,是否会触发事件? 问题答案: 看到: 无需设置显式鼠标侦听器,切换将自动发生。

  • 我正在尝试将鼠标点击坐标转换为画布坐标。画布可以动态缩放。我实现了缩放功能,缩放转换整个画布。画布本身有一个图像作为窗口的背景。当用户使用鼠标滚轮时,背景会放大和缩小。如何转换鼠标点击坐标以反映图像上的缩放位置? 缩放地图图像代码: 将图标添加到地图图像: 我基本上是想用鼠标左键在地图上添加一个新的图标图像。但是,如果在我尝试添加图标时放大了地图,则图像的位置与单击的地图位置不相关。它会转到离鼠标

  • 本文向大家介绍C#将jpg转换为pdf的方法,包括了C#将jpg转换为pdf的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了C#将jpg转换为pdf的方法。分享给大家供大家参考。具体实现方法如下: C#生成pdf文件需要使用到一个itextsharp.dll文件,itextsharp.dll是一个开源的在C#中用来生成PDF文档的库文件,下面我们来给大家介绍利用itextsharp来

  • 问题内容: Linux上的哪个程序可让您将AVI中的所有帧转换为一系列JPEG文件? 问题答案: 使用ffmpeg。 。 我还发现了这篇标题为“在Linux上创建动画的屏幕截图”的文章,其中详细介绍了使用Mencoder捕获顺序屏幕截图的过程。(本文末尾讨论了如何截取这些屏幕截图并将其编码为另一种格式,但是您可以忽略该部分。)

  • 目标 学会如何使用 OpenCV 处理鼠标事件 你会学到这些函数:cv2.setMouseCallback() 简单的展示 在这里,我们创建一个简单的应用程序,在我们双击的图像位置上绘制一个圆圈。 首先我们创建一个鼠标事件发生时执行的回调函数。 鼠标事件可以是任何与鼠标有关的动作,例如左键点击,左键抬起,左键双击等。它会传给我们每个鼠标事件的坐标 (x,y)。 有了这个事件和位置,我们可以做任何我

  • 目标 了解如何在OpenCV中处理鼠标事件 您将学习以下功能:cv.setMouseCallback() 简单演示 在这里,我们创建一个简单的应用程序,无论我们在哪里双击它,都可以在图像上绘制一个圆。 首先,我们创建一个鼠标回调函数,该函数在发生鼠标事件时执行。鼠标事件可以是与鼠标相关的任何事物,例如左键按下,左键按下,左键双击等。它为我们提供了每个鼠标事件的坐标(x,y)。通过此活动和地点,我们