Я хочу скрыть iframe, пока он не будет загружен, чтобы избежать белого мигания. Это происходит постоянно в Internet Explorer 11 и FireFox. Иногда в Chrome, если страница медленно загружается.Скрыть iframe, пока он не будет полностью загружен
HTML
<div class="test">
<div class="hover">hover me</div>
<div class="cool">cool</div>
</div>
CSS
body { background-color: black; }
.hover { border: solid red; height: 40px; width: 40px; z-index: 1; color: white; }
iframe {position: relative; left: 40px; }
.test { border: solid blue; position: absolute; height: 300px; width: 500px; z-index: 3; }
.cool { border: solid purple; background-color: black; }
Jquery
$(document).ready(function(){
$(".hover").on({
mouseover: function(){
$(this).next('.cool').html('<iframe width="370" height="215" src="//tsn.com" frameborder="0" ></iframe>');
}
});
});
$(document).ready(function() {
$('.test').hover(function() {
}, function() {
$('.cool').html('');
});
});
Я думаю, ваш вопрос будет близок к дубликата этого ... http://stackoverflow.com/questions/3142837/ capture-iframe-load-complete-event Необходимо определить, когда загружается фрейм, а затем сделать его видимым. Другие вопросы и ответы иллюстрируют, как обнаружить событие, загруженное с кадра. – Kolban
@ Kolban Я пытался скрыть iframe и показать его, когда он загружен, но он не работает. Я все еще получаю это белое мерцание. Посмотрите эту скрипку http://jsfiddle.net/a91bmc4e/5/ –