【问题标题】:Hide Div based on height of iframe根据 iframe 的高度隐藏 Div
【发布时间】:2018-01-31 14:26:41
【问题描述】:

当 iframe 的高度达到一定大小而不需要重新加载页面时,我想隐藏一个 div

<script>
jQuery(document).ready(function($){
    if ($(".remove-text").height() <= 582) {
        $("#execphp-31").hide();
    } else {
        $("#execphp-31").show();
    };
});
</script>

这适用于页面加载,但如果 iframe 大小发生变化,它不会更新显示/隐藏功能

【问题讨论】:

  • windowresize() 事件下运行此逻辑。另请注意,在 CSS 中使用媒体查询而不是 JS 会更好
  • 不要认为在 css 媒体查询中是可能的,因为当一个 div 的高度超过某个值时,我想隐藏一个完全不同的 div?
  • 啊,是的。 CSS 只能根据窗口大小起作用。

标签: javascript jquery html css iframe


【解决方案1】:

尝试在窗口加载和窗口调整大小时调用它。

$(window).on('resize', function() {
  if ($(".remove-text").height() <= 582) {
    $("#execphp-31").hide();
  } else {
    $("#execphp-31").show();
  };
});

【讨论】:

  • 请注意,您还必须检查场景中的页面加载情况。
  • @zoubida13 我认为这很明显,但无论如何谢谢你,我已经更新了我的答案
【解决方案2】:

您需要将 this 代码绑定到窗口加载和调整大小事件。

$(function() {
    $(window).bind("load resize", function() {
        if ($(".remove-text").height() <= 582) {
            $("#execphp-31").hide();
        } else {
            $("#execphp-31").show();
        };
    }
});

【讨论】:

  • 页面加载时 div 被隐藏,但重新调整大小时 div 不会重新出现
  • 仅供参考 bind() 已弃用。请改用on()
  • @iTsHutchy 嗯.. 页面加载期间.remove-text 的高度是否大于582?
  • 有没有办法在没有 .resize 的情况下做到这一点,并且窗口重新调整 iframe 的大小只会增加高度,因此在重新调整大小之前它不会识别
  • 所以请澄清一下。哪些事件会改变 iframe 的高度?识别这些事件并将它们绑定到您的 if 逻辑以显示和隐藏 div。
猜你喜欢
  • 2012-01-24
  • 2016-01-02
  • 2017-01-01
  • 1970-01-01
  • 2016-08-19
  • 1970-01-01
  • 1970-01-01
  • 2014-09-18
  • 1970-01-01
相关资源
最近更新 更多