这样的代码有办法简化吗?

if (isShow) {
  $('#slider').addClass('show')
} else {
  $('#slider').removeClass('show')
}

不知道如何简化

阅读 2.5k
4 个回答

$('#slider')[isShow?"addClass":"removeClass"]("show")

  • 三目运算

    !!isShow?$('#slider').addClass('show'):$('#slider').removeClass('show)
  • 函数封装法

    let toggle=(element, clazz, condition )=>!!condition?element.addClass(clazz):element.removeClass(clazz)
    
    toggle($('#slider'),'show',isShow)
  • 神经病变态IIFF

    ((element, clazz, conditon)=>!!condition?element.addClass(clazz):element.removeClass(clazz))($('#slider'),'show',isShow)
  • 最后结果
    还是算了吧,如果经常用,还可以封装一个toggle,其他没啥必要,可以优化的是其他的,比如将$('spider')保存到变量之类的。

如果多处用到同样类似逻辑,可以封装函数。
如果只有一处,为了可读性,不封装也没毛病。

jq有toggle方法 $('#slider').toggleClass('show', isShow)

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题