Как насчет тестирования в вашей функции JS toggle
, если div нужно сделать видимым или нет в зависимости от "проверенного" состояния вашего ввода?
Что-то вроде этого, я думаю:
function toggle()
{
if (document.getElementById('YOUR_INPUT_ID').checked) {
document.getElementById('YOUR_DIV_ID').style.display = 'block';
} else {
document.getElementById('YOUR_DIV_ID').style.display = 'none';
}
}
Абсолютно не проверено, но я думаю, вы поймете :-)
(Я никогда не знаю, будет ли вход считаться «проверенным» до или после вызова функции JS onclick ... Так что вам, возможно, придется инвертировать 'block
' и 'none
'настройки)
И, если у вас есть несколько входов / делений, вы можете передать их идентификаторы в качестве параметров функции toggle
...
Таким образом, вам никогда не придется беспокоиться о какой-либо «инициализации» для этой функции.
Обратите внимание, что вы также можете проверить, является ли div видимым, например:
function toggle()
{
if (document.getElementById('YOUR_DIV_ID').style.display == 'none') {
document.getElementById('YOUR_DIV_ID').style.display = 'block';
} else {
document.getElementById('YOUR_DIV_ID').style.display = 'none';
}
}
(тоже не тестировалось)
Таким образом, ваша функция будет действительно переключать отображение div, каждый раз, когда он вызывается.