javascript - 如何交换图像

标签 javascript jquery html

有没有一种方法可以在用户单击链接以展开其上的内容时交换图像。

<ul class="accor">
    <li> Item 1 <img src="../plus.png">
      <p> Lorem ipsum dolor sit amet</p>
    </li>
</ul>

$('.accor li').click(function() { 
    $(this).find('p').slideToggle('fast');
})

最佳答案

您可以更改图像的 src 属性值。或者您可以将这些图像显示为背景。然后您可以通过更改类别来切换这些图像。

您可以按如下方式更改 src 属性的值;

$('img').attr('src', 'newImageUrl');

否则,您可以将它们设为背景图像,如下所示;

样式;

.icon {
  display: inline-block;
}

.first-image {
  background: url('../plus.png');
  width: 20px;
  height: 20px;
}

.second-image {
  background: url('../image-2.png');
  width: 20px;
  height: 20px;
}

顺便说一句;您需要通过图像更新这些类的高度和宽度值。

html;

<ul class="accor">
    <li> Item 1 <span class="icon first-image"></span>
      <p> Lorem ipsum dolor sit amet</p>
    </li>
</ul>

对于最后一个解决方案,您需要使用 javascript 更改类;

$('.accor li').click(function() { 
  var $icon = $(this).find('.icon');

  if ($icon.hasClass('first-image') {
    $icon.removeClass('first-image').addClass('second-image');
  } else {
    $icon.removeClass('second-image').addClass('first-image');
  }

  $(this).find('p').slideToggle('fast');
});

我希望这能奏效。

关于javascript - 如何交换图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38415781/

相关文章:

javascript - setInterval 函数 JavaScript 的问题

javascript - 单击文件输入在 IE 中打开浏览窗口

javascript - 根据用户选择启用和禁用单选按钮

html - 如何在容器div中底部垂直对齐具有不同字体大小的两个div

javascript - 如何在 Mongoose 中排除 "upsert-ed"字段?

jquery - 如何将 $(document) 和 $(window.parent.document) 合二为一?

javascript - 模态隐藏不起作用

php - 使用php读取txt文件(file_get_contents)从mysql获取数据到html表时没有结果

javascript - 使用 BeautifulSoup 从图像标签 Src 属性中提取 JPG

javascript - 如何禁用 ion-datetime 中的特定日期?