Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/22: Рейтинг темы: голосов - 22, средняя оценка - 4.77
4 / 4 / 1
Регистрация: 18.02.2010
Сообщений: 195

Спойлер

10.12.2011, 15:32. Показов 4206. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как написать ссылку, по нажатию на которую под ней отобразится абзац текста, а по повторному клику исчезнет.
1
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.12.2011, 15:32
Ответы с готовыми решениями:

Спойлер
Как сделать чтоб он был по вертикали а не горизонтали, тоисть на подобии дерева <a...

Спойлер
Всем доброго вечера, подскажите как сваять спойлер на js? Спойлер должен показывать скрытый текст(ссылки), но при нажатии, он должен...

Спойлер на JS
Есть два спойлера: function ShowOrHide(a){var...

16
 Аватар для Vovan-VE
13210 / 6599 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
10.12.2011, 16:03
Лучший ответ Сообщение было отмечено как решение

Решение

Реализация в лоб на DOM:
HTML5
1
2
3
4
5
6
7
8
9
<div class="panel">
    <div class="title" onclick="PanelToggle(this)">Panel 1</div>
    <div class="inner">foo bar lol</div>
</div>
 
<div class="panel">
    <div class="title" onclick="PanelToggle(this)">Panel 2</div>
    <div class="inner">qwe asd zxc</div>
</div>
CSS
1
2
3
.panel {margin:10px; border:#ccc solid 1px; padding:1px; background:#eee; width:300px;}
.panel .title {background:#ddd; padding:2px 4px; cursor:pointer;}
.panel .inner {padding:10px; height:100px;}
JavaScript
1
2
3
4
5
function PanelToggle(title) {
    for (var inner = title.nextSibling; inner && (inner.nodeType != 1 || inner.tagName.toUpperCase() != 'DIV'); inner = inner.nextSibling);
    if (!inner) return;
    inner.style.display = inner.style.display == 'none' ? '' : 'none';
};
Реализация на jQuery:
HTML5
1
2
3
4
5
6
7
8
9
<div class="panel">
    <div class="title">Panel 1</div>
    <div class="inner">foo bar lol</div>
</div>
 
<div class="panel open">
    <div class="title">Panel 2</div>
    <div class="inner">qwe asd zxc</div>
</div>
CSS
1
2
3
4
.panel {margin:10px; border:#ccc solid 1px; padding:1px; background:#eee; width:300px;}
.panel > .title {background:#ddd; padding:2px 4px; cursor:pointer;}
.panel > .inner {padding:10px; height:100px; display:none;}
.panel.open > .inner {display:block;}
JavaScript
1
2
3
4
5
$(function(){
    $('.panel > .title').click(function(){
        $(this).parent().toggleClass('open');
    });
});
4
16 / 16 / 0
Регистрация: 10.04.2011
Сообщений: 271
10.12.2011, 16:15
Цитата Сообщение от qw3qw3qw3r Посмотреть сообщение
Как написать ссылку, по нажатию на которую под ней отобразится абзац текста, а по повторному клику исчезнет.
C помощью javascript.
Привязываете к ссылке функцию OnClick и задаете в ней событие показывания текста. Как и скрытие при условии, что текст уже показан.
0
 Аватар для ArhangelSM
15 / 15 / 4
Регистрация: 04.10.2010
Сообщений: 584
16.12.2011, 11:04
а можно по конкретнее чуток написать куда ява скрипт запихивать
0
16.12.2011, 12:33

Не по теме:

Цитата Сообщение от ArhangelSM Посмотреть сообщение
а можно по конкретнее чуток написать куда ява скрипт запихивать
Гусары, молчать!!! :D

2
 Аватар для ArhangelSM
15 / 15 / 4
Регистрация: 04.10.2010
Сообщений: 584
17.12.2011, 20:50
подскажите как правильно вставить javascript так как у меня стоит дает тока прямоугольники с надписями панель

C#
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
29
30
31
32
33
  </fieldset>
 
 
    <div class="panel">
    <div class="title" onclick="PanelToggle(this)">Panel 1</div>
    <div class="inner">foo bar lol</div>
</div>
 
<div class="panel">
    <div class="title" onclick="PanelToggle(this)">Panel 2</div>
    <div class="inner">qwe asd zxc</div>
</div>
                                <script type="text/javascript">
                                    $(function () {
                                        $('.panel > .title').click(function () {
                                            $(this).parent().toggleClass('open');
                                        });
                                    });
                            </script>
    <p>
        @if (Request.IsAuthenticated)
        {
            if ((((CarsSalesSite.Utils.Membership.CSMembershipUser)Membership.GetUser()).IsAdministrator) || ((new Guid(Membership.GetUser().ProviderUserKey.ToString()) == @Model.UserGuid)))
            {
            @Html.ActionLink("Edit", "Edit", new { id = Model.Guid }) 
            <span>| </span>
            @Html.ActionLink("Delete", "Delete", new { id = Model.Guid }) 
            <span>| </span>
            }
        }
        @Html.ActionLink("Back to List", "Index")
    </p>
</div>
1
 Аватар для Vovan-VE
13210 / 6599 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
18.12.2011, 07:42
ArhangelSM, jQuery подключили?
1
 Аватар для ArhangelSM
15 / 15 / 4
Регистрация: 04.10.2010
Сообщений: 584
18.12.2011, 09:53
не знаю поэтому использовал 1й вариант
1
 Аватар для ArhangelSM
15 / 15 / 4
Регистрация: 04.10.2010
Сообщений: 584
21.12.2011, 17:51
сделал вот таким способом

C#
1
2
3
4
5
6
7
8
<div class="Featres">
        <div class="title" onclick="PanelToggle(this)">Featres</div>
        <div class="inner" style="display: none">
        <div id="options" style="width: 96%; margin: 15px; text-align: left;">
                    <p style="clear: left; text-align: justify; padding: 5px">@ViewBag.fiature</p>
                </div>
        </div>
    </div>
Java
1
2
3
4
5
6
7
function PanelToggle(title) {
   
    for (var inner = title.nextSibling; inner && (inner.nodeType != 1 || inner.tagName.toUpperCase() != 'DIV'); inner = inner.nextSibling);
    if (!inner) return;
    
    inner.style.display = inner.style.display == 'none' ? '' : 'none';
};
но есть проблема нет рамок спойлера тока слово при нажатии раскрывается и там текст, как добавить рамки?
1
front-end developer
 Аватар для Vicont
284 / 275 / 39
Регистрация: 31.08.2010
Сообщений: 577
Записей в блоге: 1
22.12.2011, 11:33
Укажите в стиле для элемента с классом inner рамку:
HTML5
1
<div class="inner" style="display: none; border: 1px solid #ccc">
2
 Аватар для Panamka
0 / 0 / 0
Регистрация: 04.04.2012
Сообщений: 6
04.04.2012, 20:16
скажите, плз, а если несколько спойлеров подряд использовать почему нижние съезжают вправо, и становятся подле содержимого верхних спойлеров?
Имеется 5 спойлеров. Работают плохо.
0
 Аватар для ArhangelSM
15 / 15 / 4
Регистрация: 04.10.2010
Сообщений: 584
04.04.2012, 20:26
потому что css надо корректировать
0
 Аватар для Panamka
0 / 0 / 0
Регистрация: 04.04.2012
Сообщений: 6
04.04.2012, 20:38
Цитата Сообщение от ArhangelSM Посмотреть сообщение
потому что css надо корректировать
а можно поподробнее? пожааалуйста)
я использую js в html.
где, как и что нужно корректировать в css?
0
 Аватар для ArhangelSM
15 / 15 / 4
Регистрация: 04.10.2010
Сообщений: 584
04.04.2012, 20:53
Цитата Сообщение от Vovan-VE Посмотреть сообщение
CSS
1
2
3
4
.panel {margin:10px; border:#ccc solid 1px; padding:1px; background:#eee; width:300px;}
.panel > .title {background:#ddd; padding:2px 4px; cursor:pointer;}
.panel > .inner {padding:10px; height:100px; display:none;}
.panel.open > .inner {display:block;}
поиграй с цифрами

Добавлено через 1 минуту
Цитата Сообщение от Panamka Посмотреть сообщение
а можно поподробнее? пожааалуйста)
я использую js в html.
где, как и что нужно корректировать в css?
вообще странный вопрос, а как ты вставлял код если не в курсе где css находится ведь туда часть кода вставляется
0
 Аватар для Panamka
0 / 0 / 0
Регистрация: 04.04.2012
Сообщений: 6
04.04.2012, 20:58
Буду очень благодарна, если глянешь мой код в этой темке: js html спойлер отладка

я с css не имела дела, поэтому не понимаю о чем идет речь. Если не сложно, расскажи подробно на что обратить внимание и что исправить.
ответ, пожалуйста, в указанной темке.
0
 Аватар для Heleg
209 / 209 / 6
Регистрация: 23.10.2011
Сообщений: 971
05.04.2012, 09:40
Цитата Сообщение от Vovan-VE Посмотреть сообщение
JavaScript
1
2
3
4
5
function PanelToggle(title) {
    for (var inner = title.nextSibling; inner && (inner.nodeType != 1 || inner.tagName.toUpperCase() != 'DIV'); inner = inner.nextSibling);
    if (!inner) return;
    inner.style.display = inner.style.display == 'none' ? '' : 'none';
};
объясните мне пожулуйста работу этого скрипта, не понимаю, для чего здесь цикл
0
 Аватар для Vovan-VE
13210 / 6599 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
05.04.2012, 19:00
Цитата Сообщение от Heleg Посмотреть сообщение
не понимаю, для чего здесь цикл
Циклом мы шагаем от элемента, который в title, вперед по его братьям-узлам, пока не найдем первый попавшийся элемент div. В цикле вместо просто title.nextSibling, потому что браузер может выдать текстовый узел с пробелами между ними.

Когда находим заветный div, включаем/выключаем у него style="display:none;"
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
05.04.2012, 19:00
Помогаю со студенческими работами здесь

Спойлер
Как с помощью js/jquerry сделать спойлер? Нужно заспойлерить данные строки (за исключением заголовка :D )

Спойлер!!!
Привет всем!!!! Как сделать спойлер такого вида Тут текст???? Просто делаю страницу в HTML, а как спойлер сделать ненаю!!!!! Может...

Спойлер с памятью
Всем доброго дня, очень нужен спойлер с памятью, т.е. если открыл то он остается открытым после перезагрузки стр. и на оборот.

Iframe в спойлер
Здравствуйте форумчане. Подскажите пожалуйста, возможно ли сделать спойлер таким образом, чтобы iframe загружался только при открытии...

Вкладки+спойлер
Здравствуйте,нужна помощь. Движок сайта DLE 10.0 Решил сделать красивые вкладки для сайта, все подключил, выровнял, вкладки заработали...


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

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru