javascript - 如何根据屏幕大小更改图像组件?
问题描述
我有一个研究案例:
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代码?
解决方案
您需要为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>
推荐阅读
- swift - 为信用卡输入格式化 NSTextField,例如 (xxxx xxxx xxxx xxxx) [macOS Swift]
- sqlite - 在 SQLite 中使用过滤器和分页查询多对多关系
- php - 致命错误:未捕获的 PDOException:使用 Google Cloud SQL 实例连接
- c# - 如何将标准 DayOfWeek 与 Flag 进行比较
- angular - 角度 rxjs 从 websocket 更改异步可观察
- python - 如何使用 xpath 获取跨度的类名
- vue.js - 在 v-for 中选择/取消选择单个元素
- php - 父数据库中的 Fecth 单个数据数组
- c++ - 如何将 DLL 或 LIB 导出到 MinGW .a 文件以获得正确的链接
- json - 如何在 Swift 中解析超过 1 个 RSS?