Передать переменную не вызывая функцию
Здравствуйте, уважаемые! Сразу к делу:
Есть 2 кнопки: <div onclick="function1();">Кнопка 1</div> <div onclick="function2();">Кнопка 2</div> Есть 2 функции: Первая скрывает div с id="id1" и отображает div с id="id2" function function1() { document.getElementById('id1').style.display = 'none'; document.getElementById('id2').style.display = 'block'; } Вторая наоборот - скрывает div с id="id2" и отображает div с id="id1" function function2() { document.getElementById('id2').style.display = 'none'; document.getElementById('id1').style.display = 'block'; } Необходимо чтобы при нажатии на Кнопку 2 было известно была ли выполнена function1() Пробывал так: function function1(temp) { if (temp == 1) { document.getElementById('id1').style.display = 'none'; document.getElementById('id2').style.display = 'block'; }; } function function2() { document.getElementById('id2').style.display = 'none'; document.getElementById('id1').style.display = 'block'; var peremennaya = '1'; function1(peremennaya); } Но при нажатии на Кнопку 2 сразу срабатывает function1(). Если не трудно, подскажите как сделать чтобы переменая попадала в фунцию function1, но функция вызываласть только по onclick на кнопке? Ну или может есть иной способ определить при нажатии на Кнопку 2 была ли выполнена function1() Заранее огромное спасибо! |
<!doctype html> <html lang="ru"> <head> <meta charset="utf-8"> <script type="text/javascript"> function function1() { // показывает, что эту функцию уже вызывали function1.executed = true; document.getElementById('id1').style.display = 'none'; document.getElementById('id2').style.display = 'block'; if(function1.executed) { document.getElementById('id1').innerHTML = 'Переменная присвоенная в function2: ' + function1.variable; } }; // показывает, что function1 ещё не выполняли function1.executed = false; // чтобы переменая попадала в фунцию function1 function1.variable = null; function function2() { // Сюда присвоить значение переменной и будет доступ в function1 function1.variable = 'Any text'; document.getElementById('id2').style.display = 'none'; document.getElementById('id1').style.display = 'block'; } </script> </head> <body> <button onclick="function1(); ">Кнопка 1</button> <button onclick="function2(); ">Кнопка 2</button> <div id="id1" style="width: 20%; height: 50%; position: absolute; top: 50px; left: 20%; background: #ff8080;">#id1</div> <div id="id2" style="width: 20%; height: 50%; position: absolute; top: 50px; left: 60%; background: #80ff80;">#id2</div> </body> </html> |
ОГРОМНОЕ СПАСИБО!
Помогли! Очень признателен! |
Часовой пояс GMT +3, время: 05:47. |