javascript - 如何在过渡开始和结束时更改图像?
问题描述
我正在尝试制作一个行走动画,该程序执行该角色转到鼠标单击。但是当它移动以更改图像以及停止返回第一张图像时,我无法做到。这是js文件和css文件的代码:
import "./styles.css";
var theThing = document.querySelector("#thing");
var cont = document.querySelector("#contentCont");
cont.addEventListener("click", getClickPosition, false);
function getClickPosition(e) {
theThing.src = "ddd2.gif";
var parentPosition = getPosition(cont);
var xPosition = e.clientX - parentPosition.x - theThing.offsetWidth / 2;
var yPosition = e.clientY - parentPosition.y - theThing.offsetHeight / 2;
var translate3dValue =
"translate3d(" + xPosition + "px," + yPosition + "px,0)";
theThing.style.transform = translate3dValue;
}
function getPosition(element) {
var xPos = 0;
var yPos = 0;
while (element) {
xPos += element.offsetLeft - element.scrollLeft + element.clientLeft;
yPos += element.offsetTop - element.scrollTop + element.clientTop;
element = element.offsetParent;
}
return {
x: xPos,
y: yPos
};
}
body {
background-color: #fff;
padding: 50px;
margin: 0;
}
#contentCont {
width: 600px;
height: 600px;
border: 15px #ededed solid;
overflow: hidden;
background-color: #f2f2f2;
cursor: pointer;
}
#thing {
width: 80px;
height: 80px;
transition: transform 0.7s ease-in;
}
现在它从图像 1 开始,步行时变为图像 2,但停止时不会返回图像 1。
解决方案
推荐阅读
- python - Python中的日期/时间范围计算
- php - 为什么我在联系表格中看不到电子邮件地址?
- r - H2O randomForest 产生惊人的大 POJO
- jquery - 简化 jQuery If 语句
- javascript - jquery ajax POST中的字符串参数
- php - 从给定的几个月创建一个 12 个月的数组
- typescript - 无法使用比较器对我的 ag-grid 进行自定义排序
- angular - Kendo-ui Angular 7 如何将多个网格导出为一个 excel 文件?
- java - Spark 结构化流自定义 StateStoreProvide
- xslt-1.0 - XSLT 函数传递节点参数连接字符串然后返回元素值