Цикл, выполняющий как if, так и else - PullRequest
0 голосов
/ 21 сентября 2018

Привет, у меня две функции. Первая проверяет условие, если оно истинно, возвращает переменную.эта переменная используется во 2-м функциях оператора if.Как то так

private MapHeightCollision(feature: any) {
    const mapElementHeight = $(this.gisMapElement).height();
    let spiralcounter = UtilityConst.SPIRAL_COUNTER;
    const height = UtilityConst.INITIAL_BUBBLE_HEIGHT;
    let rotation = 0;
    const plotxy: any = this.markerSpiral(spiralcounter, feature, rotation);
    let delta;

    if (plotxy.y > 0 || (plotxy.y + height) > mapElementHeight) {
        delta = (plotxy.y + height) - mapElementHeight;
        console.log("collide")

    }
    return delta;

    return true;
}


private abc() {
    if (this.MapHeightCollision(feature)) {
        const y = plots.y;
        const delta = this.MapHeightCollision(feature)
        $(markerBubble).css({
            top: y + delta,
            left: plots.x,

        });

    } else {
        $(markerBubble).css({
            top: plots.y,
            left: plots.x,
        });
    }
}

Что происходит, когда я использую точку останова, условие в abc () проходит, если добавляет дельту, а затем прямо переходит в условие else.итоговое значение всегда печатается в соответствии с условием else.

Я хочу, чтобы оно печаталось только в том случае, если значение условия, если MapHeightCollision () возвращает какое-либо значение.

1 Ответ

0 голосов
/ 21 сентября 2018

Чтобы подвести итог, вам нужно изменить функцию MapHeightCollision, потому что 1. вы никогда не возвращаете ложное значение и 2. вы используете return дважды в одном и том же блоке, поэтому ваш второй возврат никогда не будет достигнут.

  if (plotxy.y > 0 || (plotxy.y + height) > mapElementHeight) {
      delta = (plotxy.y + height) - mapElementHeight;
      console.log("collide")
      return delta;

  }

  return false;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...