为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用 iframe 更改页面上的内容并平滑溶解?

如何使用 iframe 更改页面上的内容并平滑溶解?

明月笑刀无情 2021-06-02 11:02:08
在信息屏幕上,我想在不同的页面之间切换,并且希望它们能够顺利溶解。我的想法是有两个 iframe。显示一个 iframe > 通过发送“swap('anotherpage.php')”更改第二个 iframe 中的内容,并通过在 iframe 上切换不透明度来进行转换。我当前的代码可以正常工作,但是如果在获取新页面时出现延迟,则溶解不顺畅。如何确保新页面在溶解之前已完全加载?也许我的方法是错误的?<!DOCTYPE html><html><head>  <meta charset="utf-8">  <title>Master</title>  <style>    * {      -webkit-box-sizing: border-box;      -webkit-backface-visibility: hidden;      -webkit-transition: translate3d(0, 0, 0)    }   HTML,    BODY {      width: 1920px;      height: 1080px;      background-color: transparent;      overflow: hidden;    }    #iframeOne {      border: none;      width: 1920px;      height: 1080px;      position: absolute;      top: 0px;      left: 0px;      z-index: 2;      opacity: 1;      transition: opacity 1s;    }    #iframeTwo {      border: none;      position: absolute;      width: 1920px;      height: 1080px;      top: 0px;      left: 0px;      z-index: 1;      opacity: 0;      transition: opacity 1s;    }    #iframeOne.fade {      opacity: 0;    }    #iframeTwo.fade {      opacity: 1;    }</style></head><body>  <iframe id="iframeOne" src="firstpage.php"></iframe>  <iframe id="iframeTwo"></iframe>  <script type="text/javascript">    var swapNumber = 2;    function swap(newUrl) {      if (swapNumber == 1) {        document.getElementById('iframeOne').src = newUrl;        dissolve();        swapNumber = 2;      } else if (swapNumber == 2) {        document.getElementById('iframeTwo').src = newUrl;        dissolve();        swapNumber = 1;      }      function dissolve() {        iframeOne.classList.toggle('fade');        iframeTwo.classList.toggle('fade');      }    }  </script></body></html>
查看完整描述

1 回答

?
DIEA

TA贡献1820条经验 获得超2个赞

您可以使用事件侦听器来侦听 iFrame 的 onLoad 事件,如下所示:


iframeEl.addEventListener('load', function() {

    // Do whatever you like

}, true);


查看完整回答
反对 回复 2021-06-03
  • 1 回答
  • 0 关注
  • 157 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信