javascript - 函数只运行一次

标签 javascript jquery html css

我制作了这个小 jQuery 函数,使我的导航在移动设备上滑出。我唯一的问题是......我只能显示和隐藏它一次......有人可以帮我解决这个问题吗?提前致谢!

$('#menu-btn').click(function(){

  if ($('nav ul').css('margin') == '83px 0px 0px -225px') {

    $('nav ul').animate({
      margin:'83px 0px 0px 0px'
    }, 200);

  }
  else {

    $('nav ul').animate({
      margin:'83px 0px 0px -255px'
    }, 200);

  }

});

最佳答案

作为替代解决方案,您可以按照以下方式操作:

您可以在每次点击时使用边距切换类而不是字符串比较

$('#menu-btn').click(function() {
    $('nav ul').toggleClass('slided')    
})

你还需要2个CSS规则

nav ul {
    margin: 83px 0px 0px 0px
}

nav ul.slided {
    margin: 83px 0px 0px -225px
}

关于javascript - 函数只运行一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27443860/

相关文章:

javascript - mysql 没有加入数据

javascript - 无法将属性 'innerText' 设置为 null

javascript - moment.js/date 在 iOS 上显示为 NaN

javascript - 如何获取单个数组中差异最大的元素?

javascript - 从 JQuery/Javascript 中的页面元素构建值数组

jquery - 使用 jQuery fadeIn() 和 fadeOut() 交错背景图像

javascript - 我怎么能用 jQuery 说 "if width > height"然后 "do this"?

css - 垂直对齐 : middle with Bootstrap 2

javascript - 使用 Javascript 重新加载页面并指定一个 jquery 选项卡

javascript - 工具提示方向 mozilla