Выборка body по атрибуту
Приветствую,
у меня такая ситуация нужно добавить/убрать style="overflow:hidden;" для body, когда открывается модальное окно, либо класс по аналогии. сделал так:
$(document).ready(function(){
$('#modal').click(function(){
$('body').addClass('Class');
});
$('.close').click(function(){
$('body').removeClass('Class');
});
});
Но модальное окно закрывается не только по кнопке .Close, но и по клику в любом месте. модальное окно появляется с атрибутом style="display:block;" и aria-hidden="false" (bootstrap) Я так понимаю, выборка по атрибуту и удаление класса? Заранее спасибо. |
utb,
Повесьте снятие класса с body в функции скрытия модального Окна |
http://twitter.github.io/bootstrap/j...pt.html#modals
смотри под заголовком Events. В кратце слушай событие hide |
Deff,
спасибо :) все гениальное просто! |
danik.js,
да, я сделал :) только там Shown и Hidden если кому надо:
$('#modal').on('shown', function () {
$('body').addClass('Class');
});
$('#modal').on('hiden', function () {
$('body').removeClass('Class');
});
Только, не забудьте отключить keyboard :) |
А вот как сделать чтобы прокрутка была, только прокручивался контент в модальном окне?
|
<style type="text/css">
#modal {
background:#D6E3F5;
overflow-y:auto;
overflow-x:hidden;
width:120px;
height:50px;
}
</style>
<div id=modal>
А вот как сделать чтобы прокрутка была, только прокручивался контент в модальном окне?
</div>
|
Deff,
наверное, не правильно объяснил. Видели во вконтакте личные сообщения прокручиваются как? Модальное окно в центре всплывает - ок А прокрутка браузера крутит в нем контент, а не прокрутка на самом модальном окне. |
Придумал так:
При открытии модального окна убираем общий скрол со страницы. Делаем оболочку для модального окна на всю ширину с фиксированной позицией и добавляем скрол. и вуаля :) вот если используете bootstrap:
$('#modal').on('shown', function () {
$('body').addClass('Class');
$('#modal-class').addClass('modal-class');
});
$('#modal').on('hidden', function () {
$('body').removeClass('Class');
$('#modal-class').removeClass('modal-class');
});
Ну и css поколдовать и все ;) |
| Часовой пояс GMT +3, время: 10:18. |