Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 07.05.2013, 17:50
Кандидат Javascript-наук
Отправить личное сообщение для jeysmook Посмотреть профиль Найти все сообщения от jeysmook
 
Регистрация: 24.04.2012
Сообщений: 118

Как передать переменную между двумя функциями hover
Как передать переменную между двумя функциями hover(function(){}, function(){})?
$('.sel').hover(function(){
		var b = $(this).find('.as').outerWidth(); //Из этой функции нужно передать b в следующую функцию
	}, function(){		
                alert(b) //Вот тут она должна оказаться
	})
Ответить с цитированием
  #2 (permalink)  
Старый 07.05.2013, 18:09
Аватар для animhotep
Профессор
Отправить личное сообщение для animhotep Посмотреть профиль Найти все сообщения от animhotep
 
Регистрация: 17.01.2013
Сообщений: 887

можно вынести переменную в глобальную область видимости
var b;
$('.sel').hover(function(){
		b = $(this).find('.as').outerWidth(); //Из этой функции нужно передать b в следующую функцию
	}, function(){		
                alert(b) //Вот тут она должна оказаться
	})
Ответить с цитированием
  #3 (permalink)  
Старый 07.05.2013, 19:30
Кандидат Javascript-наук
Отправить личное сообщение для jeysmook Посмотреть профиль Найти все сообщения от jeysmook
 
Регистрация: 24.04.2012
Сообщений: 118

animhotep,
Спасибо. Это единственный способ? Я просто такой тоже сделал, интересно стало можно ли по другому?
Ответить с цитированием
  #4 (permalink)  
Старый 08.05.2013, 08:32
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

Сообщение от jeysmook
можно ли по другому?
Как вариант, ограничить область видимости переменной замыканием...

<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<!--
<link rel="stylesheet" type="text/css" href="tmp.css" />
-->
<style type="text/css">
</style>
<script type="text/javascript">
$(document).ready(function(){
	(function (){
		var b=1;
		$('a').hover(function(){
			b = 2;
		}, function(){		
			alert(b) 
		});
	})();
});
</script>
</head>
<body>
<html> 
<body> 
<a href='#'>test</a>
</body>
</html>
Ответить с цитированием
  #5 (permalink)  
Старый 08.05.2013, 15:51
Кандидат Javascript-наук
Отправить личное сообщение для jeysmook Посмотреть профиль Найти все сообщения от jeysmook
 
Регистрация: 24.04.2012
Сообщений: 118

ksa,
Спасибо, но только он почти не отличается от предыдущего)
Ответить с цитированием
  #6 (permalink)  
Старый 08.05.2013, 15:56
Профессор
Отправить личное сообщение для tsigel Посмотреть профиль Найти все сообщения от tsigel
 
Регистрация: 12.12.2012
Сообщений: 1,398

jeysmook, он отличается тем, что глобальная видимость не засоряется лишними переменными, т.к. создавать много глобальных переменных - плохой тон.
Ответить с цитированием
  #7 (permalink)  
Старый 08.05.2013, 15:57
Кандидат Javascript-наук
Отправить личное сообщение для jeysmook Посмотреть профиль Найти все сообщения от jeysmook
 
Регистрация: 24.04.2012
Сообщений: 118

tsigel,
Понятно, спасибо за объяснения.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не могу передать переменную frundik AJAX и COMET 17 23.05.2012 18:31
Не могу передать переменную frundik Общие вопросы Javascript 1 23.05.2012 12:38
Как передать значение переменной jscript в переменную php ? kastaneda19 jQuery 3 11.04.2012 20:09
Как сделать локальную переменную глобальной?? Дмитрий Общие вопросы Javascript 8 02.11.2010 03:33
Как обозначить переменную выбранную в FileChooser? woo_hoo Общие вопросы Javascript 4 03.07.2008 12:58