Модальное окно Bootstrap

12
A4
На сайте с 13.06.2012
Offline
149
1759

Здравствуйте, подскажите, как разместить ссылку в модальном окне на якорь на текущей странице. Например, «#comments». Чтобы при клике на нее был одновременно переход к этому якорю и закрытие модального окна?

M3
На сайте с 29.01.2013
Offline
30
#1

Если не углубляться в JS, то должен отработать стандартный API модального окна:

<a href="#comments" data-dismiss="modal">Комментарии</a>

A4
На сайте с 13.06.2012
Offline
149
#2
marc3d:
Если не углубляться в JS, то должен отработать стандартный API модального окна:

<a href="#comments" data-dismiss="modal">Комментарии</a>

Через стандартный API не работает почему-то (переход есть, но окно не закрывается). Вот код модала:

<div class="modal">

<input class="modal-open" id="modal-5" type="checkbox" hidden>

<div class="modal-wrap" aria-hidden="true" role="dialog">

<label class="modal-overlay" for="modal-5"></label>

<div class="modal-dialog">

<div class="modal-header">

<span class="header">Заголовок</span>

<label class="btn-close" for="modal-5" aria-hidden="true">×</label>

</div>

<div class="modal-body">

<p>Модальное окно</p>

</div>

<div class="modal-footer">

<a href="#comments" data-dismiss="modal">Комментарии</a>

</div>

</div>

</div>

</div>

Модал открывается нажатием на label:

<label class="myclassss" for="modal-5">Открыть модал</label>

M3
На сайте с 29.01.2013
Offline
30
#3

ant42, данный код корректно закрывает окно и проставляет хэш:


<label data-toggle="modal" data-target=".modal">Открыть модальное окно</label>

<div class="modal">
<div class="modal-dialog">
<div class="modal-content">
<a href="#comments" data-dismiss="modal">Закрыть и перейти к #comments</a>
</div>
</div>
</div>
A4
На сайте с 13.06.2012
Offline
149
#4

marc3d,

marc3d:
<label data-toggle="modal" data-target=".modal">Открыть модальное окно</label>

у меня этот label не открывает модальное окно

M3
На сайте с 29.01.2013
Offline
30
#5

Версия Bootstrap? Может дадите jsfiddle?

Что-то не сходится...

A4
На сайте с 13.06.2012
Offline
149
#6
marc3d:
Версия Bootstrap? Может дадите jsfiddle?
Что-то не сходится...

Ой, перепутал, на этом сайте bootstrap элементов нет, а открытие модального окна с помощью css сделано (и html5)

---------- Добавлено 10.09.2016 в 21:37 ----------

Вот пример https://jsfiddle.net/#&togetherjs=6KUytniiH2

M3
На сайте с 29.01.2013
Offline
30
#7

ant42, делайте переход таким кодом кнопки:


<a href="#comments">
<label for="modal-2">Открыть комментарии</label>
</a>

Это, если не углубляться в JS.

A4
На сайте с 13.06.2012
Offline
149
#8
marc3d:
ant42, делайте переход таким кодом кнопки:

Код:
<a href="#comments">
<label for="modal-2">Открыть комментарии</label>
</a>
Это, если не углубляться в JS.

Это не работает. Окно закрывается, но перехода нет

M3
На сайте с 29.01.2013
Offline
30
#9

Если есть jQuery, то могу предложить такой вариант, так как на чистом JS это реализовывается в шаблоне проблемнее.


HTML:
<script src="http://cdn.jsdelivr.net/jquery.scrollto/2.1.2/jquery.scrollTo.min.js"></script>
...
<label for="modal-2" data-scroll-to="#comments">Открыть комментарии</label>

JS:
$('[data-scroll-to]').click(function (e) {
$(window).scrollTo($($(e.target).data('scroll-to')).offset().top, 750);
});

Пробуйте.

A4
На сайте с 13.06.2012
Offline
149
#10
marc3d:
Если есть jQuery, то могу предложить такой вариант, так как на чистом JS это реализовывается в шаблоне проблемнее.

Код:
HTML:
<script src="http://cdn.jsdelivr.net/jquery.scrollto/2.1.2/jquery.scrollTo.min.js"></script>
...
<label for="modal-2" data-scroll-to="#comments">Открыть комментарии</label>

JS:
$('[data-scroll-to]').click(function (e) {
$(window).scrollTo($($(e.target).data('scroll-to')).offset().top, 750);
});
Пробуйте.

Чет не переходит ни фига...

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий