Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 19.02.2015, 19:04
Аватар для LADYX
Профессор
Отправить личное сообщение для LADYX Посмотреть профиль Найти все сообщения от LADYX
 
Регистрация: 19.02.2015
Сообщений: 219

Помогите пожалуйста!
Всем доброго дня!
Нужна помощь. Если кто может, то пожалуйста.
Есть скрипт модального окна. Он открывает одно окно по классу. Как его переделать, чтобы он открывал любое кол-во окон по ссылке <a href id..., присвоив персональный id каждому окну? А также использовать одну подложку для всех окон. Если кто может, помогите пожалуйста.
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();
          });

Код:
<p class="modal-link">Открыть окно</p>
<div class="modal-overlay">
  <div class="modal-window">
    <p>содержимое</p>
    <button class="close">Close</button>
  </div>
</div>
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Слайдер - карусель блоков (помогите пожалуйста) Viktor.Poberezhniy Общие вопросы Javascript 3 22.07.2014 11:46
Помогите пожалуйста! Veritaspl jQuery 17 05.04.2013 09:31
Помогите пожалуйста вычислить общую сумму katalizator Общие вопросы Javascript 15 22.03.2013 14:26
Помогите пожалуйста правильно написать скрипт raffx Events/DOM/Window 17 16.10.2012 19:31
Помогите, пожалуйста zashibis Общие вопросы Javascript 1 02.12.2008 13:07