Несколько операторов If в строке с jQuery - PullRequest
0 голосов
/ 20 июня 2011

Я хотел бы добавить несколько операторов if в функцию.Я использую iFrame API YouTube для выполнения различных действий, когда видео воспроизводится или приостанавливается.В настоящее время у меня есть следующий код:

      function onPlayerStateChange(newState) {
        console.log(newState);

        if (newState.data == 1) {
          //do something
          return false;
        } else {
          //do something else
          return false;
        }
      }

Он прекрасно работает, когда у меня есть только первый оператор if, но прерывается, когда я добавляю к нему предложение else.Как проверить несколько таких условий с помощью jQuery?

Ответы [ 2 ]

1 голос
/ 20 июня 2011

Используйте switch на newState.data, например:

switch(newState.data){
    case 1:
       //do something
       //break or return true/false
    case 2:
       //Do something else
       break;
    case 3:
       break;
    default:
       //Do something when newState.data is NOT 1, 2 or 3
       break;
}
0 голосов
/ 20 июня 2011

Ваш код с if ... else является подходом «или-или».Мне не совсем понятно, что ты пытаешься сделать.Однако синтаксис действителен, поэтому это должна быть логика, которая дает сбой.

Если вы хотите выполнить несколько независимых действий, используйте последовательные блоки if, например:

if (newState.data == 1) {
  //do something
}
if (anotherCondition) {
  //do something more
}
return false;

Если должно быть выполнено несколько условий:

if (newState.data == 1 && anotherCondition) {
  //do something
  return false;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...