有一个问题:当最初在页面上加载一个动画webp图像时,一切都正常工作。图像被加载,当加载完成时,它从动画的开始显示。图像的动画是循环的,这意味着即使我把它从页面上隐藏起来,它也会继续播放(CSS类被移除).它作为背景图片插入到DIV元素中.如果需要再次显示动画,我将一个类添加回div中,但动画并不从头开始播放,但从动画是自初始加载的那一刻起。我使用jQuery上的网页。
一个工作选项是添加一个随机值到图像的URL的末尾,但这意味着再次从服务器重新加载它,并且页面上有很多动画webp图像,它们的重量相当大(大约1兆字节),这排除了使用这种方法的人与缓慢的互联网。
亲爱的Maven,告诉我,有没有情况下,模拟加载一个已经加载的图像在浏览器中,并从一开始就播放动画?这是非常可取的解决问题,而不诉诸繁琐的第三方插件。首先,我想了解解决方案的本质,而不是加载一个巨大的插件,并得到一个快速但难以理解的结果。
现在我研究了一些这样的结构,但还没有好的结果
let promise = this.load_image('/images/' + image_url, img);
promise.then((res) => {
this.loaded(); // отображаем изображение
});
load_image: async function(url, elem)
{
return new Promise((resolve, reject) => {
elem.onload = () => resolve(elem);
elem.onerror = reject;
elem.src = url;
});
}```
字符串
1条答案
按热度按时间kqqjbcuj1#
因此,这似乎与将src设置为“"一样简单,但是我使用
setTimeout
时运气更好一些这是我用来做这个的函数;
字符串