Автор Тема: спрятать/показать текст  (Прочитано 6957 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Forza

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 288
  • +0/-0
  • 0
    • Просмотр профиля
спрятать/показать текст
« : 22 Июля 2004, 20:04:56 »
Какой самый универсальный (поддерживаемый большинством браузеров) способ показывать и убирать заранее предопределённый текст?
Пока приходит в голову объявить

Text to show & hide!

и функциях меняеть его параметр p1.style.display с пустого \'\' на \'none\' и обратно.
Если будет возможность динамически менять сам текст, вообще будет здорово.

Кстати, может кто-нибудь понятно объяснить, что значит значение \'block\' для style.display? Пытался понять это с помощью мануалов: увы, не удалось. :(

Оффлайн CGVictor

  • теперь местный
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2511
  • +0/-0
  • 2
    • Просмотр профиля
    • http://cg.net.ru
спрятать/показать текст
« Ответ #1 : 23 Июля 2004, 10:19:18 »
show
test


"Block" означает блочный элемент. Т.е. элемент, который имеет А)изменяемое положение на странице, Б)возможность установки полей и границ и еще несколько особенностей.
В отличии от "Inline" - это позиционирование прямо в тексте.

Word видел? Так вот, кусок строки - это как элемент inline, а абзац - как block.

Да, для предыдущего примера - изменение текста
test it!

[off]Чуйка подсказывает, что кто-нибудь меня пнет за некорректность высказываний[/off]
LJ: Backslashed life (rss)

Оффлайн Forza

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 288
  • +0/-0
  • 0
    • Просмотр профиля
спрятать/показать текст
« Ответ #2 : 23 Июля 2004, 10:43:02 »
Цитировать
CGVictor:
show
test

Цитировать
CGVictor:
test it!


И в каких броузерах это будет работать?

К сожалению, нет возможности проверить это самому. ;)

Оффлайн Forza

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 288
  • +0/-0
  • 0
    • Просмотр профиля
спрятать/показать текст
« Ответ #3 : 23 Июля 2004, 14:12:43 »
Цитировать
CGVictor:
Да, для предыдущего примера - изменение текста
test it!


Ещё вопросик про изменение текста. Если мне надо вставить форматированный текст с тегами или картинку цвета фона в качестве отступа, то как поступить? Если написать onMouseOver="p1.innerText=\'Красный текст\', то он так и выведет чёрный неформатированный текст Красный текст со всеми тегами.
Аналогично, если вставлять тег .

Оффлайн ThE0ReTiC

  • Главный по тарелочкам
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 4041
  • +2/-0
  • 2
    • Просмотр профиля
    • http://
спрятать/показать текст
« Ответ #4 : 23 Июля 2004, 14:24:05 »
Цитировать
Forza:
innerText

innerHTML вообче-то надо - тыж HTML код вставляешь
AS IS...

Оффлайн Forza

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 288
  • +0/-0
  • 0
    • Просмотр профиля
спрятать/показать текст
« Ответ #5 : 23 Июля 2004, 14:30:52 »
Цитировать
ThE0ReTiC:
innerHTML вообче-то надо - тыж HTML код вставляешь


Спасибо. Всё работает!
И последний вопрос - этот innerHTML всеми броузерами поддерживается?

Оффлайн CGVictor

  • теперь местный
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2511
  • +0/-0
  • 2
    • Просмотр профиля
    • http://cg.net.ru
спрятать/показать текст
« Ответ #6 : 26 Июля 2004, 11:43:05 »
[off]Вопрос не в тему:
а на зачем тебе понадобилось вставлять такое innerHTML-ом?
По моему опыту, всегда можно обойтись...[/off]
Цитировать
Forza:
этот innerHTML всеми броузерами поддерживается?

Многими... :)
LJ: Backslashed life (rss)

Оффлайн Forza

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 288
  • +0/-0
  • 0
    • Просмотр профиля
спрятать/показать текст
« Ответ #7 : 26 Июля 2004, 11:49:40 »
Цитировать
CGVictor:
Вопрос не в тему:
а на зачем тебе понадобилось вставлять такое innerHTML-ом?
По моему опыту, всегда можно обойтись...


А чем такое вставлять? Чем посоветовали, то и использую.
Задачей является вставить произвольное количество строк типа
текст
.

Оффлайн CGVictor

  • теперь местный
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2511
  • +0/-0
  • 2
    • Просмотр профиля
    • http://cg.net.ru
спрятать/показать текст
« Ответ #8 : 26 Июля 2004, 15:11:32 »
Цитировать
Forza:
вставить произвольное количество строк типа

Ну, это-то я уже догадался.
Просто, если все это генерируется на сервере - то имхо проще style.display (быстрее и глюков обычно меньше), а если на клиенте - то непонятно, зачем такое может понадобиться.
LJ: Backslashed life (rss)

Оффлайн Forza

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 288
  • +0/-0
  • 0
    • Просмотр профиля
спрятать/показать текст
« Ответ #9 : 26 Июля 2004, 15:24:31 »
Цитировать
CGVictor:
а если на клиенте - то непонятно, зачем такое может понадобиться

Это генерируется на клиенте.
Клиент заполняет регистрационную форму, и в случае нахождения ошибок в пустой параграф выводятся по строке на каждую ошибку.
Конечно, это можно делать и на сервере, но на клиенте, понятно, быстрее.

Что-то не так?

Оффлайн CGVictor

  • теперь местный
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2511
  • +0/-0
  • 2
    • Просмотр профиля
    • http://cg.net.ru
спрятать/показать текст
« Ответ #10 : 26 Июля 2004, 17:01:06 »
Цитировать
Forza:
Конечно, это можно делать и на сервере, но на клиенте, понятно, быстрее.

Нет-нет, всё так.
Я бы просто сделал по слою на ошибку в каждом возможном поле (т.е."Непр.имя", "Непр.пароль" и т.д.) и выводил бы их.
А так - все ОК.

[off]Только ты мне скажи, для очистки моей совести, ты их и на сервере проверяешь, да?
Положительный ответ приветствуется.[/off]
LJ: Backslashed life (rss)

Оффлайн Forza

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 288
  • +0/-0
  • 0
    • Просмотр профиля
спрятать/показать текст
« Ответ #11 : 26 Июля 2004, 17:43:56 »
Цитировать
CGVictor:
Я бы просто сделал по слою на ошибку в каждом возможном поле (т.е."Непр.имя", "Непр.пароль" и т.д.) и выводил бы их.

Я пока не умею работать со слоями. Покажешь пример? ;)
Цитировать
CGVictor:
Только ты мне скажи, для очистки моей совести, ты их и на сервере проверяешь, да?
Положительный ответ приветствуется.

Да, конечно. Если на сервер придут неправильные данные (JS отключен или ещё почему-то), то он их обнаружит и выдаст ошибки в таком же формате.

Оффлайн CGVictor

  • теперь местный
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2511
  • +0/-0
  • 2
    • Просмотр профиля
    • http://cg.net.ru
спрятать/показать текст
« Ответ #12 : 26 Июля 2004, 18:50:46 »
Цитировать
Forza:
Я пока не умею работать со слоями

Ну, здрасте.
А DIV - что, по твоему?

Как бы сделал я:
Выложил бы на страницу описание каждой ошибки, с форматированием и прочим HTML. Для каждой - свой DIV, display:none.
По результатам работы скрипта, проверяющего форму, какие-то из DIV-ов делал видимыми.

Почему:
1.Дизайн ошибок четко определяется во время проектирования
2.Работает быстрее
3.Если захочу поменять дизайн - все спокойно и без напрягов
4.Никто не мешает загнать описание одной ошибки в шаблон и генерить эти описания на серваке (а вдруг пригодится?)
5.Нет километрового скрипта с innerHTML.
Вот. Убедил?
LJ: Backslashed life (rss)

Оффлайн Forza

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 288
  • +0/-0
  • 0
    • Просмотр профиля
спрятать/показать текст
« Ответ #13 : 20 Августа 2004, 17:18:17 »
CGVictor,
Как обстоит с этой задачей в Нетскейп?
Если писать p1.innerHTML или d1.style.display, то Нетскейпа пишет "p1 is not defined". Аналогично он писал, если к форме обращаться просто по имени - в этом случае выручило обращение как document.formName. Но если также обратиться к параграфу или слою, т.е. document.p1.innerHTML, document.d1.style.display, то Нетскейпа пишет "p1 has no properties".

Оффлайн CGVictor

  • теперь местный
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2511
  • +0/-0
  • 2
    • Просмотр профиля
    • http://cg.net.ru
спрятать/показать текст
« Ответ #14 : 25 Августа 2004, 10:44:25 »
Forza
Сейчас не помню, но как-то делал.
Скатал on-off слоев из кода MMDreamweaver. Он там всепогодный :)
Как только буду с работой посвободнее - скину кусок кода. Тут заказчик буянит...
Ты не в обиде?
LJ: Backslashed life (rss)

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28