Я использую библиотеку javascript Prototype (и script.aculo.us) - поскольку она поставляется с Rails "как стандарт" - и у меня проблема со следующим фрагментом:
function show_hide_selects()
{
chkbox = document.getElementById('game_random_select')
seldiv = document.getElementById('card_selects')
if (chkbox.checked && seldiv.visible())
{
Effect.BlindUp('card_selects', {duration: 0.5})
Effect.BlindDown('random_options', {duration: 0.5})
}
else if (!chkbox.checked && !seldiv.visible())
{
Effect.BlindUp('random_options', {duration: 0.5})
Effect.BlindDown('card_selects', {duration: 0.75})
}
}
Этоsnippet запускается onClick
для флажка 'game_random_select', который контролирует, хочет ли пользователь указать список имен карт или покинуть сервер, чтобы сделать случайный выбор.Он должен скрывать нерелевантный набор элементов формы и показывать соответствующий набор.
Это отлично работает в FireFox, но не работает в Internet Explorer (проверено IE 8).Он выдает ошибку «Объект не поддерживает это свойство или метод» в одной из строк if-test;использование отладчика JS показывает, что seldiv.visible()
не работает.
Как я могу определить видимость элемента в IE - конечно, Prototype должен быть полностью совместим с IE?Или я никогда не смогу управлять им с помощью Prototype и должен переключиться на jQuery - который, очевидно, будет усилием, так как мне нужно будет заставить Rails также соответствовать.