javascript - 带字幕的可选图像列表

标签 javascript jquery html css

我有一个可选择的图像列表,我需要在每个图像项的正下方显示标题(例如:第一个元素下方的 Caption1 等等)。

我试过下面的代码

我如何实现它?有没有办法从 li 替换

为了别的什么?

$('.images_list li').click(function() {
  $('.images_list .selected').removeClass('selected');
  $(this).toggleClass('selected');
  var clicked = $(this).attr('title');
  $("#"+clicked).removeClass("hidden").siblings().addClass("hidden");
});
.images_list li {
  list-style: none;
  float: left;
  width: 125px;
  height: 72px;
  margin-right: 10px;
  padding:5px
}

.images_list li span {
  display:none;
  position:absolute;
  top:0px;
  left:0px;
  width:24px;
  height:24px;    
}

.border {
  border: 1px solid #D8D8D8;
}
.selected {
  border: 2px solid #999999;

}
.hidden {
  display:none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="images_list">
    <li class="border" title="content_1">
        <img src="https://t.pimg.jp/icon/029/957/563/29957563.jpg" />
        <span>
      <img src="" />
      <span>Caption1</span>
        </span>
    </li>
    <li class="border" title="content_2">
        <img src="https://t.pimg.jp/icon/029/957/563/29957563.jpg" />
        <span>
          <img src="" />
      <span>Caption2</span>
        </span>
    </li>
</div>
<div class="img_info">
    <div id="content_1" class="content hidden">content1</div>
    <div id="content_2" class="content hidden">content2</div>
</div>

最佳答案

只需从 .images_list li span 中删除 display:noneposition:absolute

$('.images_list li').click(function() {
  $('.images_list .selected').removeClass('selected');
  $(this).children('img').toggleClass('selected');
  var clicked = $(this).attr('title');
  $("#"+clicked).removeClass("hidden").siblings().addClass("hidden");
});
.images_list li {
  list-style: none;
  float: left;
  width: 125px;
  height: 72px;
  margin-right: 10px;
  padding:5px
}

.images_list li span {
  width:24px;
  height:24px;    
}

.border {
  border: 1px solid #D8D8D8;
}
.selected {
  border: 2px solid #999999;

}
.hidden {
  display:none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="images_list">
    <li class="border" title="content_1">
        <img src="https://t.pimg.jp/icon/029/957/563/29957563.jpg" />
        <span>
      <img src="" />
      <span>Caption1</span>
        </span>
    </li>
    <li class="border" title="content_2">
        <img src="https://t.pimg.jp/icon/029/957/563/29957563.jpg" />
        <span>
          <img src="" />
      <span>Caption2</span>
        </span>
    </li>
</div>
<div class="img_info">
    <div id="content_1" class="content hidden">content1</div>
    <div id="content_2" class="content hidden">content2</div>
</div>

关于javascript - 带字幕的可选图像列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46620684/

相关文章:

javascript - 文本与 gojs TreeMap 中的箭头重叠

jquery - 为什么我的范围未定义?

jquery对齐页面的容器表

javascript - 在保留现有元素和事件监听器的同时修改 HTML

javascript - 发送电子邮件,html > jQuery > PHP

javascript - 为什么我的 Observable 从未被解决?

javascript - 为什么我的 for 循环卡在第二个选项上?

javascript - 当滚动处于事件状态时使页脚消失

javascript - 循环遍历 div 并赋予它们 if 然后使它们可点击

javascript - 如果单词包含PHP数组循环中的空格,则写入时数据会 split