Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 30.12.2015, 15:28
Новичок на форуме
Отправить личное сообщение для lenkanat Посмотреть профиль Найти все сообщения от lenkanat
 
Регистрация: 30.12.2015
Сообщений: 5

Передать значение переменной из одной функции в другую
Привет, гуру JavaScript'a!
Помогите решить проблему
Как заставить следующий код работать?

<script src="js/jquery-1.11.3.min.js"></script>
<script type="text/javascript">
var size;
function windowSize(){
if ($(window).width() <= '1360'){
size = 1;
} else {
size = 2;
}
}
$(window).on('load resize',windowSize);
function myfunc(){тут вывести size через alert}
</script>


P.S. Нужно очень срочно...
Ответить с цитированием
  #2 (permalink)  
Старый 30.12.2015, 16:00
Аватар для Lemme
Профессор
Отправить личное сообщение для Lemme Посмотреть профиль Найти все сообщения от Lemme
 
Регистрация: 15.07.2015
Сообщений: 511

http://learn.javascript.ru/function-...начения
Ответить с цитированием
  #3 (permalink)  
Старый 30.12.2015, 16:32
Новичок на форуме
Отправить личное сообщение для lenkanat Посмотреть профиль Найти все сообщения от lenkanat
 
Регистрация: 30.12.2015
Сообщений: 5

Сделала по инструкции, но теперь работает только при загрузке и обновлении страницы, а при изменении размера окна ничего не происходит, если обновить то все окей.

вот код:

<script src="js/jquery-1.11.3.min.js"></script>
<script type="text/javascript">
var size;
function windowSize(){
if ($(window).width() <= '1360'){
size = 1;
} else {
size = 2;
}
}
windowSize();
$(window).on('load resize',windowSize);
function myfunc(){alert(size);}
myfunc();
</script>


Что не так ?
Ответить с цитированием
  #4 (permalink)  
Старый 30.12.2015, 16:49
Аспирант
Посмотреть профиль Найти все сообщения от callbackhell
 
Регистрация: 29.12.2015
Сообщений: 58

У Вас windowSize выполняется асинхронно, на момент вызова myfunc переменная size не установлена в нужное значение, отработал только первый(синхронный) вызов windowSize

Последний раз редактировалось callbackhell, 30.12.2015 в 16:52.
Ответить с цитированием
  #5 (permalink)  
Старый 30.12.2015, 16:52
Новичок на форуме
Отправить личное сообщение для lenkanat Посмотреть профиль Найти все сообщения от lenkanat
 
Регистрация: 30.12.2015
Сообщений: 5

callbackhell,
покажите, пожалуйста на моем примере как правильно это реализовать.
Ответить с цитированием
  #6 (permalink)  
Старый 30.12.2015, 16:58
Аспирант
Посмотреть профиль Найти все сообщения от callbackhell
 
Регистрация: 29.12.2015
Сообщений: 58

lenkanat,
проще всего просто засунуть 2-й вызов в коллбек
$(window).on('load resize', function(){windowSize(); myfunc()});
Ответить с цитированием
  #7 (permalink)  
Старый 30.12.2015, 17:04
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

Сообщение от lenkanat Посмотреть сообщение


<script src="js/jquery-1.11.3.min.js"></script>
<script type="text/javascript">
var size;
function windowSize(){
if ($(window).width() <= 1360){
size = 1;
} else {
size = 2;
}
myfunc();
}

$(window).on('load resize',windowSize);
function myfunc(){alert(size);}

</script>
Ваша myfunc только и могла работать один раз - при загрузке. Больше ей не было причин работать
Ответить с цитированием
  #8 (permalink)  
Старый 30.12.2015, 17:19
Новичок на форуме
Отправить личное сообщение для lenkanat Посмотреть профиль Найти все сообщения от lenkanat
 
Регистрация: 30.12.2015
Сообщений: 5

callbackhell,
а есть ли еще какой нибудь вариант? просто myfunc большая
!function(myfunc){...}
Ответить с цитированием
  #9 (permalink)  
Старый 30.12.2015, 17:27
Аспирант
Посмотреть профиль Найти все сообщения от callbackhell
 
Регистрация: 29.12.2015
Сообщений: 58

Сообщение от lenkanat
просто myfunc большая
Ну и что, что она большая?
Сообщение от lenkanat
а есть ли еще какой нибудь вариант?
там вариантов куча, но в вашем случае, все варианты равнозначны, суть в том, чтобы myfunc отработала после события, а не до него.
Ответить с цитированием
  #10 (permalink)  
Старый 30.12.2015, 19:23
Новичок на форуме
Отправить личное сообщение для lenkanat Посмотреть профиль Найти все сообщения от lenkanat
 
Регистрация: 30.12.2015
Сообщений: 5

callbackhell,
Спасибо, все получилось.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужно передать значение переменной при нажатии button Aggao Элементы интерфейса 16 06.03.2015 10:45
Как передать значение переменной с ява на php wadim Общие вопросы Javascript 1 05.02.2014 22:19
Передать значение функции в value inputа lexbog Firefox/Mozilla 4 22.09.2012 22:41
как значение переменной из javascript передать в php? mobiledeveloper Общие вопросы Javascript 1 02.05.2012 19:00
Как получить значение переменной из callback функции? Хиросим AJAX и COMET 5 24.04.2012 08:32