javascript - 如何检测悬停过渡的结束
问题描述
如何检测 :hover 过渡的结束?我已经尝试过到处都可以找到的用于过渡的代码,即:
document.getElementById('title-text').one('webkitTransitionEnd otransitionend oTransitionEnd msTransitionEnd transitionend',
function(e) {
console.log('done');
});
解决方案
您应该注意transitionend
事件侦听器,因为它仅在转换完成后才起作用,而不是当用户将鼠标拉出元素时。
有人提到要注意mouseout
事件,不要那样做。
document.getElementById('title-text').addEventListener('transitionend', function(e) {
console.log('done');
});
#title-text {
font-size: 60px;
font-weight: bold;
transition: 4s ease-in-out;
}
#title-text:hover {
font-size: 100px;
}
<div id='title-text'>This is Text</div>
此外,如果您希望它只执行一次,请使用以下jQuery
.one()
方法执行此操作:
$('#title-text').one('transitionend', function(e) {
console.log('done');
});
#title-text {
font-size: 60px;
font-weight: bold;
transition: 4s ease-in-out;
}
#title-text:hover {
font-size: 100px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id='title-text'>This is Text</div>
推荐阅读
- ssl - 如何获取 .cer 或 .crt 格式的公钥
- qt - QTableWidget 选择行太慢
- python - 如果需要,使用 SQL 或代码从 multipe(4) 表连接中获取结果(python)
- javascript - 包含对象的数组长度
- haskell - 解析错误:Haskell
- java - Jenkins_获取maven项目的编译错误(找不到符号)导致构建失败
- sql-server - 带有 2 个参数的 SQL Server 过程 - 为什么不起作用?
- c++ - 未知大小的模板地图
- javascript - 在 jQuery 闭包中,如何获取窗口属性描述符?
- linux - 如何在不输入密码的情况下签署 rpm 包?