Ситуация в следующем: есть элемент, точнее, столбец таблицы, который скрывается и показывается по нажатию кнопки. HTML: <table> <tr> <td>Столбец 1</td> </tr> <tr> <td>Кнопка "Скрыть/показать первый столбец"</td> </tr> <tr> <td>Столбец 2</td> </tr> </table> В общем, при нажатии на второй столбец первый исчезает. Реализовано всё это дело при помощи JS: Код: <script type="text/javascript"> function openbox(id){ display = document.getElementById(id).style.display; if(display=='none'){ document.getElementById(id).style.display='block'; }else{ document.getElementById(id).style.display='none'; } } </script> Проблема в следующем: при окне шириной менее 700px, столбец 1 получает в CSS свойство "display:none;". Кнопка при этом остаётся рабочей, но для того, чтобы развернуть скрытую область приходится делать два клика мыши, а не один. Как понимаю, всё дело в условиях скрипта, но как его изменить, чтобы всё работало с первого раза?
А попробуй просто убрать условие, при котором будет скрываться столбец, то есть отображение объекта уходить на ноль. Я об этом: столбец 1 получает в CSS свойство "display:none;" К тому же у тебя переменные нормально прописаны? Для каждого айди пропиши условие, при котором он должен отображаться всегда.
@Мефистофель, в JS я не особо силён. Беру готовые решения и перепиливаю их под себя. ИМХО, здесь просто нужно добавить логический оператор или что-то типа того. 1) Если display=none, то при нажатии делаем display=block; 2) И если всё наоборот
Проблема неактуальна. Прошли дни и месяцы. Освоился с ява-скриптом) Вот скрипт. XXXX - название функции. YYYY - название блока, который прячем/скрываем. Код: <script type="text/javascript"> function XXXX() { obj = document.getElementById("YYYY"); if( obj.style.display == "block" ) { obj.style.display = "none"; } else { obj.style.display = "block"; } } </script> А это - кнопка Код: <a href="javascript:XXXX()" id="ID если нужен">ЙА-КНОПКО</a> Сам же блок, который прячем-скрываем - абсолютно любая фигня.