u013206556
JJ874444051
采纳率18.2%
2016-07-05 03:07 阅读 2.1k
已采纳

改变iframe的宽度和高度的问题

加载视频的时候,height设置的值会先显示然后执行js跳变到需要的高度,怎样才能没有这种跳变的过程。

 <iframe class="video_iframe" style="z-index:1;" src="http://v.qq.com/iframe/player.html?vid=uhrdeh518" llowfullscreen="" frameborder="0" onload="Javascript:setHeight(this)" width="100%" height="0" scrolling="auto"></iframe>

<script type="text/javascript">
    function setHeight() {
        var bodyw = document.body.clientWidth;
        for (var ilength = 0; ilength <= document
                .getElementsByTagName("iframe").length; ilength++) {
            document.getElementsByTagName("iframe")[ilength].height = bodyw * 9 / 16;//设定高度 
        }
    }
</script>
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

4条回答 默认 最新

  • 已采纳
    showbo GoCityPass新加坡曼谷通票 2016-07-06 02:37

    你又没有使用到iframe的高度作为计算参考,而是当前页面的宽度,直接计算设置iframe高度就行
    去掉iframe的onload事件,将js代码放到body结束标签之前

     <script type="text/javascript">
        function setHeight() {
            var bodyw = document.body.clientWidth;
            for (var ilength = 0; ilength <= document
                    .getElementsByTagName("iframe").length; ilength++) {
                document.getElementsByTagName("iframe")[ilength].height = bodyw * 9 / 16;//设定高度
            }
        }
        setHeight();/////////////
    </script>
    </body>
    
    点赞 1 评论 复制链接分享
  • u013206556 JJ874444051 2016-07-05 03:13
    点赞 评论 复制链接分享
  • qq_29594393 当作看不见 2016-07-05 03:27

    先加载玩JS再加载HTML就可以了

    点赞 评论 复制链接分享
  • qq_29594393 当作看不见 2016-07-05 03:29

    你这种方式是比较好的的,毕竟要先加载出页面,再加载JS,用户体验好一点,而先加载JS,用户看到页面的延迟会大大加长;

    点赞 评论 复制链接分享

相关推荐