如何在动画后改变光标



当我点击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中的"正常"游标被称为default,所以您应该将其设置为

我还更改了代码的一些格式,但请随意使用您喜欢的方式。

最新更新