gpt4 book ai didi

javascript - 事件仅在单击两次时激活

转载 作者:行者123 更新时间:2023-11-28 16:27:22 25 4
gpt4 key购买 nike

我正在使用 jQuery 在我的 HTML 页面上隐藏/显示侧边栏。 .toggle("slide")事件将在 <li> 时激活元素被按下。

<div class="sidebar" id="SideBar"></div>

<!-- elsewhere in code... -->
<li style="//Styling li Button." id="toggle-bar" onclick="toggleEvent();">toggle bar</li>
{
$("#toggle-bar").click(function(){
$("#SideBar").stop().toggle("slide"); // for left to right slide.
});
}

我用了.stop()在一个幻灯片效果后停止动画,但动画仅在用户首次关注 <li> 时发生元素(通过单击它)。然后再次单击以触发动画(我假设)

所以,请告诉我如何只点击一次触发动画

最佳答案

假设你展示的JS代码是toggleEvent()函数的代码块,如下所示:

function toggleEvent() {
$("#toggle-bar").click(function(){
$("#SideBar").stop().toggle("slide"); // for left to right slide.
});
}

问题在于,在第一次单击元素时,您附加了事件处理程序。然后在后续的点击中附加另一个事件处理程序,并运行之前的任何事件处理程序。这就是为什么它只在第一次点击后才起作用。

要实现您的要求,您可以完全删除 onclick 属性并通过 JS 直接附加您的事件处理程序。试试这个:

<li style="" id="toggle-bar">toggle bar</li>
$(function() {
$("#toggle-bar").click(function(){
$("#SideBar").stop().toggle("slide"); // for left to right slide.
});
});

关于javascript - 事件仅在单击两次时激活,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35841599/

25 4 0
文章推荐: html - 如何在不改变列表项大小的情况下将复选框添加到 HTML 列表项的开头
文章推荐: html - 如何仅使用 CSS 强制
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com