gpt4 book ai didi

javascript - 无法触发jquery中的onclick事件

转载 作者:行者123 更新时间:2023-12-01 04:32:49 26 4
gpt4 key购买 nike

我无法在 jquery 中单击时切换 div 的类

预期行为:我想将 close 类添加到汉堡菜单中,使其在单击时变成十字,并希望为移动屏幕显示叠加层,但目前我只想弄清楚如何触发此 onclick 事件。

这是我用来执行此操作的代码:

$("#mobile-menu").click(function() {
$(".icon").toggleClass("close");
var x = document.getElementsByClassName("overlay")[0];
if ($(".icon").hasClass("close")) {
x.style.display = "block";
$("body").addClass("modal-open");
} else {
x.style.display = "none";
$("body").removeClass("modal-open");
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="mobile-menu">
<div class="icon">
<span class="line top"></span>
<span class="line middle"></span>
<span class="line bottom"></span>
</div>
</div>
.line {
position: absolute;
height: 4px;
width: 100%;
background-color: black;
border-radius: 30%;
transition: cubic-bezier(0.26, 0.1, 0.27, 1.55) 0.35s;
}
.icon.close .top {
transform: rotate(45deg);
top: 48%;
}
.icon.close .middle,
.icon.close .bottom {
transform: rotate(-45deg);
top: 48%;
}

最佳答案

您的元素似乎没有绑定(bind)到单击功能。你需要使用document.ready 检查准备情况并绑定(bind)事件。

下面是工作代码片段:

$(document).ready(function(){

$("#mobile-menu").click(function() {
$(".icon").toggleClass("close");
var x = document.getElementsByClassName("overlay")[0];
if ($(".icon").hasClass("close")) {
x.style.display = "block";
$("body").addClass("modal-open");
} else {
x.style.display = "none";
$("body").removeClass("modal-open");
}
});
});

关于javascript - 无法触发jquery中的onclick事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61866176/

26 4 0
文章推荐: javascript - 为什么 jQuery .find() 只返回第一个元素?
文章推荐: html - 将