javascript - Jquery - 单击时更改 img src,如果单击不同的 img 或 block ,则返回旧的 src

标签 javascript jquery

我想在单击时更改图像 src,如果单击不同的图像或 block ,则返回旧的 src

    <div>
     <img src="a" />
     <img src="b" />
     <img src="c" />
     </div>

假设我点击 src="a"或 src="b"的 img,当我点击 src="c"的 img 时,我希望将其更改为 src="d",改回 src上一个图像到 src="a"或 src="b"处于初始阶段。

 $('img').click(function() {
     Imgsrc = $('img').attr("src");
     $('img.current').removeClass('current').attr("src", eval("Imgsrc"));
     $(this).closest('img').addClass('current');
     $('img.current').attr("src", "d");
 });

它正在将 src="a"的颜色更改为 src="c"。我知道,因为我首先初始化,然后如何先保存它,然后再更改。可能是个愚蠢的问题,但仍然需要帮助。

最佳答案

我建议您使用$('object').data()方法来存储图像中的值。

通过这种方式,您可以将值存储在对象本身中,并且可以轻松地换入和换出信息。

$('img').on('click',function() {
  var tradeoff = 'http://firestarter.firebrandgroup.com/images/flame-logo.gif?b20388';
  /** Reset images to original image **/
  $('img').each(function() {
    var $img = $(this);
    /** get the old original src **/
    var data = $img.data('oldsrc');
    /** only update if there is actually some value there **/
    if(data) {
      $img.attr('src',data);
      }
      
  });
  
  /** current image **/
  var $this = $(this);
  /** current href **/
  var src = $this.attr('src');
  
  /** only store if different from tradeoff value **/
  if(src != tradeoff) {
    /** store in image the old data **/
    $this.data('oldsrc',src);
  }
  /** show the tradeoff **/
  $this.attr('src',tradeoff);
});
img { width:100px;height:60px;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<img src="https://i.ytimg.com/vi/RTfvXkEXa-k/maxresdefault.jpg"><BR/>
<img src="https://i.ytimg.com/vi/XlUPuj2V6PM/maxresdefault.jpg"><BR/>
<img src="https://i.ytimg.com/vi/Haj9TAFCv5w/maxresdefault.jpg"><BR/>

关于javascript - Jquery - 单击时更改 img src,如果单击不同的 img 或 block ,则返回旧的 src,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35314249/

相关文章:

javascript - 使用 CSS3 过渡 : Applying initial class does not seem to work

jquery - 数据表ColumnDefs 访问不同的列数据?

javascript - 我在哪里可以看到 Node.js 中 JavaScript 方法的源代码,例如 hasOwnProperty?

javascript - Wicket AjaxLink 删除 onclick 监听器

javascript - 用另一个文本替换所选内容

javascript - 即使 slider 的元素结束,如何使 slider 继续循环(如何包装 slider )?

javascript - 我可以使用 magnific-popup 来显示 MP4 视频吗?

javascript - 脚本标签中的 Angular 变化值

javascript - babel 转译代码使用绝对导入

javascript - 带有事件源的 Xdebug