显示隐藏多个div

时间:2012-10-09 20:29:23

标签: jquery click toggle show-hide

这个想法是,当我点击一张图片时,另一张图片和一些文字会显示出来。我已经成功了:

Jquery

$(document).ready(function(){

    $(".slidingDiv").hide();
    $(".show_hide").show();

$('.show_hide').click(function(){
$(".slidingDiv").slideToggle();
});

});

HTML

  <a href="#" class="show_hide"
   ><img src="images/owl.png" id="owl" width="200" height="200"  alt="owl"></a>


  <div class="slidingDiv">
  Philip to the rescue!! <img src="images/cola.jpg"
     width="256" height="320" alt="cola  Philip">
  <a href="#" class="show_hide">Hide</a></div>

CSS

.slidingDiv {
   height:300px;
   padding:20px;
   margin-top:10px;
}

.show_hide {
   display:none;
}

但我对如何使用多张图片做到这一点感到有点困惑?

如果我有一个例子,有8个不同的可点击图像,可以显示8个不同的图像和文本。

并且,有没有办法让它上升而不是下降?

2 个答案:

答案 0 :(得分:4)

一个优雅的解决方案是包装切换链接和切换内容,如下所示:

<div class="toggler-wrap">
    <a href="#" class="toggler">Toggle content</a>
    <div class="content">This text can be toggled.</div>
</div>

然后您可以使用以下代码切换任何内容div:

$(function(){
    $('.toggler').click(function(event){
        event.preventDefault();
        $(this).parent().find('.content').slideToggle();
    });
});

请参阅http://jsfiddle.net/TW5Eq/以获取示例! 玩得开心!

答案 1 :(得分:1)

您可以使用数据属性来抽象类名:

<a href="#" data-target="someclass" class="show_hide">

$('.show_hide').click(function(){
     var myClass=$(this).attr('data-target');
     $("."+myClass).slideToggle();
}