当前位置: 首页 > 知识库问答 >
问题:

使用jQuery切换图像源

黄博艺
2023-03-14

我想做一些有趣的事情,例如,我在我的网站上有一个图像,当一个按钮被触发时,我想更改它,但当按钮再次被点击(或添加相同的img到它)时,我想将它恢复到原来的状态,并在事件被点击时一直重复这一操作。我怎样才能做到这一点呢?

这是我当前的Jquery,但它只对一次单击起作用

    $('#menu-btn').on({
        'click': function () {
            $('#div1').attr('src', 'images/card-light.png');
        }
    });

Html代码

<button id="menu-btn">click me</button>
<img id="div1 src="./images/card-dark.png">

资产

images/card-dark.png
images/card-light.png

共有1个答案

白云
2023-03-14

在文档加载时,将图像源存储在变量中。在我们的示例中,它被称为prev

在toggle函数内部,我们检查图像的源是否与加载时的源相等。如果是的话,我们将源转换为另一个图像。当源被更改并且我们再次调用toggle函数时,我们知道源与前一个不同,因此我们将其还原回原始源。

null

$(document).ready(function() {
  var img = $('#img');
  var prev = img[0].src;
  function toggle(img) {
    let src = img.src;
    if (src == prev) {
      img.src = "https://pbs.twimg.com/profile_images/453956388851445761/8BKnRUXg_400x400.png";
      img.height="48";
    } else {
      img.src = prev;
    }
  }
  $('button').on('click', function() {
    toggle(img[0]);
  })
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" height="48"></script>
<img id="img" src="https://www.gravatar.com/avatar/0fdacb141bca7fa57c392b5f03872176?s=48&d=identicon&r=PG&f=1">
<button>Toggle</button>
 类似资料:
  • 如何根据由按钮触发的布尔状态变量显示图像?我不希望重新加载整个页面,而只是重新加载特定的图像。 Facelets页面: 背衬类: 知道这里有什么问题吗?

  • 本文向大家介绍jquery图片切换插件,包括了jquery图片切换插件的使用技巧和注意事项,需要的朋友参考一下 以上就是本文给大家分享的代码的全部内容了,希望大家能够喜欢

  • 本文向大家介绍jQuery图片切换插件jquery.cycle.js使用示例,包括了jQuery图片切换插件jquery.cycle.js使用示例的使用技巧和注意事项,需要的朋友参考一下 Cycle是一个很棒的jQuery图片切换插件,提供了非常好的功能来帮助大家更简单的使用插件的幻灯功能 下载cycle插件并引入,此时,注意把引入它的代码放在引入jQuery主文件之后。 jquery.cycle

  • 问题内容: 我想在CSS之间切换,因此当用户单击按钮()时,它会显示菜单()并更改CSS,而当用户再次单击它时,它将恢复正常。到目前为止,这就是我所拥有的: 有人可以帮忙吗? 问题答案: 对于1.9以下的jQuery版本请参阅https://api.jquery.com/toggle- event 但是,在这种情况下使用类比直接设置CSS更好,请查看提及的addClass和removeClass方

  • 问题内容: 这可能是一个简单的问题,但我很困惑,只是不知道从哪里开始。 我有一个PHP脚本(image_feed.php),该脚本返回图像的URL。每次调用此UR1时,它都会返回可用的最新图像(该图像每隔几秒钟更改一次)。 我想发生的是,当页面加载时,有一个对image_feed.php的AJAX调用,该调用返回了最新的URL。然后将该UR1插入HTM1,以替换适当的图像src。 5秒后,我希望重

  • 问题内容: 这是我想出的一小段代码的自我问答。 当前,没有一种简单的方法可以嵌入SVG图像,然后可以通过CSS访问SVG元素。有多种使用JS SVG框架的方法,但是如果您要做的只是制作带有过渡状态的简单图标,它们将过于复杂。 所以这就是我想出的,我认为这是迄今为止在网站上使用SVG文件的最简单方法。它的概念来自早期的文本到图像替换方法,但据我所知,从未对SVG进行过处理。 这是问题: 如何在不使用