Javascript 如何通过jquery对同级元素执行反向操作

Javascript 如何通过jquery对同级元素执行反向操作,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我想使用Jquery创建一个带有子菜单的菜单栏。有两个带有子菜单的项目。当我单击一次时,我希望它向下滑动,当我单击第二个时,第二个需要向下滑动,但第一个或所有其他一个需要向上滑动。我尝试了以下几点: HTML Javascript $(document).ready(function(){ $('.footer-lang .lang a').on('click', function(e) { $(this).next('ul').slideToggle('slow

我想使用Jquery创建一个带有子菜单的菜单栏。有两个带有子菜单的项目。当我单击一次时,我希望它向下滑动,当我单击第二个时,第二个需要向下滑动,但第一个或所有其他一个需要向上滑动。我尝试了以下几点:

HTML

Javascript

    $(document).ready(function(){
     $('.footer-lang .lang a').on('click', function(e) {

      $(this).next('ul').slideToggle('slow');
      e.preventDefault();

     });
    });

一种方法是在单击时添加一个表示打开的类,然后在打开另一项之前关闭该类。类似这样的东西会用到:

$(document).ready(function() {

 $('.footer-lang .lang a').on('click', function(e) {
  e.preventDefault();

  // close the open
  $('.is-open').removeClass('is-open').slideToggle('slow);

  // open the closed
  $(this).next('ul').slideToggle('slow');
  $(this).addClass('is-open');
 });
});

单击“使其他子菜单”以快速或慢速滑动,然后切换。有关详细信息,请参见下面的代码段

$document.readyfunction{ $'.footer lang.lang a'。单击,函数E{ $.lang>ul.slideUpfast; $this.下一个'ul'。滑动切换'slow'; e、 防止违约; }; }; .footer lang ul{ 显示:块; 文本对齐:居中; } .footer lang.lang{ 显示:内联块; } .footer lang.lang a{ 显示:块; 填充:8px; 颜色:000; } .footer lang.lang>ul{ 显示:无; 位置:绝对位置; }
我想要一个简短的解决方案
    $(document).ready(function(){
     $('.footer-lang .lang a').on('click', function(e) {

      $(this).next('ul').slideToggle('slow');
      e.preventDefault();

     });
    });
$(document).ready(function() {

 $('.footer-lang .lang a').on('click', function(e) {
  e.preventDefault();

  // close the open
  $('.is-open').removeClass('is-open').slideToggle('slow);

  // open the closed
  $(this).next('ul').slideToggle('slow');
  $(this).addClass('is-open');
 });
});