我有一个下拉菜单,我希望用于显示下拉菜单的图像切换,具体取决于下拉菜单是打开还是关闭...这样可以正常工作。但是,我希望在单击其余页面时图像返回到其原始的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;
答案 0 :(得分:1)
你在这里设置图像src点击,而交换应该是这样做,设置它可能会覆盖其他src,然后src和data-src将是相同的。
Await.result
可能的解决办法是再次交换:
$(".dropbtn").attr('src', '../images/image1.png');