Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 05.02.2016, 20:47
Интересующийся
Отправить личное сообщение для x1ds Посмотреть профиль Найти все сообщения от x1ds
 
Регистрация: 25.02.2015
Сообщений: 27

Не правильно работает условие...
Почему не срабатывает else ?
if (fn(m1,step_array) == true) {
                $(".result1").css('display', 'block');
            }
            else if (fn(m2,step_array) == true) {
                $(".result2").css('display', 'block');
            }
            else if (fn(m3,step_array) == true) {
                $(".result3").css('display', 'block');
            }
            else if (fn(m4,step_array) == true) {
                $(".result4").css('display', 'block');
            }
            else if (fn(m5,step_array) == true) {
                $(".result5").css('display', 'block');
            }
            else { alert('ok'); }
Ответить с цитированием
  #2 (permalink)  
Старый 05.02.2016, 20:52
Профессор
Отправить личное сообщение для Mess4me Посмотреть профиль Найти все сообщения от Mess4me
 
Регистрация: 03.11.2014
Сообщений: 263

x1ds,
а что возвращает fn(m1,step_array)?
Ответить с цитированием
  #3 (permalink)  
Старый 05.02.2016, 20:57
Интересующийся
Отправить личное сообщение для x1ds Посмотреть профиль Найти все сообщения от x1ds
 
Регистрация: 25.02.2015
Сообщений: 27

true
Ответить с цитированием
  #4 (permalink)  
Старый 05.02.2016, 21:26
Профессор
Отправить личное сообщение для Mess4me Посмотреть профиль Найти все сообщения от Mess4me
 
Регистрация: 03.11.2014
Сообщений: 263

x1ds,
ну вот Вы и ответили на вопрос который задавали.
Если
Сообщение от x1ds
fn(m1,step_array) == true
справедливо то выполняется
Сообщение от x1ds
          $(".result1").css('display', 'block');
, если нет - проверяет дальше
Сообщение от x1ds
       else if (fn(m2,step_array) == true) {
и т д , если ни одно из условий не справедливо то выполнится строка
Сообщение от x1ds
 else { alert('ok'); }
Ответить с цитированием
  #5 (permalink)  
Старый 06.02.2016, 03:25
Интересующийся
Отправить личное сообщение для x1ds Посмотреть профиль Найти все сообщения от x1ds
 
Регистрация: 25.02.2015
Сообщений: 27

Только вот else все равно не выполняется...
Ответить с цитированием
  #6 (permalink)  
Старый 06.02.2016, 03:56
Профессор
Отправить личное сообщение для Mess4me Посмотреть профиль Найти все сообщения от Mess4me
 
Регистрация: 03.11.2014
Сообщений: 263

x1ds,
а какой должен выполниться из else ?

if (false == true) {
        $(".result1").css('display', 'block');
    }
    else if (false == true) {
        $(".result2").css('display', 'block');
    }
    else if (false == true) {
        $(".result3").css('display', 'block');
    }
    else if (false == true) {
        $(".result4").css('display', 'block');
    }
    else if (false == true) {
        $(".result5").css('display', 'block');
    }
    else {
        alert('ok');
    }
Ответить с цитированием
  #7 (permalink)  
Старый 06.02.2016, 14:05
Интересующийся
Отправить личное сообщение для x1ds Посмотреть профиль Найти все сообщения от x1ds
 
Регистрация: 25.02.2015
Сообщений: 27

Тут else почему то не выполняется
Выкладываю весь код
var m1 = [[1],[1,2],[1],[1],[1]];
  var m2 = [[2],[1, 4],[4],[1, 2, 3],[2, 3, 4]];
  var m3 = [[1, 2],[1, 3],[1, 3, 5],[3, 4],[1]];
  var m4 = [[2],[4, 5],[2],[3],[2, 3, 4]];
  
    
    function fn(a, b) {
        return a.every(function(a, i) {
            return a.some(function(a) {
                return a == b[i]
            })
        })
    };

   step_array = new Array(step1,step2,step3,step4,step5);
            if (fn(m1,step_array) == true) {
                $(".result1").css('display', 'block');
            }
            else if (fn(m2,step_array) == true) {
                $(".result2").css('display', 'block');
            }
            else if (fn(m3,step_array) == true) {
                $(".result3").css('display', 'block');
            }
            else if (fn(m4,step_array) == true) {
                $(".result4").css('display', 'block');
            }
            else if (fn(m5,step_array) == true) {
                $(".result5").css('display', 'block');
            }
            else { alert('x2'); }
Ответить с цитированием
  #8 (permalink)  
Старый 06.02.2016, 14:23
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

Сообщение от x1ds
step1
это что?
Ответить с цитированием
  #9 (permalink)  
Старый 06.02.2016, 15:51
Интересующийся
Отправить личное сообщение для x1ds Посмотреть профиль Найти все сообщения от x1ds
 
Регистрация: 25.02.2015
Сообщений: 27

step1,step2 ... это числа которые берутся из форм..
К примеру step1 = 3
Ответить с цитированием
  #10 (permalink)  
Старый 06.02.2016, 16:27
Профессор
Отправить личное сообщение для Mess4me Посмотреть профиль Найти все сообщения от Mess4me
 
Регистрация: 03.11.2014
Сообщений: 263

Сообщение от x1ds
  function fn(a, b) {
        return a.every(function(a, i) {
            return a.some(function(a) {
                return a == b[i]
            })
        })
    };
В этом условии вообще какая логика должна быть?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скрипт подгрузки контента не правильно работает на нескольких страницах, битрикс. Js_Skriptor Ваши сайты и скрипты 3 16.02.2015 21:29
Как правильно составить условие определяющее расширение файлов djadrenaline Общие вопросы Javascript 5 21.07.2012 23:34
Не правильно работает прокрутка, подскажите как сделать правильно? denfer12 Общие вопросы Javascript 0 09.05.2012 00:34
jQyery функция странно работает! Midel Общие вопросы Javascript 4 08.04.2012 13:40
Не работает код внутри циклов DZHETIGAPA Events/DOM/Window 1 21.06.2011 01:03