3

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

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 个不同的图像和文本。

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

4

2 回答 2

3

一个优雅的解决方案是像这样包装切换链接和切换的内容:

<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/!练习愉快!

于 2012-10-09T20:43:16.430 回答
0

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

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

$('.show_hide').click(function(){
     var myClass=$(this).attr('data-target');
     $("."+myClass).slideToggle();
}
于 2012-10-09T20:32:33.927 回答