隐藏可见内容之前查看下一个内容

问题描述:

当您点击与id="viewers"的链接以查看它的内容,然后才看得到后,当您单击与id="voters"链接,id="viewers"将隐藏,然后显示id="voters"的内容。我怎样才能做到这一点?我试过为自己,但我不走了这么远:/这是我的代码:隐藏可见内容之前查看下一个内容

$('#view_voters').click(function() { 
    if($('#viewers').is(':visible')) { 
     $('#viewers').slideUp('slow'); 
    } 

    if($('#viewers').is(':hidden')) { 
     $('#voters').slideToggle('slow'); 
    } 
}); 

HTML

echo '<div class="paddingbottom-10" id="voters" style="display: none;">'; 
    echo '<table width="100%" cellpadding="0" cellspacing="0" class="blog-viewers">'; 
     # content 
    echo '</table>'; 
echo '</div>'; 

在此先感谢。

+0

你的HTML吗? – Joseph 2012-03-05 23:28:44

+0

@Joseph:请参阅我的编辑。 – Erik 2012-03-06 01:38:41

为什么要检查两次相同的情况?只要将您的'if-if'代码转换为'if-else'代码即可,因为visiblehidden是相反的条件。就像这样:

if ($('#viewers').is(':visible')) { 
    $('#viewers').slideUp('slow'); 
} 
else { 
    $('#voters').slideToggle('slow'); 
} 
+0

谢谢,但我已经试过这种方式来解决方案 - 它没有工作:/ – Erik 2012-03-06 00:17:51

没有你的HTML是很难说,但你可以简化并做这样的事情,这也是更具扩展性。

var $panels = $('.panel'); // All your sections with class `.panel` 

var panelSlide = function ($this) { 
    $panels.find(':visible').slideUp('fast', function() { 
     $this.slideDown(); 
    }); 
}; 
$('#voters, #viewers').click(function() { 
    panelSlide($(this).find('.panel')); 
}); 
+0

谢谢,但我不能'id =“选民”'可见! :/ – Erik 2012-03-06 00:15:36

+0

这更多的是一种方法概念。我怀疑这会像那样工作。没有你的HTML我不能肯定地说。 – elclanrs 2012-03-06 00:17:00

+0

请在我的问题中查看我的编辑。我在'paddingbottom-10'('panel paddingbottom-10')之前的'class =“”'中添加了'panel'。 – Erik 2012-03-06 00:20:15

将其中一个元素设置为隐藏,并将另一个设置为可见。

<input id='view_voters' value='Toggle Viewers/Voters' type='button' /> 

<div style='display: none;' id='viewers'> 
    These are my viewers 
</div> 
<div id='voters'> 
    These are my voters 
</div> 

然后在单击时切换两个元素。

$('#view_voters').click(function() { 
    $('#viewers').toggle(); 
    $('#voters').toggle(); 

}); 

完整的示例在这里:

http://jsfiddle.net/7akvT/2/

+0

谢谢,但那不是我正在寻找的。如果可以看到id =“viewers”,并且你点击了id =“vot”,那么第一个id(查看者)将被滑下,当它完全隐藏时,'id =“选民”将会通过'SlideToggle '。 – Erik 2012-03-06 00:17:19