Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 04.06.2013, 12:34
Аватар для utb
utb utb вне форума
Аспирант
Отправить личное сообщение для utb Посмотреть профиль Найти все сообщения от utb
 
Регистрация: 26.10.2011
Сообщений: 94

Выборка 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)
Я так понимаю, выборка по атрибуту и удаление класса?

Заранее спасибо.
Ответить с цитированием
  #2 (permalink)  
Старый 04.06.2013, 12:46
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

utb,
Повесьте снятие класса с body в функции скрытия модального Окна
Ответить с цитированием
  #3 (permalink)  
Старый 04.06.2013, 13:15
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

http://twitter.github.io/bootstrap/j...pt.html#modals
смотри под заголовком Events. В кратце слушай событие hide
Ответить с цитированием
  #4 (permalink)  
Старый 04.06.2013, 13:32
Аватар для utb
utb utb вне форума
Аспирант
Отправить личное сообщение для utb Посмотреть профиль Найти все сообщения от utb
 
Регистрация: 26.10.2011
Сообщений: 94

Deff,
спасибо все гениальное просто!
Ответить с цитированием
  #5 (permalink)  
Старый 04.06.2013, 13:37
Аватар для utb
utb utb вне форума
Аспирант
Отправить личное сообщение для utb Посмотреть профиль Найти все сообщения от utb
 
Регистрация: 26.10.2011
Сообщений: 94

danik.js,
да, я сделал
только там Shown и Hidden
если кому надо:
$('#modal').on('shown', function () {
	$('body').addClass('Class');
	});
	$('#modal').on('hiden', function () {
	$('body').removeClass('Class');
	});


Только, не забудьте отключить keyboard
Ответить с цитированием
  #6 (permalink)  
Старый 05.06.2013, 14:11
Аватар для utb
utb utb вне форума
Аспирант
Отправить личное сообщение для utb Посмотреть профиль Найти все сообщения от utb
 
Регистрация: 26.10.2011
Сообщений: 94

А вот как сделать чтобы прокрутка была, только прокручивался контент в модальном окне?
Ответить с цитированием
  #7 (permalink)  
Старый 05.06.2013, 14:20
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

<style type="text/css">
#modal {
  background:#D6E3F5;
  overflow-y:auto;
  overflow-x:hidden;
  width:120px;
  height:50px;
}
</style>


<div id=modal>
А вот как сделать чтобы прокрутка была, только прокручивался контент в модальном окне?
</div>
Ответить с цитированием
  #8 (permalink)  
Старый 05.06.2013, 14:49
Аватар для utb
utb utb вне форума
Аспирант
Отправить личное сообщение для utb Посмотреть профиль Найти все сообщения от utb
 
Регистрация: 26.10.2011
Сообщений: 94

Deff,
наверное, не правильно объяснил. Видели во вконтакте личные сообщения прокручиваются как?
Модальное окно в центре всплывает - ок
А прокрутка браузера крутит в нем контент, а не прокрутка на самом модальном окне.
Ответить с цитированием
  #9 (permalink)  
Старый 05.06.2013, 16:38
Аватар для utb
utb utb вне форума
Аспирант
Отправить личное сообщение для utb Посмотреть профиль Найти все сообщения от utb
 
Регистрация: 26.10.2011
Сообщений: 94

Придумал так:
При открытии модального окна убираем общий скрол со страницы.
Делаем оболочку для модального окна на всю ширину с фиксированной позицией и добавляем скрол.
и вуаля
вот если используете 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 поколдовать и все
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
текст после body TurikUs (X)HTML/CSS 4 09.04.2013 00:57
Отслеживание body click db_test Events/DOM/Window 2 07.09.2011 23:10
код между body и body ie7 не видит alexandr_poskrobka (X)HTML/CSS 2 09.03.2010 18:35
Координаты body относительно окна при margin auto varanio Events/DOM/Window 2 19.02.2010 10:28
Определение координат body. Kolyaj Events/DOM/Window 10 04.04.2009 16:20