Передать переменную не вызывая функцию
Здравствуйте, уважаемые! Сразу к делу:
Есть 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, время: 01:54. |