.click(swap)在给出特定的src时停止工作?

时间:2016-07-01 01:00:06

标签: javascript jquery html css

我有一个下拉菜单,我希望用于显示下拉菜单的图像切换,具体取决于下拉菜单是打开还是关闭...这样可以正常工作。但是,我希望在单击其余页面时图像返回到其原始的src(..images / image1.png)。这也可以正常工作,但是,单击页面后单击图像时,图像的src不会切换。我该如何解决?三江源。



$(function() {

  function swap() {
    var mem = this.src;
    this.src = $(this).data('src');
    $(this).data('src', mem);
  }
  $('.dropbtn').click(swap);

});

window.onclick = function(event) {
  if (!event.target.matches('.dropbtn')) {

    var dropdowns = document.getElementsByClassName("dropdown-content");
    var i;
    for (i = 0; i < dropdowns.length; i++) {
      var openDropdown = dropdowns[i];
      if (openDropdown.classList.contains('show')) {
        openDropdown.classList.remove('show');
        $(".dropdown-content").slideToggle();
        $(".dropbtn").attr('src', '../images/image1.png');
      }
    }
  }
}
&#13;
<div class="dropdown">
  <div id="infotoggler">
    <img onclick="myFunction()" src="../images/image1.png" data-src="../images/image2.png" class="dropbtn" />
  </div>
  <div id="myDropdown" class="dropdown-content">
    <a href="http://www.coopertimewell.com">Home</a>
    <a href="http://www.coopertimewell.com/portfolio">Portfolio</a>
    <a href="http://www.coopertimewell.com/contact">Contact</a>
    <a href="http://www.coopertimewell.com/downloads">Downloads</a>
  </div>
</div>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:1)

你在这里设置图像src点击,而交换应该是这样做,设置它可能会覆盖其他src,然后src和data-src将是相同的。

Await.result

可能的解决办法是再次交换:

$(".dropbtn").attr('src', '../images/image1.png');