javascript - jquery 菜单使用 slidetoggle() 小问题

标签 javascript jquery slidetoggle

我创建了一个基本的垂直滑动菜单,可以在左侧的垂直灰色条上看到:

http://www.switchcreative.co.uk/tuckagefinewines/

当您单击一个国家/地区时,子菜单项会向下滑动,并且顶层的 + 符号会变为 - 但是当菜单再次关闭时,我如何将其更改回 +。我想我想添加一个 even to slidetoggles upward motion?但不确定如何。我尝试使用 if 语句来更改它但无法让它工作这里是我最接近我喜欢的工作方式的版本:

 function initMenu() {
 $('#menu ul:not(.active)').hide();
 $('#menu li a.top_a').click(
 function(e) {
    e.preventDefault();
    $(this).next().slideToggle('normal');
    $(this).siblings('.plus').replaceWith(' - ');   
   }
 );
} 

最佳答案

你要删除 span.plus 尝试像这样设置文本:

if($(this).siblings('.plus').text() == '+')
    $(this).siblings('.plus').text('-');
else
    $(this).siblings('.plus').text('+');

关于javascript - jquery 菜单使用 slidetoggle() 小问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7979065/

相关文章:

jquery - 使用 jquery slideToggle 向上滑动面板

javascript - 在javascript中获取随机背景颜色

javascript - 动态添加字段到嵌套表单 onchange of select

javascript - 如何在 IntelliJ 中调试 Meteor

javascript - 将键/值添加到值为对象的数组中

java - 从 Google Chrome 的开发者工具获取信息

jquery - SlideToggle 高度为 "jumping"

javascript - 从 jQuery 元素中删除 slideToggle 队列

javascript - 基于网络的系统的安全实践

javascript - 如何将 svg 文件导入 Vue 组件?