Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 19.02.2015
Сообщений: 12
1

Открытие произвольного количества модальных окон с уникальным id для каждого.

19.02.2015, 21:03. Показов 825. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем доброго дня!
Нужна помощь. Если кто может, то пожалуйста.
Есть скрипт модального окна. Он открывает одно окно по классу. Как его переделать, чтобы он открывал любое кол-во окон по ссылке <a href id..., присвоив персональный id каждому окну? А также использовать одну подложку для всех окон. Если кто может, помогите пожалуйста.

Javascript
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
function Modal(modalEl, overlayEl) {
                  this.modal = $(modalEl);
                  this.overlay = $(overlayEl);
                  this.wWidth = $(window).width();
                  this.wHeight = $(window).height();
                  this.dHeight = $(document).height();
            }
            Modal.prototype = {
                  init: function(){
                    this.bindHandlers();
                  },
                  bindHandlers: function(){
                    var self = this;
                    $('.modal-link').on('click', function(){
                          self.showModal();
                    });
                    $(window)
                          .resize(function() {
                            self.setWinSize($(this));
                            self.setModalPosition();
                         })
                           .scroll(function() {
                            self.setWinSize($(this));
                            self.setModalPosition();
                         });
                    $('.close-button').click(function(){
                          self.hideModal();
                    });
                  },
                  showModal: function(){
                    this.overlay.fadeIn();
                    this.modal.fadeIn();
                    this.setModalPosition();
                  },
                  hideModal: function(){
                    this.overlay.fadeOut();
                    this.modal.fadeOut();
                  },
                  setModalPosition: function(){
                    var modalHeight = this.modal.outerHeight(),
                            modalWidth = this.modal.outerWidth(),
                            scrollTop = $(window).scrollTop();
                    if(this.wHeight < modalHeight){
                          this.modal.css('top', scrollTop);
                    } else {
                          this.modal.css('top', this.centerVertically(this.wHeight,modalHeight,scrollTop));
                    }
                    if(this.wWidth < modalWidth){
                          this.modal.css('left', 0);
                    } else {
                          this.modal.css('left', this.centerHorizontally(this.wWidth,modalWidth));
                    }
                  },
                  centerVertically: function(w, m, scroll){
                    return ((w - m)/2 + scroll);
                  },
                  centerHorizontally: function(w, m){
                    return (w - m)/2;
                  },
                  setWinSize:function(win){
                    this.wWidth = win.width();
                    this.wHeight = win.height();
                  }
            }
 
          $(document).ready(function(){
            var modal = new Modal($('.modal-window'), $('.modal-overlay'));
            modal.init();
          });

HTML5
1
2
3
4
5
6
7
<p class="modal-link">Открыть окно</p>
<div class="modal-overlay">
  <div class="modal-window">
    <p>содержимое</p>
    <button class="close">Close</button>
  </div>
</div>
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.02.2015, 21:03
Ответы с готовыми решениями:

Открытие модальных окон по своему id
Приветствую. Есть набор кнопок. Считаю элементы и по которому (порядковый номер) было нажатие...

Как использовать jQuery для открытия модальных окон в pdf файлом?
В html много ссылок типа: &lt;a href=&quot;pdf.pdf&quot; onclick=&quot;window.open(this.href, '',...

Несколько модальных окон
Соответственно, есть вот такой скрипт - https://codepen.io/dzivenu/pen/BwmBqq &lt;h1&gt;Simple...

Много модальных окон
Добрый вечер. На странице есть очень много модальных окон. Модалки реализованы посредством...

1
9 / 5 / 1
Регистрация: 09.11.2012
Сообщений: 31
20.02.2015, 11:48 2
Модальное окно оттого и названо модальным, что открывается только одно и не позволяет ничего делать, пока его не закроешь.
1
20.02.2015, 11:48
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.02.2015, 11:48
Помогаю со студенческими работами здесь

Сворачивание модальных окон
Здравствуйте! Подтолкните на мысль как сделать сворачивание модального окна под тип сворачивания...

Закрытие модальных окон
Есть модальное окно: &lt;div class= &quot;modal&quot;&gt; &lt;div class = &quot;modal_content&quot;&gt;&lt;/div&gt; &lt;/div&gt; ...

Наложение модальных окон
Здравствуйте! Пытаюсь создать html-страницу, включающую 2 части-колонки, из которых...

Кеширование модальных окон (PHP)
Ув. ALL Столкнулся с проблемой полного и постоянного кеширования модального окна. (См. файл)...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru