не загружать iframe, если ширина меньше 680px
Здравствуйте. Есть вот такой код с отложенной загрузкой iframe:
<style>
body {
background:#53d5f3;
}
iframe {
width:600px;
height:500px;
}
</style>
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script>
var src = "http://javascript.ru/forum/dom-window/",
pause = 2000;
$(function(){
setTimeout(function(){
$('.iframe').attr('src',src)
}, pause);
});
</script>
<iframe class="iframe" src="" frameborder="0"></iframe>
А как в этом скрипте сделать так, чтобы iframe не загружался совсем при ширине экрана меньше 680px? |
screen.width не то?
|
а пример привести не сможешь?)))
|
после строки
$(function(){ добавь строку if (screen.width < 680) { return; } |
<style>
body {
background:#53d5f3;
}
iframe {
width:100%;
height:500px;
}
</style>
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script>
var src = "http://javascript.ru/forum/dom-window/",
pause = 2000;
$(function(){
if (screen.width < 680) { return; }
setTimeout(function(){
$('.iframe').attr('src',src)
}, pause);
});
</script>
<iframe class="iframe" src="" frameborder="0"></iframe>
Так? браузер сжимал до 500px, iframe все равно вылазиет |
Цитата:
его тоже сжимал ? если нужны размеры страницы или окна браузера почитай http://learn.javascript.ru/metrics-window |
По сути, так?
<style>
body {
background:#53d5f3;
}
iframe {
width:100%;
height:500px;
}
</style>
<script src="http://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script>
var src = "http://javascript.ru/forum/dom-window/",
pause = 2000;
$(function(){
alert(window.innerWidth);
if (window.innerWidth < 680) { return; }
setTimeout(function(){
$('.iframe').attr('src',src)
}, pause);
});
</script>
<iframe class="iframe" src="" frameborder="0"></iframe>
Что-то не так. При размере 500px все равно грузит. |
если про пример кода выше в этом форуме
то он запускается во фрейме используйте в начале кода например [HTML run width=600 height=600] ... это будет имитировать окно 600 на 600 |
Я его запускал локально на смарте. Сейчас на сайте поправил, как вы писали.
На самом сайте наоборот, не запускается даже при значении в widch=900 |
у меня теперь пример выше, который 600x600 не загружает фрейм.
Это и нужно было ? добавь в код для смартфона после строки $(function(){ строку alert(window.innerWidth); и будет понятно какую ширину браузер в смартфоне подразумевает. |
| Часовой пояс GMT +3, время: 10:43. |