带有 jQ​​uery 的 Javascript 函数无法完全正常工作

标签 javascript jquery wordpress

enter image description here我正在使用一个汉堡菜单,它使用 jQuery 切换类,并使用 Javascript 淡入/淡出隐藏菜单,所有这些都在同一个单击函数中进行。它正在工作,除了在菜单最初淡入之前必须单击图标两次,甚至双击都不能使其在图标切换类的同时工作,之后它就很好并且按预期工作,只是延迟在第一个打开的页面上,或者有没有办法用 jQuery 做得更好,我确实尝试了几种方法,但无法得到它。代码如下:

 // In javascript
$( document ).ready(function() {
  $(".hamburger").click(function() {
    $("#primary_nav").toggleClass("is-active");
  }
});

// In CSS
#primary_nav {
  opacity: 0;
  pointer-events: none;
  transition: opacity 300ms;
}
#primary_nav.is-active {
  opacity: 1;
  pointer-events: auto;
}

它全部位于 init() 函数内,所以我不确定是否需要准备好文档。 (我使用 Sage 9 for WordPress) 欢迎任何提示。谢谢

更新我废弃了 javascript fade 以使用 jQuery 切换和 css,如下面的答案所示,所以现在就像这样。 原始 Javascript 的目标是点击时的 js-btn。 WordPress 生成额外的类 menu-main-container 等,如下图所示。只需要一点点即可完成导航。谢谢

最佳答案

你要求另一种方式,所以这就是我提供的。我不喜欢在 JS 中做这样的简单转换 - 我发现它们在 CSS 中更容易、更高效。所以这是我的建议:

// In javascript
$( document ).ready(function() {
  $(".hamburger").click(function() {
    $("#primary_nav").toggleClass("is-active");
  }
});

// In CSS
#primary_nav {
  opacity: 0;
  pointer-events: none;
  transition: opacity 300ms;
}
#primary_nav.is-active {
  opacity: 1;
  pointer-events: auto;
}
@media (min-width: 920px){
  #primary_nav {
    opacity: 1;
    pointer-events: auto;
  }
}

关于带有 jQ​​uery 的 Javascript 函数无法完全正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48757419/

相关文章:

javascript - Masonry 未在 WordPress 博客上加载

javascript - 如何设置恒定的导入根路径?

javascript - 如何将类应用于动态插入的 html 元素?

javascript - jQuery Ajax 请求 (CORS) 返回未定义

带有边框框大小和一些填充的 jQuery 弹跳效果

jquery:插入一个元素并在该元素上创建一个事件

wordpress - 在 Wordpress 主题中包含古腾堡 block

javascript - 即使模式已关闭,Bootstrap模式仍可继续播放数据库视频

javascript - 面漆/电话间隙导航

php - 选择某些值为 true 的帖子 ID,并使用其中的值对它们进行排序