私はドロップダウンメニューを持っていますが、ドロップダウンメニューが開いているか閉じているかによって、ドロップダウンメニューを表示するためのイメージが表示されます。しかし、ページの残りの部分がクリックされると、元のsrc(..images/image1.png)に戻ります。これはうまくいきますが、ページがクリックされた後にクリックされたときにイメージのsrcは切り替わりません。これをどうやって解決するのですか?ありがとうございました。.click(swap)は特定の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');
}
}
}
}
<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>
? – Li357
申し訳ありませんが、この問題ではmyFunction()は無関係ですが、今は取り除きます。 – CoopDaddio