任何想法如何设置背景位置,因此当关闭选项卡时,背景总是“背景位置”,“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;
});
答案 0 :(得分: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%');
}
确保在开始任何动画之前调用此方法,如果元素处于转换中期,则它始终是可见的(TRUE)
,尽管它的动画输入或输出。