javascript - javascript在点击时使div变大或变小
问题描述
嘿,我正在尝试让 div 在单击时变大,如果再次单击变小,我只是想知道是否有办法做到这一点?我可以添加动画吗?
document.addEventListener('click', function(event) {
if (!event.target.matches('.hud-map')) return;
event.preventDefault();
var map = document.getElementById("hud-map");
map.style.height = "200px";
map.style.width = "200px";
}, false);
<div id="hud-map" class="hud-map" style="width: 100px; height: 100px;
border-radius: 1em; color: rgb(211, 84, 0); border: 2px solid rgb(0, 0, 0);">
</div>
对不起我的英语不好
解决方案
您可以使用 CSS 来处理类似的动画transition: all .5s;
,并处理大小的切换,例如(map.style.height == '200px') ? "100px" : "200px";
document.addEventListener('click', function(event) {
if (!event.target.matches('.hud-map')) return;
event.preventDefault();
var map = document.getElementById("hud-map");
map.style.height = (map.style.height == '200px') ? "100px" : "200px";
map.style.width = (map.style.width == '200px') ? "100px" : "200px";
}, false);
#hud-map {
width: 100px;
height: 100px;
border-radius: 1em;
color: rgb(211, 84, 0);
border: 2px solid rgb(0, 0, 0);
transition: all .5s;
}
<div id="hud-map" class="hud-map">
</div>
推荐阅读
- c++ - 如果实际对象是非常量的,那么 const_cast(this) 是否具有未定义的写操作行为?
- excel - 此代码有时会工作,有时会在运行时出现错误消息
- powershell - PowerShell 可以给关键字起别名吗?
- oracle - 在oracle存储过程中将数据插入到多个表中
- java - 如何在 JdbcTemplate 中创建 mySQL 存储过程
- validation - 如何在每个用户的数据库中保持设计文档同步
- ionic4 - Razorpay 与 Ionic 4 的集成出现错误请求错误
- wpf - .Net Core 3.0 hostfxr.dll 找不到
- c++ - 使用 poco ODBC 将波斯字符串插入 sql server 时显示错误字符
- javascript - addeventlistener 甚至多次触发