0

知道如何设置背景位置,因此当标签关闭时,背景始终为“背景位置”、“5% 50%”,如果标签打开,其背景位置始终为“背景位置”、“5%” 115%' ?

我假设某处需要有一个 if(element).is(':hidden') 语句。

谢谢!

$('.blue-tab').toggle(function() {  
        var group = $(this).parent('.group-wrap').children('.indi-group');  
            $('.indi-group').not(group).hide(300);
            group.slideToggle(600, function() {
                $(this).parent('.group-wrap').children('.blue-tab').css('background-position', '5% 115%');
            });
    }, function() {
        var group = $(this).parent('.group-wrap').children('.indi-group');
            $('.indi-group').not(group).hide(300);
            group.slideToggle(600, function() {
                $(this).parent('.group-wrap').children('.blue-tab').css('background-position', '5% 50%');
            });
        return false;
    });
4

1 回答 1

0

您需要使用.is(":visible")- jQuery Docs
您可以使用它来测试所选元素是可见还是隐藏。

所以你会做这样的事情:

if($('.blue-tab').is(":visible")){
    // Change your BG position to '5% 115%'
    $(this).parent('.group-wrap').children('.blue-tab').css('background-position', '5% 115%');
} else {
    // Its not visible.. so change the position to '5% 50%'
    $(this).parent('.group-wrap').children('.blue-tab').css('background-position', '5% 50%');
}

确保在开始任何动画之前调用它,如果元素处于中间过渡状态,它将始终是 vislble (TRUE),无论它是动画还是动画。

于 2012-08-04T14:11:47.620 回答