javascript - 是否可以让 if 语句慢慢地将一个 img 更改为另一个?
问题描述
这是一个简单的 JS 函数:onclick
将检查某些 div 并替换这些 div 中的图像。
我的问题:我可以只使用 JS 来调节图像之间的过渡时间吗?
谢谢!
function menu() {
if (document.getElementById("contactus").getAttribute('src') ==
"images/mainpage/image1.png") {
document.getElementById("contactus").src =
"images/mainpage/image2.png";
}
}
解决方案
src
不,如果您更改属性,则无法执行此操作。然而,还有其他方法可以做到这一点。您可以使用两个图像元素并为opacity
css 属性设置动画,或者您可以创建一个 div 并设置该background-image
属性。
function changeImage1() {
var img = document.getElementById("myimg1")
img.style.opacity = 0;
}
function changeImage2() {
var img = document.getElementById("myimg2")
img.style.backgroundImage = 'url("https://cdn.vox-cdn.com/uploads/chorus_asset/file/10675351/The_Verge_Cubeometry_Wallpaper_Portrait.0.png")'
}
#imgContainer {
position: relative;
}
#myimg1 {
transition: opacity 5s;
position: absolute;
top: 0;
left: 0;
}
#myimg2 {
background-image: url("https://cdn.vox-cdn.com/uploads/chorus_asset/file/10675417/The_Verge_Singularity_Wallpaper_Portrait.0.png");
background-size: contain;
transition: background-image 5s;
width: 100px;
height: calc(100px * 3840 / 2160);
}
<h1>Option 1</h1>
<div id="imgContainer">
<img src="https://cdn.vox-cdn.com/uploads/chorus_asset/file/10675351/The_Verge_Cubeometry_Wallpaper_Portrait.0.png" width="100">
<img id="myimg1" src="https://cdn.vox-cdn.com/uploads/chorus_asset/file/10675417/The_Verge_Singularity_Wallpaper_Portrait.0.png" width="100">
</div>
<button onclick="changeImage1()">Change</button>
<h1>Option 2<h1>
<div id="myimg2"></div>
<button onclick="changeImage2()">Change</button>
推荐阅读
- wordpress - 找不到重定向“配置文件”
- javascript - 如何从输入标签中的单个选择选项中显示每个选定的值
- flutter - 带有圆形图像图标的颤振布局
- python-3.x - 我正在使用 bs4 进行网页抓取,但网址不会显示
- javascript - 在 Laravel 中实现 intlTelInput 的问题
- bash - 如何在函数中创建目录
- javascript - 如何使用 jquery 将数组值分配给另一个输入类型
- apache-spark - Parquet 文件大小如何随 Spark 数据集中的计数而变化
- python - 重载、引用以及介于两者之间的所有内容
- javascript - React 的 Firebase onAuthStateChanged 错误