javascript - 如何在加载第 3 方 iframe 时删除加载 gif

标签 javascript jquery html iframe

我有以下代码来在等待第 3 方 iframe 时显示和隐藏加载 GIF:

HTML

<div id="waitmessage" class="hide"><img src="/static/images/global/wait.gif"/></div>

jQuery

$('.iframe').ready(function () {
    $('#button').click(function() {
        $('#waitmessage').removeClass('hide');
            alert('skywalker');
        });
    });
    $('.iframe').load(function () {
    $('#waitmessage').remove();
});

但是当 iframe 加载时,gif 仍在后台加载。 顺便说一句,iframe 是主页上的覆盖层。

最佳答案

不知何故,您正在等待 .iframe 准备就绪,而选择器没有触发此类事件,假设选择器返回 null,因为 DOM 尚未加载。因此 .ready 事件处理程序中的任何内容都不会被执行。等待 DOM 加载的正确方法是使用预定义变量 document。试试这个。

$(function() {
    $('#console').text( $('#console').text()+"\r\n"+'DOM is ready');
    $('#yt').on('load', function(){
       console.log('YouTube loaded');
       $('#console').text( $('#console').text()+"\r\n"+'YouTube loaded');
    });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<pre id="console"></pre>
<iframe id="yt" width="560" height="315" src="https://www.youtube.com/embed/AhhEYe5Hczo" frameborder="0" allowfullscreen></iframe>

关于javascript - 如何在加载第 3 方 iframe 时删除加载 gif,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34607450/

相关文章:

JavaScript String.replace 回调以检查每隔一行

javascript - 尝试使用动态创建的输入元素序列化表单,但未发布元素的值

javascript - 如何在向下滚动时隐藏标题,像 linkedin 菜单一样在向上滚动时显示

html - 堆叠的 <div> 元素与上部 <div> 的底部边框创建分离

javascript - 更改页面加载 ionic 上的导航栏颜色

javascript - res.success 从 Node.Js/Express 应用程序返回到前端

javascript - Bootstrap+HighCharts.js 圆环图中的响应式图像位置

javascript - 如何在 jQuery 中恢复文本字段的默认值?

javascript - 如何在滚动鼠标时水平移动页面?

css - Facebook的网站前端和右侧边栏是如何设计的?