【问题标题】:Remove div/iframe on certain width删除特定宽度的 div/iframe
【发布时间】:2015-11-05 14:13:23
【问题描述】:

我想让我的网站适合移动设备,但我遇到了一个问题。 我的主页上有一个流媒体平台的播放器,通过使用 CSS 中的媒体查询,它在一定宽度上是不可见/隐藏的,但它仍然会被加载。

我想完全删除任何宽度小于 1280 像素或 768 像素的容器/iframe。

我试着摆弄一下 jquery/javascript,但它对我不起作用,我需要一些帮助:D

这是我尝试使用的:

$(window).resize(function() {
        if ($(window).width() < 1280) {
            $(container_selector).document.getElementById("video-container"){
                this.pause();
                delete(this);
                $(this).remove();
            });
            $(container_selector).empty();
        }
    });

这是我要删除的容器/iframe:

<div id="video-container"><iframe src="http://www.hitbox.tv/embed/kazuto" width="300" height="150" frameborder="0" allowfullscreen="allowfullscreen"></iframe></div>

提前致谢:)

【问题讨论】:

    标签: javascript jquery html iframe containers


    【解决方案1】:

    您可以使用media queries

    例如,像这样:

    @media (max-width: 1280px) {
      #video-container {
        display: none;
      }
    }
    

    【讨论】:

    • 如前所述,我已经使用了它。 iframe 在不显示的情况下仍会加载,这仍然会降低移动浏览器的速度。
    【解决方案2】:

    这是删除整个div 和内部iframe 的代码。

    $(window).resize(function () {
        if ($(this).width() < 1280) {
            $("#video-container").remove();
        }
    });
    

    但是既然你在调整大小时触发它,那么窗口宽度再次增加的时候是什么时候?如果您只想在较低分辨率下隐藏 iframe 并在用户调整大小回更高分辨率时再次显示它,那么我建议使用 hide()show()(或使用@Sergey Kopyrin 提出的答案)

    代码示例

    $(window).resize(function () {
        if ($(this).width() < 1280) {
            $("#video-container").hide();
        } else{
            $("#video-container").show();
        }
    });
    

    您还可以在这些方法中指定持续时间参数(例如 $("#video-container").hide(500) ),这样它就不会被突然隐藏。

    【讨论】:

    • 感谢您的回答。我已将其更改为关注 Pastebin 我现在可以调整它的大小并且它仍然会重新出现,除非窗口从一开始就小于 1280。
    猜你喜欢
    • 2012-08-13
    • 2012-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多