如何使图库更容易

时间:2015-02-10 08:00:10

标签: javascript

我知道如何使用javascript制作图片库..当我点击图片时它变得更大......好吧如果我有50张图片......我必须为我的画廊写50个功能才能工作!! ... 我的问题是......有没有办法编写一个能节省我时间和费用的短函数?

例如,这是其中一项功能:

function changeImg1(){
  $("#show").hide("explode");
  $("#show").show("bounce");
  $("#captionText").hide("explode");
  $("#captionText").show("pulsate");
  showImage.setAttribute("src",images[1]);
  showCaption.innerHTML=(captions[1]);
  imageIndex=1;
  captionIndex=1;
};

非常感谢,我从你那里学到了很多东西......

1 个答案:

答案 0 :(得分:0)

你需要在js和jquery中读到“this”。例如

$(".many_many_img_with_same_class").click(function(){

  var current_img_src = $(this).attr( "src" );

  alert(current_img_src);

});

所以点击img,函数在这个img的上下文中运行,并且总是显示点击的img的src。 附:在评论中提出问题

HTML

<img src="/some/place1" data-any-spec-text="my text 1" class="many_many_img_with_same_class">
<img src="/some/place124" data-any-spec-text="my text 222" class="many_many_img_with_same_class">
<img src="/some/other/place" data-any-spec-text="more text 222" class="many_many_img_with_same_class">

JS

$(".many_many_img_with_same_class").click(function(){

  var current_img_src = $(this).attr( "src" );
  var current_img_capton_info = $(this).data( "any-spec-text" );

  alert(current_img_src, current_img_capton_info);

});