javascript - 如何仅在 javascript 中的 onclick 上播放 gif

标签 javascript html css

我有下面的代码,它从数组字符加载gif动画,并将其加载到图像内的类板源代码.

我想播放 gif 动画仅当我点击显示的那个 gif 时

它现在在加载 gif 后立即播放 gif

如何更改我的代码以像现在一样显示数组中的 gif,但仅在我单击它时播放 gif?

number = 0;
var animations = ['https://image.ibb.co/epha5A/giphy.gif',
  'https://image.ibb.co/epha5A/giphy.gif',
  'https://image.ibb.co/epha5A/giphy.gif'
];

function character() {

  image = document.getElementById('hiddenimageid');
  image.src = animations[number];

  console.log(number);
  number++;


}
.board {
  position: absolute;
  top: 4.3vh;
  left: 10vw;
  cursor: pointer;
}

.board img {
  width: 35.3vw;
  height: 45.5vh;
  border-radius: 15%;
}
<body onload="character();">

  <div class="board">
    <img src="" id="hiddenimageid" />
  </div>
</body>

最佳答案

给你:

number = 0;
var animations = ['https://image.ibb.co/epha5A/giphy.gif',
  'https://image.ibb.co/epha5A/giphy.gif',
  'https://image.ibb.co/epha5A/giphy.gif'
];


 var refreshIntervalId = setInterval(function() {
  image = document.getElementById('hiddenimageid');
  image.src = animations[number];
},1)


function character() {
clearInterval(refreshIntervalId);
  image = document.getElementById('hiddenimageid');
  image.src = animations[number];

  console.log(number);
  number++;


}
.board {
  position: absolute;
  top: 4.3vh;
  left: 10vw;
  cursor: pointer;
}

.board img {
  width: 35.3vw;
  height: 45.5vh;
  border-radius: 15%;
}
<body onclick="character();">

  <div class="board">
    <img src="" id="hiddenimageid" />
  </div>
</body>

使用此解决方案,您不必将图像转换为 png 或 jpeg。您可以简单地按原样使用您的代码。希望对你有帮助

关于javascript - 如何仅在 javascript 中的 onclick 上播放 gif,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53256789/

相关文章:

javascript - react-native 无法打开 expo 项目

javascript - 有人知道 twiddla 是如何实现其浏览功能的吗?

javascript - 减去页脚和页眉高度的全列高度

css - 创建具有相等填充的 CSS 按钮

jquery - 围绕 3 个连续 <td> 的单个旋转虚线边框

javascript - 使用 websocket 处理连接丢失

javascript - Bootstrap模态ajax表单提交多次

javascript - CSS 动画在 Firefox 中不起作用

javascript - wmd - markdown 编辑器 - 如何将其分配给任意文本字段?

javascript - 无法在自定义插件中动态创建的 div 上使用 css()