Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 04.01.2013, 17:50
Интересующийся
Отправить личное сообщение для Prazdnic Посмотреть профиль Найти все сообщения от Prazdnic
 
Регистрация: 15.09.2012
Сообщений: 12

Область видимости переменной jquery
Доброго времени суток!
Недавно начал знакомство с программированием. В частности с javascript/jquery. Зашел в тупик с передачей переменных из одной функции в другую. Переменная передаётся как объект, а должна как строка. Подскажите пожалуйста что не так. Вот такой вот код:

$(document).ready(function(e) {

$('.knopka').click(function(){$('#tablo').append($ (this).text());})

$('#but1').click(function fun1(){
var num1 = $('#tablo').text();
$('#tablo').empty();
})

$('#but2').click(function fun2(num1){
fun1();
alert(num1);
})
});
Ответить с цитированием
  #2 (permalink)  
Старый 04.01.2013, 17:54
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Prazdnic,
Область определения внутри функции
вынесите её перед
$(document).ready(function(e) {

 $('.knopka').click(function(){$('#tablo').append($ (this).text());})

 var num1;
 $('#but1').click(function fun1(){
 num1 = $('#tablo').text();
 $('#tablo').empty();
 })

 $('#but2').click(function fun2(){
 fun1();
 alert(num1);
 })
 });

Последний раз редактировалось Deff, 04.01.2013 в 20:12.
Ответить с цитированием
  #3 (permalink)  
Старый 04.01.2013, 18:04
Интересующийся
Отправить личное сообщение для Prazdnic Посмотреть профиль Найти все сообщения от Prazdnic
 
Регистрация: 15.09.2012
Сообщений: 12

Не получается. Все равно num1 становится объектом.
Ответить с цитированием
  #4 (permalink)  
Старый 04.01.2013, 18:08
Аватар для Dim@
Профессор
Отправить личное сообщение для Dim@ Посмотреть профиль Найти все сообщения от Dim@
 
Регистрация: 21.04.2012
Сообщений: 951

и почему все начинают знакомство с JavaScript с JQuery? а не просто с нативного JS
Ответить с цитированием
  #5 (permalink)  
Старый 04.01.2013, 18:09
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Prazdnic,
Выложите необходимый HTML к скрипту
Ответить с цитированием
  #6 (permalink)  
Старый 04.01.2013, 18:26
Интересующийся
Отправить личное сообщение для Prazdnic Посмотреть профиль Найти все сообщения от Prazdnic
 
Регистрация: 15.09.2012
Сообщений: 12

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<!--[if IE]><script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script><![endif]-->
<title></title>
<meta name="keywords" content="" />
<meta name="description" content="" />
<link rel="stylesheet" href="style.css" type="text/css" media="screen, projection" />
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="js.js"></script>

</head>

<body><div id="wrapper">

<div id="content">

<div id="tablo"></div>
<p class="knopka">1</p>
<p class="knopka">2</p>
<p id="but1">zapomnil</p>
<p id="but2">pokazal</p>

</div><!-- #content--></div><!-- #wrapper --></body>
</html>
Ответить с цитированием
  #7 (permalink)  
Старый 04.01.2013, 19:05
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Ошибка выплывает отсель

Вы тут на автомате переопределили переменную
$('#but2').click(function fun2(num1){
alert(num1);

<!DOCTYPE html>
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
 <meta charset="utf-8" />
 <!--[if IE]><script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script><![endif]-->
 <title></title>
 <meta name="keywords" content="" />
 <meta name="description" content="" />
 <link rel="stylesheet" href="style.css" type="text/css" media="screen, projection" />

<style>
p[id^="but"] {
 border:red solid 1px;
 cursor:pointer;
 padding:2px 12px;
 width:54px;
}
</style>

 <script src="http://code.jquery.com/jquery-latest.js"></script>

 <script type="text/javascript">
$(document).ready(function() {

 $('.knopka').click(function(){$('#tablo').append($(this).text()+', ');});

 var num1;
 $('#but1').click(function fun1(){
 num1 = $('#tablo').text().toString();
 alert(num1);
 $('#tablo').empty();
 })

 $('#but2').click(function fun2(){
 //fun1();
    alert(num1)
 })

 });
 </script>

 </head>

 <body><div id="wrapper">

 <div id="content">

 <div id="tablo">tablo =></div>
 <p class="knopka">1</p>
 <p class="knopka">2</p> 
 <p id="but1">zapomnil</p>
 <p id="but2">pokazal</p>

 </div><!-- #content-->

 </div><!-- #wrapper -->

 </body>
 </html>
Ответить с цитированием
  #8 (permalink)  
Старый 04.01.2013, 19:17
Интересующийся
Отправить личное сообщение для Prazdnic Посмотреть профиль Найти все сообщения от Prazdnic
 
Регистрация: 15.09.2012
Сообщений: 12

Заработало! Спасибо большое!
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Область видимости переменной в Javascript dadli Общие вопросы Javascript 8 29.01.2012 17:39
Область видимости переменной ацкий Общие вопросы Javascript 3 27.08.2011 14:09
Область видимости переменной! Kotakota Events/DOM/Window 7 27.07.2011 13:37
область видимости Ultimatum Общие вопросы Javascript 2 19.06.2011 10:47
Область видимости переменной. noumo Events/DOM/Window 3 03.12.2009 23:48