2016-10-28 3 views
-1

У меня есть функция, чтобы проверить размер экранаИспользуйте возвращаемое значение из функции для использования в, если заявление

function isMob() { 
 
    if ($(window).width() < 1000) { 
 
    return true; 
 
    } else { 
 
    return false; 
 
    } 
 
} 
 

 
$(window).resize(function() { 
 
    isMob(); 
 
}); 
 

 
if (isMob()) { 
 
    console.log('this is a mobile'); 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

Раньше я проверял его в качестве переменной isMob = false;, но теперь, когда я Я использую функцию изменения размера, я считаю, что мне нужно включить ее в функцию.

Я взял много подходов, но не уверен, как я могу воспроизвести поведение простой переменной, чтобы проверить, isMob = true, и если это так активировать действие.

+0

Ну, 'если (isMob) 'проверяет, является ли' isMob' * правдой *, а так как это объект функции, он * прав *. Вам нужно будет * вызвать * функцию, чтобы получить ее результат: 'if (isMob())'. Как это вписывается в обратный вызов «resize», которого я не знаю, потому что я не знаю, чего вы хотите достичь. – deceze

+0

Ну, теперь проблема в том, что ваша функция никогда не возвращает 'true' ... – deceze

+0

Итак, это работает? – deceze

ответ

0

Попытка определить глобальную переменную, как ниже:

var isMobile=isMob(); 

function isMob() { 
    if($(window).width() > 1000) { 
     return false; 
    } 
    return true; 
} 

$(window).resize(function() { 
    isMobile=isMob(); 
}); 

if(isMobile){ 
    console.log('this is a mobile'); 
} 
0

Вы можете просто переместить последний if() в onresize Handler следующим образом:

  function isMob() { 
       if ($(window).width() < 1000) { 
        return true; 
       } else { 
        return false; 
       } 
      } 

      $(window).resize(function() { 
       if (isMob()) { 
        console.log('this is a mobile'); 
       } 
      }); 
+0

тот что я сделал. Спасибо чувак! –

Смежные вопросы