当我单击div #cart-button
且动画结束时,光标必须更改为正常而不是指针,并再次单击时返回指针。 (cursor: pointer;
是CSS文件中div的默认样式)。
我试图将document.getElementById("cart-button").style.cursor="pointer";
放在else
标记之后,但是我做错了。
js代码:
$(document).ready(function() {
var expanded = false;
$('#cart-button').click(function() {
if (!expanded) {
$(this).animate({ 'top' : '380px' }, { duration : 400 });
expanded = true;
}
else {
$(this).animate({ 'top' : '226px' }, { duration: 400 });
expanded = false;
}
});
});
最佳答案
您可以通过在动画完成后调用匿名函数来做到这一点,如下所示:
对于您的if语句:
$(this).animate({top: '380px'}, 400, function() { // anonymous function
$('#cart-button').css({cursor: 'default'}); // sets cursor to default immediately after animation completes
});
expanded = true;
并为您的else语句:
$(this).animate({top: '226px'}, 400, function() {
$('#cart-button').css({cursor: 'default'});
});
expanded = false;
我相信CSS中的“正常”光标被称为默认光标,因此您需要将其设置为默认光标。
我还更改了代码的某些格式,但是可以随意使用您喜欢的任何方式。