Jquery显示/隐藏多重问题

时间:2014-03-20 22:28:18

标签: jquery css html show-hide

现在,如果您点击链接" Button1"或" Button2"它始终显示" First Block"用"第二块"或"第三块"。但是当您再次单击链接时,将隐藏第二个或第三个块,但仍会显示第一个块。如果通过单击隐藏其他块,我需要删除第一个块。只有在显示另一个块时才应显示第一个块。

并链接"全部显示"应改为"全部隐藏"如果所有块都显示并更改为"显示全部"如果没有显示块。块数量将超过三个。

JAVASCRIPT

 <script type="text/javascript">    
$(document).ready(function(){
var visibleText="Hide all";
var hiddenText="Show all";
$('a#showall').toggle( 
    function() { 
        $('#eventDescriptions>div').slideDown(); 
        $(this).html(visibleText);
    }, 
    function() { 
        $('#eventDescriptions>div').slideUp(); 
        $(this).html(hiddenText);
    } 
);
  $('#eventDescriptions>div').hide();
  $('#eventTitles a').click(function(){
    var target = $(this).attr("rel");
    $(target).slideToggle('slow');
    $('#showalways').show();
  });
});
</script>

HTML

a href="#" id="showall">Show all</a>

<ul id="eventTitles">

    <li><a href="#" id="button1" rel="#divblock1">Button1</a></li>
    <li><a href="#" id="button2" rel="#divblock2">Button2</a></li>
</ul>
<div id="eventDescriptions">
  <div id="showalways">First Block</div>
  <div id="divblock1">Second Block</div>
  <div id="divblock2">Third Block</div>
</div>

1 个答案:

答案 0 :(得分:0)

将隐藏事件添加到divblock1和divblock2

你在哪里

检查是否还隐藏了另一个divblock并添加:

 $('#showalways').hide();

以及divblock1和divblock2的show事件:

 $('#showalways').show();