[英]How to change the image components according to the screen size?
我有一个研究案例:
我有一个包含在桌面大小的介绍div
的图像,如下所示:
<div class="intro">
<img id="gambar" src="assets/images/image-intro-desktop.jpg" alt="">
</div>
然后当输入移动文件大小时, img
标签将更改为:
<img id="gambar" src="assets/images/image-intro-mobile.jpg" alt="">
那么问题来了,怎么改组件,应该用什么js代码??
您可以使用 css 执行此操作
<style>
.intro{
content:url("assets/images/image-intro-desktop.jpg");
}
@media only screen and (max-width: 600px) {
.intro{
content:url("assets/images/image-intro-mobile.jpg");
}
}
</style>
<img class="intro"/>
您需要为resize
和load
事件添加两个事件侦听器,如果窗口宽度小于更改图像源所需的断点,请检查窗口宽度。 否则将源重置回原始状态。
document.addEventListener( 'resize', changeImageSrc() ); document.addEventListener( 'load', changeImageSrc() ); function changeImageSrc() { var init_img_src = document.getElementById('gambar').src; // Change 600 to your breakpoint if( window.innerWidth < 600 ) { document.getElementById('gambar').src = 'https://via.placeholder.com/250'; } else { document.getElementById('gambar').src = init_img_src; } }
<div class="intro"> <img id="gambar" src="https://via.placeholder.com/550" alt=""> </div>
您要求提供 Javascript 代码,因此:
也许你可以在window.onload
运行它。 取决于你想要什么。
if(/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)){
// returns true if its a mobile
// change src here
document.getElementById('gambar').src = "assets/images/image-intro-mobile.jpg";
}else{
// returns false if it isn't
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.