gpt4 book ai didi

javascript - 触发动画的鼠标悬停问题

转载 作者:行者123 更新时间:2023-11-28 01:17:45 24 4
gpt4 key购买 nike

我最近发现/ fork 了这个 fiddle ,它带有点击时触发的动画(http://jsfiddle.net/james_doe/Lqwm98cd/)。我用它作为基线来创建我自己的触发动画,用于通知用户一个元素已被复制到剪贴板的屏幕覆盖。到目前为止,这是我在这方面的进展:

http://jsfiddle.net/james_doe/Lqwm98cd/25/

$('.copy-to-clipboard').click(function(){
$target1 = $('.copy-success');
$target1.removeClass('copy-animation');
setTimeout("$target1.addClass('copy-animation');",100);
$target2 = $('.copy-success span');
$target2.removeClass('copy-animation-text');
setTimeout("$target2.addClass('copy-animation-text');",100)
});
body{
width: 100%;
height: 100%;
position: relative;
font-family: arial;
font-size: 20px;
}

.copy-success{
display: table;
margin: 0;
padding: 25px;
width: 100%;
height: 100%;
text-align: center;
background: #91e35fe6;
color: #fff;
opacity: 0;
pointer-events: none;
position: fixed;
right: 0;
top: 0;
}

.copy-success span{
display: table-cell;
opacity: 0;
vertical-align: middle;
}

.copy-animation {
-webkit-animation: success 2s ease;
-moz-animation: success 2s ease;
-webkit-animation-iteration-count: 1;
-moz-animation-iteration-count: 1;
}
.copy-animation-text {
-webkit-animation: success-text 1.8s ease;
-moz-animation: success-text 1.8s ease;
-webkit-animation-iteration-count: 1;
-moz-animation-iteration-count: 1;
-webkit-animation-delay: 0.1s;
-moz-animation-delay: 0.1s;
}
@-webkit-keyframes success {
0% { opacity: 0; }
15% { opacity: 1; }
85% { opacity: 1; }
100% { opacity: 0; }
}
@-moz-keyframes success {
0% { opacity: 0; }
15% { opacity: 1; }
85% { opacity: 1; }
100% { opacity: 0; }
}

@-webkit-keyframes success-text {
0% { transform: translateY(25px); }
15% { transform: translateY(0); }
85% { transform: translateY(0); }
100% { transform: translateY(-25px); }
}
@-moz-keyframes success-text {
0% { opacity: 0; transform: translateY(25px); }
15% { opacity: 1; transform: translateY(0); }
85% { opacity: 1; transform: translateY(0); }
100% { opacity: 0; transform: translateY(-25px); }
}

.button {
background-color: #ccc;
border-radius: 10px;
padding: 10px;
margin: 10px;
cursor: pointer;
display: inline-block;
font-family: sans-serif;
}
.button:hover {
background-color: #eee;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="copy-success">
<span>Copied to Clipboard</span>
</div>

<div class="button copy-to-clipboard">
Click me
</div>

动画完成,点击按钮时触发。但是,我遇到的问题是,只要在单击按钮后稍微移动鼠标,动画就会重置(疯狂移动鼠标会导致它像频闪灯一样闪烁,如果我正在看,这实际上很酷来创造这种效果)。

我试过弄乱 z-index、pointer-events 和它构建的其他方面,但似乎没有什么可以阻止这个错误。有人可以帮助防止这种情况发生吗?

最佳答案

我无法在您的 fiddle 中复制您的体验。

话虽如此,您是否尝试过在动画之前禁用 CSS 中的指针事件?

pointer-events: none;

不要忘记在之后重新打开它们:

pointer-events: all;

关于javascript - 触发动画的鼠标悬停问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51715693/

24 4 0
文章推荐: javascript - Angular.js 中
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com