gpt4 book ai didi

javascript - 动画只工作一次

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:32:51 25 4
gpt4 key购买 nike

我的 javascript 代码有一个小问题。当我点击 .add-case 时,动画功能只工作一次。仍然每次都会显示“打开”功能中的警报。

$(document).on('click', '.add-case', function(){
height = $('.filling').height();
alert('Works') // This shows every time I click
$('.filling').animate({ height: $(this).height() + 40}, 600);
// this only works once
});

有人可以帮忙吗?

最佳答案

问题:

这里的问题是被点击元素的高度在点击时没有改变。因此,每次点击时都会检索和更新相同的高度。

$(this).height()

将获取点击元素的高度。事件处理程序中的 $(this) 是发生事件的元素的 jQuery 对象。

解决方案:

使用相对大小+=40 将高度增加40。虽然,$(elementSelector).height() + 40 也可以使用,但更好使用相对单位。

Animated properties can also be relative. If a value is supplied with a leading += or -= sequence of characters, then the target value is computed by adding or subtracting the given number from the current value of the property.

$(document).on('click', '.add-case', function() {
$('.filling').animate({
height: '+=40'
}, 600);
});
.filling {
height: 10px;
width: 50%;
background: yellow;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<div class="filling"></div>

<button class="add-case">Click</button>

关于javascript - 动画只工作一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33343425/

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