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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сделать невидимый блок видимым, Если браузер поддерживает javascript 
:(
    Опции темы
arial
Дата 15.11.2004, 18:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 772
Регистрация: 11.3.2003
Где: Архангельская обл .

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



Код
<div style="display:none">Контент</div>
Как сделать этот блок видимым если браузер поддерживает javascript. Типа того:
Код
<div id="block" style="display:none" onLoad="document.block.visibility='show'">Контент</div>
Поможите чем можете.


--------------------
Есть люди, в которых живет Бог. Есть люди, в которых живет дьявол. А есть люди, в которых живут только глисты. (Ф. Раневская)
PM ICQ   Вверх
Sardar
Дата 15.11.2004, 18:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


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

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



Код
document.getElementById("block").style.display="block";

У слоя нет события onLoad, если нужно показать слой сразу после загрузки(зачем?), то попробуй поставить скриптовый вызов после кода слоя. Если в слое картинки, то придётся ждать пока они загрузятся. Это сделать просто. Только я в задачу не вьезжаю smile


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


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 772
Регистрация: 11.3.2003
Где: Архангельская обл .

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



Цитата(Sardar @ 15.11.2004, 19:17)
Только я в задачу не вьезжаю smile

Всё просто. Если браузер не поддерживает javascript, блок с кнопками, работающими через javascript не будет виден. smile


--------------------
Есть люди, в которых живет Бог. Есть люди, в которых живет дьявол. А есть люди, в которых живут только глисты. (Ф. Раневская)
PM ICQ   Вверх
Alx
Дата 16.11.2004, 17:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

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



поствь на body!

Код

<body onload="document.getElementById('block').style.display='block';">
<div style="display:'none';">Содержание</div>



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


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 772
Регистрация: 11.3.2003
Где: Архангельская обл .

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



А если скрываемых блоков несколько? Как их одной командой раскрыть?


--------------------
Есть люди, в которых живет Бог. Есть люди, в которых живет дьявол. А есть люди, в которых живут только глисты. (Ф. Раневская)
PM ICQ   Вверх
sergejzr
Дата 16.11.2004, 19:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

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



В цикле каждый отдельно.


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Alx
Дата 16.11.2004, 19:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

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



Код

<html>
<head>
<script>
function opBlocks()
{for (var i=0;i<document.getElementById("jsBlocks").childNodes.length;i++)
document.getElementById("jsBlocks").childNodes[i].style.display = "block";
}
</script>
</head>
<body>
<body onload="opBlocks()">
<span id="jsBlocks">
<div style="display:'none';">Содержание</div>
<div style="display:'none';">Содержание</div>
<div style="display:'none';">Содержание</div>
<div style="display:'none';">Содержание</div>
</span>
</body>
</html>


работает везде (IE, Opera 5.12+, Mozilla, FireFox, Netscape)
smile

Это сообщение отредактировал(а) ALEXANDRO - 16.11.2004, 19:24


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


Бегун
****


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

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



ALEXANDRO да!!! Это прогресс, наконец вижу код написанный согласно мировым стандартам, а не спецификациям от $MS smile

Одно замечание: в inline элементы(span) нельзя вставлять блоковые элементы(div), работать конечно будет, но их смысл теряется, да и у разных браузеров по разному башню сносить будет.

Задачу можно решить так:
Код
<html>
function opBlocks(){
 var els=document.getElmentsByTagName("DIV");
 for (var i=0; i<els.length; i++)
   if(els[i].getAttribute("jsprotected")) els[i].style.display="block"; ="";
}
...
<body onload="opBlocks()">
<div style="display:'none';" jsprotected>Содержание</div>
<div style="display:'none';" jsprotected>Содержание</div>
<div style="display:'none';" jsprotected>Содержание</div>
<div style="display:'none';" jsprotected>Содержание</div>
</body>
</html>

Или даже так:
Код
<html>
function opBlocks(){
 var els=document.getElmentsByName("jsprotected");
 for (var i=0; i<els.length; i++) els[i].style.display="block"; ="";
}
...
<body onload="opBlocks()">
<div name="jsprotected" style="display:'none';">Содержание</div>
<div name="jsprotected" style="display:'none';">Содержание</div>
<div name="jsprotected" style="display:'none';">Содержание</div>
<div name="jsprotected" style="display:'none';">Содержание</div>
</body>
</html>



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


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

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



Sardar
1. что значит
els[i].style.display="block"; ="";
2. лучше наверное все-таки их по ID назвать и разными именами. (1, 2, 3 и т.д.) smile


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


Бегун
****


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

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



Цитата(ALEXANDRO @ 17.11.2004, 08:22)
1. что значит

а я там коментарий // ставил, как сейчас помню... во меня ночью проглючило smile

Цитата(ALEXANDRO @ 17.11.2004, 08:22)
2. лучше наверное все-таки их по ID назвать и разными именами. (1, 2, 3 и т.д.)

Тогд логики нет, у элементов должно быть что то общее на уровне языка/окружения, а не просто правило именования.


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


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

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



А у меня говорит что объект не поддерживается это свойство или метод здесь
var els=document.getElmentsByName("jsprotected");

Добавлено @ 11:15

Нашёл smile getElementsByName

А вообще, это правильно обзывать всё одним именем?

Это сообщение отредактировал(а) Red Dragon - 17.11.2004, 11:16


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
Sardar
Дата 17.11.2004, 13:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


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

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



Цитата(Red @ 17.11.2004, 10:11)
А вообще, это правильно обзывать всё одним именем?

Да, имя это "просто" аттрибут. Конечно возможны траблы с document.all который выбирает элементы по имени и ID, но от этих коллекций нужно отказатся.

А вообще жутко не хватает XPath, DOM(1-2) в том виде в котором он сейчас удобен для редакрирования нескольких нод. Для удобной работы он не очень годится. ПРосто делали платформо не зависимо, а так могли бы добавить функции для пробега по коллекция, работы со списком нод как с одной, оченьгибкие выборки XPath и в HTML.


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


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 772
Регистрация: 11.3.2003
Где: Архангельская обл .

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



Неработает!
Код
function opBlocks() {
   var els = document.getElementByName('jsprotected');
   for (var i = 0; i < els.length; i++) {
       els[i].style.display = 'block';
   }
}

<div name="jsprotected" style="display:none;">Содержание1</div>



--------------------
Есть люди, в которых живет Бог. Есть люди, в которых живет дьявол. А есть люди, в которых живут только глисты. (Ф. Раневская)
PM ICQ   Вверх
Alx
Дата 17.11.2004, 19:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

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



замени в моём коде все div`ы на span`ы или наоборот.


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


Бегун
****


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

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



Цитата(arial @ 17.11.2004, 18:12)
var els = document.getElementByName('jsprotected');

Просто ты опечатался: var els = document.getElementsByName('jsprotected'); smile


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


 




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


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

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