Javascript.RU

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

Передача результата функции, другой функции
Всем привет! У меня вопрос по передачи результата функции, для другой функции. Я недавно программирую и хотел понять, вот что:
У меня есть 10 одинаковых элементов картинок работающих как кнопки (картинка плюс - добавить), у них у всех разные Id - (button1,button2,button3 ...и.т.д)
Мой скрипт берёт все id кнопок и заводит их в массив.
После этого скрипт берёт полный объект типа кнопка и по нажатию вызывает другую функцию.

Так вот: у меня в первой функции, есть локальная переменная (a) и я бы хотел передать её во вторую функцию pushTheBottom, если я делаю pushTheBottom(a) - оно отработает, но будет игнорировать событие .onclick

Подскажите как мне сделать связь между элементом который я нажимаю (button1,button2,button3 ...и.т.д) и функциями allbutton и pushTheBottom. Пожалуйста! Или хотя бы подскажите, какую статью почитать!)

window.onload = newTeamButton;
var numberOfButton = new Array(); //массив с именами кнопок
var fullObject = new Array(); //массив с полным объектом типа "кнопка"

function newTeamButton() {	//обработчик кнопки
	allButton();
	}

function allButton() 
{
for (a = 0; a<7 ; a++) {
  numberOfButton[a] =  document.getElementById("button" + a).id;
  fullObject[a] = document.getElementById("button" + a);
  fullObject[a].onclick = pushTheButton;
		}
	}
	
function pushTheButton() {
  oldScore = document.getElementById("sentence" + numberOfButton[a]);
  alert(oldScore);
	}
Ответить с цитированием
  #2 (permalink)  
Старый 24.06.2017, 16:04
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Aleksandr Chirkov,
function allButton() {
    for (a = 0; a < 7; a++) {
        numberOfButton[a] = document.getElementById("button" + a).id;
        fullObject[a] = document.getElementById("button" + a);
        fullObject[a].onclick = function(f) {
            return function() {
                oldScore = document.getElementById("sentence" + numberOfButton[f]);
                alert(oldScore)
            }
        }(a)
    }
};
Ответить с цитированием
  #3 (permalink)  
Старый 24.06.2017, 16:06
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Сообщение от Aleksandr Chirkov
какую статью почитать!
https://javascript.ru/basic/closure
Ответить с цитированием
  #4 (permalink)  
Старый 24.06.2017, 17:32
Интересующийся
Отправить личное сообщение для Aleksandr Chirkov Посмотреть профиль Найти все сообщения от Aleksandr Chirkov
 
Регистрация: 24.06.2017
Сообщений: 14

Рони спасибо большое!! Всё получилось - прелестно! Буду изучать ;-)
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вместо результата возвращается текст функции? 789 Общие вопросы Javascript 1 31.03.2013 14:33
передача объекта через параметр функции PHP zhurchik Серверные языки и технологии 1 06.12.2012 15:24
Передача функции другой функции ntro123 jQuery 3 20.02.2011 12:15
Вызов функции, находящейся в другой функции ZneP Events/DOM/Window 6 24.08.2010 18:45
Вызов функции из другой функции.. ?? glutton Общие вопросы Javascript 3 21.08.2009 22:33