javascript - 延迟加载隐藏元素,直到您将其在 javascript 中的属性更改为可见?

标签 javascript jquery css ajax web

我在 div 中有一个元素 say、一个图像和其他文本。最初,此 div 具有 visibility: hidden;display: none;

的属性

如何阻止浏览器加载此 div 的内容,直到我将属性更改为 visibledisplay: block;

最佳答案

您可以使用脚本 block 来插入不被解析的标记。

https://jsfiddle.net/dhj3cshb/

并在展示中将其替换为真正的标记

function show(node){
    var $node = $(node);
    $node.not('script').css('display', '');
    $node.filter('script').replaceWith(function(){
        return '<div id="'+this.id+'" class="'+this.className+'">'+this.innerHTML+'</div>';
    });
}

function hide(node){
    $(node).css('display', 'none');
}

然后只需切换显示状态

编辑:

如果它只是延迟加载图像,我将 img-src 写入数据属性并具有将其推送到 src-property 的函数

<img data-src="http://lorempixel.com/400/200/" />

和js

function loadSrcNow(node){
    $(node).filter('img[data-src]').each(function(){
        this.src = this.dataset.src;
        this.removeAttribute('data-src');
    });
}

关于javascript - 延迟加载隐藏元素,直到您将其在 javascript 中的属性更改为可见?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35669542/

相关文章:

jquery - loadVideoById EndSeconds 不起作用?

jquery - 将按钮放置在图像悬停上

css - 为什么我们需要多个背景颜色规则?

javascript - 将值设置为 Html.HiddenField 提交表单后不绑定(bind)到模型

倒计时

Javascript 正则表达式中的意外控制字符

html - 视差效果在浏览器中有效,但在移动设备中无效

javascript - 将按键事件添加到 chrome 扩展中的多功能框

javascript - jQuery 在 img src 属性中添加 URL

javascript - Jquery 麻烦在网格中随机选择 div