如何简化/优化这个jQuery

时间:2013-08-21 18:25:30

标签: jquery query-optimization

我是新手,但必须有更好的方法来写这个。

三个类似的功能,可以用逗号或其他东西组合。

$('#open-sidebar').click(function(){
  $("body").toggleClass("menu-active");
  return false;
});
$('#close-sidebar').click(function(){
  $("body").toggleClass("menu-active");
  return false;
});

$("#top").bind("swiperight", function (e) {
  $("body").toggleClass("menu-active");
  return false;
});
$("#content").bind("swiperight", function (e) {
  $("body").toggleClass("menu-active");
  return false;
});
$("#top").bind("swipeleft", function (e) {
  $("body").toggleClass("menu-active");
  return false;
});

$("#content").bind("swipeleft", function (e) {
  $("body").toggleClass("menu-active");
  return false;
});
$("#navigation").bind("swipeleft", function (e) {
  $("body").toggleClass("menu-active");
  return false;
});

谢谢

2 个答案:

答案 0 :(得分:0)

使用此语法

$("#navigation, #content, ... ").bind("swipeleft", function (e) {
  $("body").toggleClass("menu-active");
  return false;
});

你还需要点击一下

$('#close-sidebar, #id2, #id3, ....').click(function(){
  $("body").toggleClass("menu-active");
  return false;
});

答案 1 :(得分:-2)

var $body = $(document.body);

function toggleBody () {
    $body.toggleClass("menu-active");
    return false;
}

$('#open-sidebar, #close-sidebar').click(toggleBody);
$('#top, #content').bind('swiperight swipeleft', toggleBody);
$('#navigation').bind('swipeleft', toggleBody);