为了账号安全,请及时绑定邮箱和手机立即绑定

为什么我的函数在第二次单击时不加载新的类名?

为什么我的函数在第二次单击时不加载新的类名?

一只甜甜圈 2022-06-16 15:27:03
我有一个附有我的功能的模态:<img onclick="modalZoom()" class="zoomed-out" id="modal-img">我的功能如下所示:function modalZoom() {    var imgClass = document.getElementById("modal-img").classList;    var pedImg = document.getElementById("modal-img");    if (imgClass = "zoomed-out") {        pedImg.classList.remove("zoomed-out");        pedImg.classList.add("zoomed-in");    } else {        pedImg.classList.remove("zoomed-in");        pedImg.classList.add("zoomed-out");    }    console.log(imgClass);}我也尝试添加一个else if语句而不是仅仅添加一个语句else,但我的问题是,当我第一次单击它时,它会读取该类,并且由于它是zoomed-out,它会删除它并添加zoomed-in. 但是由于某种原因,当我第二次单击它时,console.log(imgClass);仍然返回zoomed-out并且我的代码的后半部分没有运行,即使我可以在我的检查器中看到类 IS zoomed-in。函数第一次运行时是否var imgClass唯一运行,如果是,我该如何解决?我尝试删除变量并直接在if语句中获取类,但我仍然遇到同样的问题。
查看完整描述

1 回答

?
MYYA

TA贡献1868条经验 获得超4个赞

所以我将代码更改为if (imgClass.match("zoomed-out")). 老实说,我不知道有什么区别,但它确实有效。



查看完整回答
反对 回复 2022-06-16
  • 1 回答
  • 0 关注
  • 94 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信