Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> ошибка в IE с style.visibility = "collapse" 
V
    Опции темы
dipsy
Дата 18.7.2006, 19:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 283
Регистрация: 13.1.2005
Где: Нижний Новгород

Репутация: нет
Всего: нет



В-общем, - ошибка в IE  с style.visibility = "collapse";

ругается, когда использую это свойство.

вот javascript:
Код

function axe_ChangeVisibleNeedText( par_SelectValue ){
  if ( par_SelectValue < 4 ){
     document.getElementById( "if_need_text" ).style.visibility = "collapse";
     document.getElementById( "if_need_text" ).style.display = "none";
  } else {
     document.getElementById( "if_need_text" ).style.visibility = "visible";
     document.getElementById( "if_need_text" ).style.display = "block";
  }
  return true;
}

вот html:
Код

                <table width="100%" id="if_need_text" style="display: none;">
                    <tr>
                 <td width="30%">
                     Введите варианты ответа "через Enter"
                 </td>
                 <td>
                     <textarea name="answers" id="answers" style="width: 98%; height: 55px;"></textarea>
                 </td>
                    <tr>
           </table>

если использовать только display, - то ошибка в мозиле.
если только visibility, - то таблица не сворачивается.

как угодить всем браузерам сразу? способ определения, - не является ли браузер именно IE не впечатляет... 
PM MAIL WWW   Вверх
Burrr
Дата 18.7.2006, 19:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 459
Регистрация: 4.9.2005

Репутация: 10
Всего: 20



Я использую 
display = "none"
display = "" (вместо block)
Работает четко во всех браузерах. 


--------------------
PM MAIL ICQ   Вверх
Sardar
Дата 18.7.2006, 19:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



dipsy, значение collapse допустимо только для таблиц (col, thead, tbody  и т.д.). Эффект тот же как и display: none,  но таблицу от этого не глючит. У самой таблицы visibility: collapse применять нельзя. В мозилле нет ошибок с display,  выкладывай код и текст ошибки, найдём причину. 


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
dipsy
Дата 18.7.2006, 20:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 283
Регистрация: 13.1.2005
Где: Нижний Новгород

Репутация: нет
Всего: нет



Sardar, ругается только IE:
Цитата
Не удалось получить свойство visibility. Недопустимый аргумент.


мозила не ругается, - при использовании display: none к тегу tr строка почему-то не сворачивается, - а работает так как если бы строка просто стала невидимой. Но при использовании display: block всё сдвигается вниз. по-этому захотелось использовать ещё и visibility, но видно без него можно обойтись.

Burrr, спасибо, всё работает, как ты указал. Спасибо!


Как сделать, чтобы скрывать несколько объектов не перечисляя всё c помощью id ?
чтобы не получилось что-то типа:
     document.getElementById( "id1" ).style.display = "none";
     document.getElementById( "id2" ).style.display = "none";
     document.getElementById( "id3" ).style.display = "none";
 
PM MAIL WWW   Вверх
Burrr
Дата 19.7.2006, 10:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 459
Регистрация: 4.9.2005

Репутация: 10
Всего: 20



Если код аналогичен твоему, такое решение должно подойти:
Код

var allNum = 3;
for (i = 1; i <= allNum; i++) {
     document.getElementById( "id" + i).style.display = "none";
}

?  

Это сообщение отредактировал(а) Burrr - 19.7.2006, 10:20


--------------------
PM MAIL ICQ   Вверх
Sardar
Дата 19.7.2006, 11:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



dipsy, таблица должна быть структурной, т.е. собирай строки что скрыть нужно в tbody, который и скрывай

Цитата(dipsy @  18.7.2006,  19:13 Найти цитируемый пост)
Но при использовании display: block всё сдвигается вниз. по-этому захотелось использовать ещё и visibility

Срочно нужно сесть за CSS2 и вкурить свойство  display! У строки таблицы display не block! Это не блочный элемент, а table-row. display мощная и сложная для браузера вешь, т.к. меняеться логика элемента, так строка может стать inline элементом внутри таблицы, что ошибочно, поэтому она должна быть вытеснена вне таблицы, как это происходит с простым текстом (впиши в вёрстку таблицы между tr какой нибудь текст).

display: none отрубает элемент от оторисовки, т.е. его как бы физически нет. visibility только скрывает элемент, но его бокс остаёться (читать что есть box model в спецификации). visibility: collapse придуман для удобства с таблицами, что бы убрать строку и таблица бы подтянулась. тот же эффект у display: none, но физически это разные процессы. display лучше возвращать в дефолт как display="", т.к.  table-row ИЕ по моему не поддерживает. 


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0869 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.