jquery菜单的每个功能

时间:2016-09-28 14:41:55

标签: javascript jquery

你好,我有一个菜单。我想为每个父菜单添加一个toogle动画。 但我坚持不懈,因为当我点击父菜单。所有父菜单显示他们的子菜单。 我想我需要一个jquery每个函数,但我不知道如何实现我的情况。 继承我的代码

$(".menu-item-has-children").prepend("<i></i>");
$(".menu-item-has-children").find("i").addClass("fa fa-plus-circle toogle-icon");
$(".toogle-icon").click(function(){
  $(".sub-menu").slideToggle();
});

heres jsfiddle https://jsfiddle.net/Lypj8tov/1/

4 个答案:

答案 0 :(得分:2)

尝试:

$('<i class="fa fa-plus-circle toogle-icon"></i>')
  .click(function(){
    $(this).parent().find(".sub-menu").slideToggle();
  })
  .prependTo(".menu-item-has-children");

你也可以简化整个事情:

function getuser(instr) {
  var today = new Date();
  var scriptProperties=PropertiesService.getScriptProperties();
  var instrcal= scriptProperties.getProperty(instr);
  var event=CalendarApp.getCalendarById(instrcal).getEventsForDay(today);
  if (event<1) {
    var user= 'None'
    }
  else if (event>1) {
    var user= 'Multiple Users'
    }
  else {
    var user= event.getCreators()
    }
  return user
}

检查https://fiddle.jshell.net/ermakovnikolay/q5z4b64u/

答案 1 :(得分:1)

您需要将相对元素引用到单击的实例。使用this

$(".toogle-icon").click(function(){
  $(this).siblings('.sub-menu').slideToggle();
});

Fiddle Demo

答案 2 :(得分:0)

$(".toogle-icon").click(function(){
  $(this).closest('.menu-item-has-children').find(".sub-menu").slideToggle();
});
@Nikolay Ermakov感谢男人,为什么你删除你的回答?它有错误吗?

答案 3 :(得分:0)

解决方案:

$(".toogle-icon").click(function(){
  $(this).parent().find(".sub-menu").slideToggle();
});