首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用动态webp替换<picture> src onmouseover

用动态webp替换<picture> src onmouseover
EN

Stack Overflow用户
提问于 2021-12-16 20:59:51
回答 1查看 140关注 0票数 0

我有一个带有2个图像的<picture>元素。一个.avif图像和一个.jpg回退。

代码语言:javascript
复制
<picture id="mouse-event" onmouseover="this.src='/animated.webp'">
    <source type="image/avif" srcset="/sm.avif">
    <img src="/sm.jpg">
</picture>

当我将鼠标移到<picture>元素上时,我想用一个动画.webp替换显示的图像(微笑到youtube缩略图悬停)。

我尝试过在图片元素上添加onmouseover,但这没有起作用。

另外,我尝试用javascript替换src,但没有成功:

代码语言:javascript
复制
document.getElementById("mouse-event").src = "/animated.webp";

(为了好玩,我将onmouseover事件添加到img标记中。但只有在禁用.avif浏览器支持以便显示jpg的情况下,这才有效。)

我如何用图片元素实现图像替换onmouseover,从而使avif/jpg回退仍然是可能的?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-12-16 21:06:12

您需要替换img元素的srcsource元素的srcset,而不是picture元素的src

例如

代码语言:javascript
复制
<picture id="mouse-event" onmouseover="doMouseover()">
  <source type="image/avif" srcset="/sm.avif">
  <img id="theImage" src="/sm.jpg">
</picture>

<script>
  function doMouseover() {
    document.getElementById("theImage").src = "/animated.webp";
  }
</script>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70385574

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档