0

我有以下代码,可在所有 href 点击时将页面加载到 iframe 中。但是,某些页面可能需要几秒钟才能加载,因此我想显示一个加载图标,其中 iframe 元素显示为灰色,直到内容加载完毕,然后隐藏加载元素。我过去使用过 ajaxStart 和 ajaxStop 函数,它们运行良好,但鉴于 Ajax 没有调用这些页面,我认为这不会起作用。谁能建议如何做到这一点?

<iframe src="/dashboard" name="contentFrame" id="contentFrame"></iframe>

<script type="text/javascript">

$(document).ready(function(){
    $("a").click(function(e) {
        e.preventDefault();
        $("#contentFrame").attr("src", $(this).attr("href"));
    })
});
4

1 回答 1

0

您可以在更改 iframe src 属性之前显示加载图标,而不是 ajaxStart :

$("a").click(function(e) {
      e.preventDefault();
      // show your icon here
      $("#contentFrame").attr("src", $(this).attr("href"));
})

而且,您可以使用load 事件,而不是 ajaxStop :

$("#contentFrame").on('load', function(e) {
    // remove your icon here
})
于 2019-03-11T15:06:28.707 回答