gpt4 book ai didi

javascript - JS如何控制匿名函数

转载 作者:行者123 更新时间:2023-12-03 06:15:27 24 4
gpt4 key购买 nike

场景:

我有一个想要自动调用的函数。但是单击鼠标后我希望该功能停止。如何在JS中控制匿名函数?

示例

HTML

<div id="seventyfive" style="position:absolute; font-size:10px; font-weight:bold">
<img src="https://upload.wikimedia.org/wikipedia/commons/thumb/f/f1/Heart_coraz%C3%B3n.svg/200px-Heart_coraz%C3%B3n.svg.png" style="width:50px"/>
</div>

JS

(function pulse(back) {
$('#seventyfive').animate(
{
'font-size': (back) ? '10px' : '15px',
opacity: (back) ? 0.3 : 1
}, 600, function(){pulse(!back)});
$('#seventyfive img').animate(
{
'width': (back) ? '50px' : '40px'
}, 600);
})(false);

var on = true;
$("#seventyfive").click(function(){

on = !on;

if(on){

// Start/Stop Pulse function
}

});

JSFiddle 示例 JSFiddle Example

最佳答案

您可以通过使用 CSS 受益于硬件加速,从而大幅提高性能。

$("#seventyfive").click(function() {
$(this).toggleClass("pulsing");
});
.heart.pulsing img {
animation: pulse 600ms ease infinite alternate;
}

@keyframes pulse {
0% {
transform: none;
}
100% {
transform: scale(1.2);
opacity: 0.3;
}
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"></script>
<div id="seventyfive" class="heart" style="position:absolute; font-size:10px; font-weight:bold">
<img src="https://upload.wikimedia.org/wikipedia/commons/thumb/f/f1/Heart_coraz%C3%B3n.svg/200px-Heart_coraz%C3%B3n.svg.png" style="width:50px" />
</div>

有了这个,只需将pulsing类应用到#seventy Five,心脏就会跳动。请注意,此动画是 opacitytransform,而不是 font-size,以避免触发浏览器执行重新布局。

关于javascript - JS如何控制匿名函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39127265/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com