Помогите укоротить код на JS

252
28 февраля 2018, 10:41

Не могу укоротить такой код:

$("#position80").click(function() {
  if ((step == true) && (position80b == false) && (position80r == false)) {
    $("#position80").css("background-color", "red");
    step = false;
    position80r = true;
    position80 = true;
    check();
  } else if ((step == false) && (position80b == false) && (position80r == false)) {
    $("#position80").css("background-color", "blue");
    step = true;
    position80b = true;
    position80 = true;
    check();
  }
});

Еще у меня проблема с переменными:

var position1 = false;
var position2 = false;
var position3 = false;

Их более 240

Answer 1
$("#position80").click(function() {
  if (!position80b && !position80r) {
    $("#position80").css("background-color", step ? "red" : "blue");
    step = !step;
    position80 = position80b = true;
    check();
    }
});

Для множества схожих элементов используйте массив.

Answer 2
$("#position80").click(() => {
  if (step && !position80b && !position80r)) {
    $("#position80").css("background-color", "red");
    step = false;
    position80r = true;
    position80 = true;
    check();
  } else if (!step && !position80b && !position80r) {
    $("#position80").css("background-color", "blue");
    step = true;
    position80b = true;
    position80 = true;
    check();
  }
});

Это если просто укоротить, а еще лучше из этих двух блоков сделать функцию, и запускать с разными аргументами(просто код в блоках очень похож)

READ ALSO
Не могу разобраться в Tooltip

Не могу разобраться в Tooltip

Добрый день, вопрос такой у меня есть HTML

234
Создание и вывод массива дат

Создание и вывод массива дат

Ожидаемый результат:

298
Как записать в куки, затем успешно выводить при перезагрузке страницы

Как записать в куки, затем успешно выводить при перезагрузке страницы

Сам я не очень владею ни js ни Jquery, интуитивно могу понять смысл скрипта, но какие-то глобальные операции производить пока не умею! Рассчитываю...

377