Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/32: Рейтинг темы: голосов - 32, средняя оценка - 4.91
7 / 7 / 2
Регистрация: 05.11.2009
Сообщений: 55

Открытие блока при клике

13.09.2011, 11:54. Показов 6674. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Имеется форма:
CSS
1
2
3
4
5
6
7
8
#msg {
    width: 430px;
    min-height: 30px;
}
#msg:focus {
  height: 100px;
  width: 430px;
}
HTML5
1
2
3
4
<form method="post" action="">
  <textarea id="msg"></textarea>
  <div id="hide" style="display:block;">Скрытый блок</div>
</form>
Как сделать чтобы при клике на textarea показывался блок hide?

Скрыл блок таким методом:
JavaScript
1
2
3
4
window.onload = function () {
  var h = document.getElementById('hide');
  h.style.display = 'none';
}
А вот как открыть при клике не знаю
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.09.2011, 11:54
Ответы с готовыми решениями:

Замена блока при клике
Хочу сделать как в диалогах вконтакте, где нажимаешь на сообщение, и один блок сменяется другим в текущем окне, без загрузки уже...

Анимация блока при клике
Добрый день! Подскажите пожалуйста, как сделать что бы при клике на бок он плавно смещался вверх. Как добавить класс с...

Местоположение блока при клике
Помогите, тут задание понятно, надо при клике на 4 блока (left, top, right, bottom), управлять местоположениям. У меня блок уходит, но его...

7
Просто любитель
 Аватар для GuardCat
626 / 464 / 120
Регистрация: 20.01.2011
Сообщений: 865
Записей в блоге: 2
13.09.2011, 12:40
Это вот так:
HTML5
1
2
3
4
<form method="post" action="">
  <textarea id="msg"></textarea>
  <div id="hide" style="display:none;">Скрытый блок</div>
</form>
Это вообще убрать:
JavaScript
1
2
3
4
window.onload = function () {
  var h = document.getElementById('hide');
  h.style.display = 'none';
}
А в текстареа добавить вот это:
HTML5
1
  <textarea id="msg" onclick="d=document.getElementById('hide').style.display;d=(d=='none')?'block':'none'"></textarea>
При клике на текстареа будет отображаться или скрываться блок. Т.е. если блок отображён --- он скроется и наоборот. Если вам нужно только отобразить блок и остальное не нужно, то так:

HTML5
1
  <textarea id="msg" onclick="document.getElementById('hide').style.display='block'"></textarea>
1
7 / 7 / 2
Регистрация: 05.11.2009
Сообщений: 55
13.09.2011, 13:11  [ТС]
GuardCat, Спасибо, но из рабочих был только второй пример.
Я сделал вот так:
HTML5
1
2
3
   
<textarea id="msg" onblur="document.getElementById('hide').style.display='none';" onfocus="document.getElementById('hide').style.display='block';"> 
</textarea>
0
Просто любитель
 Аватар для GuardCat
626 / 464 / 120
Регистрация: 20.01.2011
Сообщений: 865
Записей в блоге: 2
13.09.2011, 14:53
Где-то я косячнул, похоже. Пардон. Вот оптимизированный и рабочий (проверено) вариант.
HTML5
1
<textarea id="msg" onclick="toggle(document.getElementById('hide'))"></textarea>
JavaScript
1
2
3
4
function toggle(it)
{
    it.style.display=(it.style.display=="none")?"block":"none";
}
1
13.09.2011, 15:01
Лучший ответ Сообщение было отмечено как решение

Решение

Не по теме:

Если бы не IE8, то можно было бы через CSS сделать гораздо проще:

HTML5
1
2
<textarea id="msg"></textarea>
<div id="hide">Скрытый блок</div>
CSS
1
2
#hide {display:none;}
#msg:focus ~ #hide {display:block;}

3
13.09.2011, 15:04

Не по теме:

Я и не знал, что так можно! Но вот MSIE!!!
Когда-нибудь Google купит компанию Microsoft и кончатся наши мучения)))

0
7 / 7 / 2
Регистрация: 05.11.2009
Сообщений: 55
14.09.2011, 07:26  [ТС]
Цитата Сообщение от Vovan-VE Посмотреть сообщение

Не по теме:

Если бы не IE8, то можно было бы через CSS сделать гораздо проще:

HTML5
1
2
<textarea id="msg"></textarea>
<div id="hide">Скрытый блок</div>
CSS
1
2
#hide {display:none;}
#msg:focus ~ #hide {display:block;}

А что означает знак ~?
0
 Аватар для Vovan-VE
13210 / 6599 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
14.09.2011, 14:19
Цитата Сообщение от Refandler Посмотреть сообщение
А что означает знак ~?
A + B
Все B, у которых предыдущим братом является A

A ~ B
Все B, у которых одним из предыдущих братьев является A

HTML5
1
2
3
<div>div</div>
<p>bold red</p>
<p>bold</p>
CSS
1
2
div + p {color:#f00;}
div ~ p {font-weight:bold;}
См. http://www.w3.org/TR/2009/PR-c... #selectors
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.09.2011, 14:19
Помогаю со студенческими работами здесь

Закрытие блока при клике в любом месте
Приветствую! Не подскажете как новичку решить проблему? Есть блок: &lt;div id=&quot;btopen&quot;&gt; &lt;a...

Открытие контента в другом окне при клике на ссылку
Всем хай. Можете сказать, как при нажатие на ссылку, открыть контент, в другом окне.Я понимаю, что через target_blanc, но хочу...

Как сделать открытие галереи изображений при клике на картинку
Good day! ;) Делаю Landing page на котором будут представлены несколько квартир. На сайте несколько блоков: Адрес квартиры и одна...

Плавное перемещение одного блока наверх и исчезновение других блоков при клике
Добрый день, Подскажите, пожалуйста, есть ли уже реализованный код или где можно найти идейки для реализации такого замысла: нужно...

Код при клике работает на открытие блока, а на закрытие нет
Здравствуйте. Код при клике работает на открытие блока, что нужно в него дописать, что бы при повторном клике блок закрывался. &lt;span...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru