网站 gif 延迟/重叠

Posted

技术标签:

【中文标题】网站 gif 延迟/重叠【英文标题】:Site gif delay/overlap 【发布时间】:2021-05-27 19:48:51 【问题描述】:

问题标题可能不太好,但我真的不知道如何描述它,所以在这里:

我有 N 个带有文本 (text1, text2, text3...) 的 <td> 元素,当您将鼠标悬停在每个元素上时,会出现一个弹出窗口,并播放相应的 gif (gif1、gif2、gif3...)。当你的鼠标离开<td> 时,gif 就会消失。 我的问题是这样的:

    将鼠标悬停在文本 1---> 出现弹出窗口,同时播放 gif1 [正确] Leave text1----------->弹窗消失[正确] 将鼠标悬停在 text2----> 出现弹出窗口,其中 gif1 播放了一会儿(0.5 秒到 1 秒),然后 gif2 播放 [不正确] Leave text2----------->弹窗消失[正确] 将鼠标悬停在 text3----> 出现弹出窗口,其中 gif2 播放了一会儿(0.5 秒到 1 秒),然后 gif3 播放 [不正确]

然后继续 (video example)。

那么我怎样才能让它在每次播放新的 gif 时都不显示以前的 gif?


HTML

弹窗基本上是<div>

<div class="popup">
 <img class="myPopup">
</div>

JS

&lt;td&gt; 有一个mouseenter 和一个mouseleave 事件,分别触发函数pop_inpop_out

var popup_here

function pop_in(e)
    var row_num=.....//getting the coordinates
    var ex_num=.....//getting the coordinates

    popup_here=document.getElementsByClassName("myPopup")[0];
    popup_here.src=....//setting the source to the correct gif from a list of objects using the row_num and ex_num variables

    popup_here.style.visibility="visible";


function pop_out(e)
    popup_here.style.visibility="hidden";

CSS

除了淡入之外没有花哨的 CSS。但无论如何,我已经尝试完全删除它,但没有任何改变。

【问题讨论】:

【参考方案1】:

您的问题是任何新的 gif 都需要时间来加载,并且在此期间会显示以前的源。

最简单的解决方案是将src 属性设置为pop_out 函数中的某个占位符。

【讨论】:

现在我感觉很糟糕。我有点猜到这可能是问题所在,这就是为什么我还尝试在pop_out 函数的末尾做一个popup_here=null。但它什么也没做。现在我尝试了popup_here.src=null;,它确实有效。我认为只有popup_here=null 就足够了,所以直到现在我什至没有尝试过.src。感谢您的帮助

以上是关于网站 gif 延迟/重叠的主要内容,如果未能解决你的问题,请参考以下文章

如何延迟从页面加载开始显示Gif?

如何延迟 onClick 图像链接,以便 .gif 动画可以在页面切换之前完成?

Java合并音频文件延迟和重叠

如何在延迟加载期间在图像占位符上显示“加载”gif图像

在wordpress中用data-url延迟加载替换所有src

使用 IOS 计算延迟时间和总动画时间