CSS 转换在toggleClass() 之后不起作用

2024-05-14

我创建了一个切换菜单,如图所示这个演示 http://jsfiddle.net/85Ryan/Hrsdw/1/.

我添加了一个CSS过渡效果div.nav-menu,我用过max-height:0; to max-height:480px;.

当我单击菜单切换以显示菜单时,过渡效果很好。但是,当我单击菜单切换再次隐藏菜单时,转换不起作用。

我做错了什么?


你对 CSS 过渡的理解是错误的。他们添加或删除类时不要设置动画,只有当你更改 CSS 属性. 并且您直接添加和删除类。

这是您的解决方案:

$( '.menu-toggle' ).on( 'click', function() {
    if(nav.hasClass('toggled-on')) {
       menu.css('maxHeight', 0);
       //^ Here is changed the 'max-height` first so that the 
       //  Transition animation will trigger first
    }
    else menu.css('maxHeight', '480px'); 
         // ^ If not I changed it back to 480px;
} );

// Next I bind on the transaction end event of the element to toggle class
// After it finishes the transistion

menu.on("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd", function() {
    nav.toggleClass( 'toggled-on' );
});

更新了小提琴 http://jsfiddle.net/Hrsdw/7/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CSS 转换在toggleClass() 之后不起作用 的相关文章

  • Google 字体(上面有空格)无法在 IE7/IE8 上呈现

    有谁知道为什么 IE7 IE8 不会渲染 Google 字体 如果名称上有空格 您可以在这里查看演示 http jsfiddle net fYzAb 1 http jsfiddle net fYzAb 1 完全相同的两个标签 一个使用 Os
  • 如何左对齐 Bootstrap 3 下拉菜单?

    在上图中 MenuItems 与 MyMenu 的右侧对齐 我需要将 MyMenu 的 MenuItems 左对齐 我的意思是它必须与 MyMenu 的左边缘对齐 我尝试使用 pull left 和 pull right 类 例如 ul c
  • 检测滚动条是否可见(例如在移动设备上)

    我见过很多关于检测 HTML 元素是否可滚动的问题 答案 例如动态检测滚动条 https stackoverflow com questions 33805052 detect scrollbar dynamically 我需要类似的东西
  • Chrome 中的混合混合模式问题

    我一直在尝试在包含 css 不透明度过渡实例的页面上使用混合混合模式 似乎正在发生的情况是 包含 mix blend mode 的 div 在过渡期间 或者更确切地说 在动画进行过程中 显示得与没有混合模式时一样 我只发现这是 Chrome
  • SASS for 循环更新 hsla 亮度返回错误 $lightness: "96.77419" 不是 `hsla' 的数字

    我试图循环一定次数 逐渐降低 hsla 的亮度值 但是当我运行循环时 出现错误 lightness 96 77419 is not a number forHSLA 谁能告诉我哪里出了问题或者如何改进 Code iterations 31
  • 在聚合物元素中动态注入共享样式(聚合物1.2.3)

    我确实有几个自己创建的嵌套聚合物元素 目前 通过使用聚合物共享样式 我可以将自定义样式注入其他元素 不幸的是 这种方法仅限于静态使用 因此 在实现时 我确实需要通过导入共享样式模块来知道哪个元素应该使用哪种共享样式 and 但在我的用例中
  • 使用 jquery 触发 css3 关键帧

    我写了一个关键帧动画 webkit keyframes cubemove 0 webkit transform translateZ 194px rotateY 0deg 20 webkit transform translateZ 194
  • 使用 Flexbox 时 Apex 图表无法正确调整大小

    最近 我将 Floats 更改为 FlexBox 以便更轻松地使用面板 正如我在其他问题上所建议的那样 虽然大多数事情都按我的预期工作 但更改后我在使用 Apex Charts 时遇到了问题 完整代码在这里 https github com
  • 使用 moment.js 和 setInterval 动态日期和时间

    我试图找出如何使用显示动态日期和时间moment js http momentjs com 显然我无法弄清楚如何正确使用 setInterval 如果可能的话 我不想使用 jQuery 因为 moment js 不需要它 这是我到目前为止所
  • 解决错误 413 请求实体太大

    我正在从事的项目允许我们的员工将大文件上传到我们的共享主机并获取下载链接 问题是我们的托管拒绝更改共享托管的 LimitRequestBody 还有其他解决方案可以解决 LimitRequestBody 或任何其他方法来完成这项工作吗 有两
  • 我应该使用媒体查询来定位哪些设备/推荐尺寸?

    我是响应式网页设计的新手 并且感到困惑 因为对于使用哪些媒体查询以及要定位哪些设备有不同的偏好 有标准吗 我想定位 iPhone iPad 和其他流行设备 我在网上找到了这个 Smartphones portrait and landsca
  • JQuery AJAX 使用 SOAP Web 服务 [关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我一直在尝试学习 JQuery 使用 AJAX 来使用我不久前编写的 SOAP Web 服务 下面是我正在使用的代码
  • jquery(或纯js)模拟按下回车键进行测试

    模拟用户按 enter 键的最佳方法是什么 element keypress 似乎不允许我传递按下的实际键 这是用于单元测试的 演示在这里 http jsfiddle net 3xTM2 var e jQuery Event keypres
  • CSS 列不会水平对齐

    我正在使用列计数来允许我的文本流入两个不同的列 但第一列的顶部 最左边 低于另一列 col moz column count 2 webkit column count 2 column count 2 div h3 Options h3
  • css 变换,chrome 中的锯齿状边缘

    我一直在使用 CSS3 转换来旋转网站中带有边框的图像和文本框 问题是 Chrome 中的边框看起来呈锯齿状 就像没有抗锯齿的 低分辨率 游戏一样 在 IE Opera 和 FF 中看起来好多了 因为使用了 AA 仍然清晰可见 但也没有那么
  • Javascript TypeError:无法读取未定义的属性“indexOf”

    在此代码中 我想从cart products array var cart products 17 1 19 1 18 1 var product 17 each cart products function key item if ite
  • 管道符 (|) 和脱字符号 (^) 属性选择器有什么区别?

    At W3学校 http en wikipedia org wiki W3Schools他们声明两者 http www w3schools com cssref sel attribute value lang asp and http w
  • 垂直滚动,与 div/元素/锚点对齐/对齐

    我发现了一些可爱的网站 http www mini jp event campaign big point http www mini jp event campaign big point http www twenty8twelve c
  • 使用 Ajax 和 PHP 上传图像

    我想将图像上传到我的服务器 并控制 HTML 代码中的 PHP 回显 为此 我想使用 jQuery Ajax 但我不知道如何使用 Ajax 将图像发送到 PHP 这是一个大学项目 所以我不能使用任何类型的插件 我的实际代码 HTML
  • 获取鼠标在滚动条上的位置

    当我向下滚动或向上滚动时如何获取鼠标位置 我试过这个 document mousemove function event captureMousePosition event scroll function event xMousePos

随机推荐