Как передать переменную из одной функции в другую?
Дело в том, что вторая функция находится внутри первой и срабатывает при клик евенте.
function first (){ var qwe; qwe = 0; var asd = 0; //здесь меняющаяся переменная (0 или больше) var click = document.getElementById("div"); click.onclick = function (e) { var e = e || window.event; var target = e.target || e.srcElement; if (this === target && asd === 0) { //:-/ значение asd видит, qwe++; //а qwe поменять не может. } else if (this === target && asd > 0) { alert('blablabla'); } else { alert('blabla'); } } } first(); |
Цитата:
<button id="div">div</button> <script> function first() { var qwe; qwe = 0; var asd = 0; var click = document.getElementById("div"); click.onclick = function(e) { var e = e || window.event; var target = e.target || e.srcElement; if (this === target && asd === 0) { qwe++; } else if (this === target && asd > 0) { alert('blablabla'); } else { alert('blabla'); } alert(qwe); } } first(); </script> |
Ситуацию неправильно показал оказывается.
Первая функция каждое определенное время выводит числа без остановки. Переменная qwe присутствует на странице и по умолчанию равна 0. Во второй функции эта переменная должна увеличиться на 1 (и все таки оказывается увеличивается!), однако на странице она не меняется.
<button id="div">div</button> <script> function first() { var flow = Math.floor(Math.random()*100 + 1); //Скажем, вот поток чисел document.getElementById('num').innerHTML=+flow; //Вот выводится на страничку. var timer = setTimeout(first, 1000); var qwe; qwe = 0; var asd = 0; var click = document.getElementById("div"); click.onclick = function(e) { var e = e || window.event; var target = e.target || e.srcElement; if (this === target && asd === 0) { qwe++; } else if (this === target && asd > 0) { alert('blablabla'); } else { alert('blabla'); } alert(qwe); } } first(); </script> |
Переменная qwe присутствует на странице? Чо? Покажи полностью код.
|
Цитата:
Смотри https://angularjs.org/ |
Часовой пояс GMT +3, время: 03:00. |