2015-02-20 5 views
-1

Я сделал bootstrap modal - он работает нормально. Но когда я хочу использовать modal где-то еще на моем сайте, он перезаписывает другой модальный.Несколько загрузочных модалов на странице

Какую часть кода мне нужно изменить? И мне нужно добавить, как тысячи дополнительного кода в javascript для каждого модального, или я могу сделать код группы?

Спасибо!

Я добавил это:

$('#clickme').click(function(e) { 
$('#showModal').modal('show'); 


<script> 
    function showModal(){ 
     $("#showModal").modal("show"); 
    } 
</script> 

и:

<div class="modal fade" id="showModal"> 
    <div class="modal-dialog"> 
     <div class="modal-content"> 
      <div class="modal-header"> 
       <button class="close" data-dismiss="modal">&times;</button> 
       <h4 class="modal-title">Sign me up!</h4> 
      </div> 
     </div> 
    </div> 
</div> 
+0

Вы можете поделиться этим кодом, пожалуйста? – VeldMuijz

+0

Используете ли вы один ID для нескольких элементов? Как вы можете видеть на странице Документов Bootstrap, наличие нескольких страниц на странице не является проблемой. – isherwood

+0

Нет, я использую разные ID – Naom

ответ

0

Не пытайтесь сделать это. Модальная мода Bootstrap не предназначена для поддержки этого. В его собственной документации указано:

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

Он должен был сказать «много пользовательского кода». Например, BS-модалы используют класс в элементе body, который удаляется при его закрытии. Поэтому закрытие второго модального файла также скроет первое. Затем вам нужен специальный код, чтобы обнаружить, что модальный ранее был открыт и восстанавливал класс на теле. Это гораздо больше проблем, чем того стоит.

Вместо этого используйте «немощный человек» для второго модального, просто абсолютно позиционированного div, который вы когда-нибудь выскакиваете. В любом случае вам не нужно накладывать покрытие на экран, так как он уже существует с первого модального.

+0

Я не думаю, что OP хочет иметь несколько одновременные модальности. В любом случае вы * можете * использовать одновременные модальности, если они не вложены. – isherwood

+0

Мне показалось, что это именно то, чего хотел OP. Он говорит, что второй модальный «перезаписывает» первый модальный, что, конечно, не произойдет, если он будет открывать их по одному за раз. Поэтому, пока он не говорит иначе, это хорошее предположение, что он хочет открыть несколько модалов одновременно - я не знаю, что вы подразумеваете под «вложенными» - вы имеете в виду в смысле HTML? Предполагая, что это правильно, неправильно говорить, что вы можете использовать «одновременные модальности». Модификации BS делают предположения на всем протяжении, что в любой момент существует ровно один модальный открытый, например класс на теле, о котором я упоминал. –

+0

Я использовал оверлейные модальности Bootstrap в настройках производства. Нет проблем делать это, кроме удвоения маски, что на самом деле не проблема. Единственное требование состоит в том, чтобы модальная разметка не была вложенной. Сделать их братьями и сестрами в DOM - хороший подход. Возможно, вы можете быть прав насчет потребностей OP. Не ясно. Просто поделитесь своей точкой зрения. – isherwood

Смежные вопросы