如何将按钮图标从夜间模式切换到白天模式?
How do i switch the button icon from nightmode to day mode?
在下面的代码中,我将一些 js/jQuery 链接到我的 html 中的元素,这应该是不言自明的。我让控制台记录了每个 if else 语句以查看问题所在,它似乎卡在第一个 if 语句上。
function toggleDisplay() {
var icon = document.getElementById("togglebutton");
var night_icon = 'assets/Feed_Toggle_Night.png'
var day_icon = 'assets/Feed_Toggle_Day.png'
$("displaytog").on("click", () => {
if (icon.src == night_icon) {
icon.src = day_icon;
console.log("success1");
}else {
icon.src = night_icon;
console.log("success2");
}
})
}
toggleDisplay();
<displaytog>
<img src="assets/Feed_Toggle_Night.png" id="togglebutton"/>
</displaytog>
您不小心将 icon.src
分配给了 night_icon
。更改您的条件以检查它们是否包含您的任何路径。您需要使用 includes
的原因是因为 src 是完整路径,而您的条件使用的是相对路径。 src 看起来像这样 - "https://fiddle.jshell.net/_display/assets/Feed_Toggle_Day.png"
if (icon.src.includes(night_icon))
在下面的代码中,我将一些 js/jQuery 链接到我的 html 中的元素,这应该是不言自明的。我让控制台记录了每个 if else 语句以查看问题所在,它似乎卡在第一个 if 语句上。
function toggleDisplay() {
var icon = document.getElementById("togglebutton");
var night_icon = 'assets/Feed_Toggle_Night.png'
var day_icon = 'assets/Feed_Toggle_Day.png'
$("displaytog").on("click", () => {
if (icon.src == night_icon) {
icon.src = day_icon;
console.log("success1");
}else {
icon.src = night_icon;
console.log("success2");
}
})
}
toggleDisplay();
<displaytog>
<img src="assets/Feed_Toggle_Night.png" id="togglebutton"/>
</displaytog>
您不小心将 icon.src
分配给了 night_icon
。更改您的条件以检查它们是否包含您的任何路径。您需要使用 includes
的原因是因为 src 是完整路径,而您的条件使用的是相对路径。 src 看起来像这样 - "https://fiddle.jshell.net/_display/assets/Feed_Toggle_Day.png"
if (icon.src.includes(night_icon))