单击元素时隐藏iframe

时间:2016-08-11 08:37:12

标签: javascript jquery iframe load hide

我有一个隐藏的Iframe,当功能加载完成后,它会改变可见性。

我这样做是因为在加载函数中我对iframe样式做了一些更改,比如我隐藏的一些元素和背景颜色更改,因此用户看不到旧样式,当它完成时我更改了iframe可见。

现在我遇到了一个问题,当用户点击转到另一个页面的元素时,旧样式会显示,直到iframe加载功能完成并再次更改样式。

我想在用户点击此元素时将iframe的可见性更改为隐藏,然后在加载功能上将iframe更改为可见。

现在我正在这样做:

$(function(){
    var f=$('#foo')
    f.load(function(){ 
        var css = '<style type="text/css">#_____c, #navTabs {display: none;} body{background: white;}</style>';
        f.contents().find("head").append(css);

        document.getElementById("foo").style.visibility = 'visible';

        f.contents().find("#_bw0__r").on('click', function(event) { 
            document.getElementById("foo").style.visibility = 'hidden';
        })
    });
});

但是当用户与iframe的某些元素交互时,onClick函数在下一页加载时不起作用。

1 个答案:

答案 0 :(得分:0)

    f.contents().find("#_bw0__r").on('click', function(event) { 
        document.getElementById("foo").style.visibility = 'hidden';
    }) 

把它放在f.load(函数)之外