0

我有两个链接和 2 个 div。我想在隐藏 div 2 时显示 div 1。当我显示 div 2 时,我希望隐藏 div 1。我试图编写这段代码,但它似乎不起作用。(只有第一部分。视频 div 被隐藏)

<script src="http://code.jquery.com/jquery-latest.js"></script>

<script>
$(document).ready(function() {
   $('#videos').hide();
 });

$('#show_images').click(function(){
    $('#videos').hide();
    $('#images').show();
});

    $('#show_videos').click(function(){
        $('#images').hide();
        $('#videos').show();
    });

    </script>
    <a id="show_images" class="button" href="#">Images</a>
    <a id="show_videos" class="button" href="#">Videos</a>

<div id="images" class="images"></div>
<div id="videos" class="videos"></div>
4

4 回答 4

3

将绑定click handler的代码放入dom ready回调中,或者在两个div未就绪时执行代码。

$(document).ready(function() {
   $('#videos').hide();

  $('#show_images').click(function(){
    $('#videos').hide();
    $('#images').show();
  });

  $('#show_videos').click(function(){
    $('#images').hide();
    $('#videos').show();
  });
});
于 2012-07-05T05:40:56.747 回答
1

其他解决方案完美运行,但这里有一个较短的版本

$(document).ready(function()
   {
   $('#videos').hide();

   $('[id^=show_]').click(function(){
      $('#videos').toggle();
      $('#images').toggle();
      });
   });
于 2012-07-05T05:52:17.400 回答
0
$(document).ready(function() {
   $('#videos').hide();


$('#show_images').click(function(){
    $('#videos').hide();
    $('#images').show();
});

$('#show_videos').click(function(){
    $('#images').hide();
    $('#videos').show();
});
}); //close document ready here
于 2012-07-05T05:41:41.487 回答
0

上述查询还有另一种替代方法:

$(function(){
   $('#show_images').click(function(){
      $('#videos').hide();
      $('#images').show();
  });
  $('#show_videos').click(function(){
        $('#images').hide();
        $('#videos').show();
  });
  $('#show_images').trigger('click');
});

您可以在 codebins http://codebins.com/codes/home/4ldqpbm上尝试上述解决方案

于 2012-07-05T06:51:10.917 回答