【发布时间】:2017-08-25 04:53:52
【问题描述】:
所以我有一个信封图像和一个字母图像,我希望这封信顺利过渡出信封onmouseover,我希望这封信顺利过渡回原位onmouseout。现在第一个鼠标悬停是完美的,信封滑动到-400px 宽度以便在 1 秒的转换中显示字母,但是onmouseout,信封猛烈地弹回原位,我不知道为什么。此外,鼠标悬停后的任何其他鼠标悬停都会严厉捕捉onmouseover 和onmouseout 事件。这是代码:
<!doctype html>
<html lang='en-us'>
<head>
<title>Test animation</title>
<style>
.displayNow {
display: flex;
flex-direction: row;
justify-content: flex-end;
position: relative;
}
.letter {
position: absolute;
}
.envelope {
position: absolute;
transition: width 1s ease-in-out;
transition-timing-function: linear;
-webkit-transition: 1s ease-in-out;
-webkit-transition-timing-function: linear;
}
</style>
<script>
function moveOut() {
var cssString = "margin-left:-400px;";
document.getElementById('envelope').style.cssText=cssString;
}
function moveIn() {
var cssString = "margin-left:auto;";
document.getElementById('envelope').style.cssText=cssString;
}
</script>
</head>
<body>
<div class='displayNow'>
<!-- Letter -->
<img src='Letter.png' class='letter' id='letter' onmouseover='moveOut()' onmouseout='moveIn()' alt='letter'>
<!-- Envelope -->
<img src='Envelope.png' class='envelope' id='envelope' onmouseover='moveOut()' onmouseout='moveIn()' alt='envelope'>
</div>
</body>
</html>
我还尝试了 :hover 选择器,而不是产生相同结果的 onmouseout/in JavaScript 事件。
【问题讨论】:
标签: javascript html css css-transitions