jQuery простые несколько модальных окон на одной HTML-странице

Я попробовал простой модальный модальный плагин Эрика Мартина. И у меня возникла небольшая трудность. Я сделал одно модальное окно на HTML-странице, но что, если мне нужно еще несколько модальных окон на одной HTML-странице, как я сделал первое, только с другим фоном и содержимым?

HTML:

<div id='content'>

    <div id='basic-modal'>



 <a href='#' class='basic'>white whine</a>


 <div id="basic-modal-content">

 <p> text text text</p>
          </div>  
          </div>
          </div> 

jQuery:

jQuery(function ($) {
// Load dialog on page load
//$('#basic-modal-content').modal();

// Load dialog on click
$('#basic-modal .basic').click(function (e) {
    $('#basic-modal-content').modal();


    return false;
});
});

person Alex K.    schedule 05.07.2014    source источник
comment
Кстати, я знаю, что bg находится внутри файла css #simplemodal-container, но как я могу изменить для каждого модального #simplemodal-container фон внутри css для каждого модального окна, которое я хочу сделать на той же html-странице?   -  person Alex K.    schedule 05.07.2014


Ответы (1)


Это должно быть легко для вас, если вы не открываете их одновременно. Потому что плагин использует id для своих контейнеров и некоторых элементов в плагинах. И наличие того же идентификатора на странице создаст проблемы в вашем коде.

Вот демонстрация: http://jsfiddle.net/lotusgodkk/GCu2D/226/

HTML:

<div id='basic-modal'>
    <input type='button' name='basic' value='Demo' class='basic' />
    <div id="basic-modal-content1">Dialog 1</div>
    <input type='button' name='basic' value='Demo' class='basic' />
    <div id="basic-modal-content2">Dialog 2</div>
    <input type='button' name='basic' value='Demo' class='basic' />
    <div id="basic-modal-content3">Dialog 3</div>
</div>

jQuery:

$(document).ready(function () {
    $('#basic-modal .basic').click(function (e) {
        $(this).next('div').modal();
        return false;
    });
});

Код почти ясен. Для каждого экземпляра диалога есть отдельный элемент div, который содержит отдельный html. Что касается фона, вы можете сделать это, задав стили CSS для контейнеров диалогов.

Для CSS,

Этот плагин предоставляет опцию для containerId, которую можно использовать для назначения пользовательского идентификатора контейнеру. Также вы можете использовать один и тот же идентификатор для разных CSS.

Демонстрация: http://jsfiddle.net/lotusgodkk/GCu2D/227/

jQuery:

    $('#basic-modal .basic').click(function (e) {
    var c =  $(this).next('div');
    var id = c.attr('id')+'_c'; // create a custom Id.
    c.modal({
        containerId:id, 
    });
    return false;
});

CSS:

#basic-modal-content1_c{
    background-color:green;
}
#basic-modal-content2_c{
    background-color:red;
}
#basic-modal-content3_c{
    background-color:yellow;
}

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

person K K    schedule 05.07.2014
comment
Эй, спасибо за быстрый ответ. Я не открываю их одновременно. Как изменить для каждого модального контейнера фона? Я попытался в файле CSS поиграть со значением фона id #simplemodal-container и изменить его на другой фон, но это не сработало, он меняет только фон первого модального окна, которое я сделал. Как изменить фон для каждого модального окна в CSS? - person Alex K.; 05.07.2014
comment
Вау, чувак, ты спас мне жизнь. В большом работает! Но если я хочу, чтобы она была не внутри кнопки, а внутри ссылок, как я, и с содержимым ‹p› внутри модального окна, как мне это сделать? вы можете видеть, что первый код, который я написал в вопросе, является примером. Спасибо - person Alex K.; 05.07.2014
comment
И мне нужен код с X img, который у меня был, а не просто нажатие кнопки выхода на клавиатуре для выхода из модального окна. - person Alex K.; 05.07.2014
comment
Для внутренних ссылок просто укажите класс кнопки для ссылки, и она будет работать. На самом деле, в вашем коде у него будет закрывающее изображение. Поскольку это была скрипка, я не использовал изображение. - person K K; 05.07.2014
comment
И как мне поместить текст внутри каждого модального окна? - person Alex K.; 05.07.2014
comment
Просто поместите свой контент в div, идентификатор которого начинается с basic-modal-content. - person K K; 05.07.2014
comment
Здорово! Рад помочь вам :) - person K K; 05.07.2014