| 
 Цитата: 
 Open: получить текущую позицию $(window).scrollTop(), запомнить ее (это удобно делать в .data() объекта, которым и манипулируете) и только затем $("body").css("position","fixed"). Это .css("top", scrtop) зачем? Close: $("body").removeAttr("style") - сбросили стили, затем восстановили позицию $(window).scrollTop(объект_хранящий_ позицию.data('имя')). И не обязательно .removeAttr("style"), можно и $("body").css("position","static"); | 
| 
 Цитата: 
 Если не трудно, исправь мой код, по твоему варианту, а то не пойму что куда нужно вставить. | 
| 
 Цитата: 
 var scrtop = "-"+scl+"px"; 
//открытие модального окна
$(document).on("shown.bs.modal", ".modal", function () {
    // Когда модальное окно открыто, фиксируем элемент body
    $(this).data({top: $(window).scrollTop()});
    $("body").css("position", "fixed");
});
 
// закрытие модального окна
$(document).on("hidden.bs.modal", ".modal", function () {
    // Когда модальное окно скрыто...
    $("body").css("position", "static");
    $(window).scrollTop($(this).data('top'));
});
 | 
| 
 laimas, Так работает, но при открытии окна страница вначале скролится наверх, а при закрытии окна возвращается в то место где кнопка вызова (то есть откуда вызывалось окно, например, страница прокручена на 1200px вниз, там кнопка вызова, нажимаем и страница прокручивается вверх в шапку сайта, а при закрытии возвращается опять на 1200px вниз). Поэтому как-то надо еще и .css("top", scrtop) прикрутить, чтобы позиция не менялась. | 
| 
 Вот так заработало как надо: 
//открытие модального окна
$(document).on("shown.bs.modal", ".modal", function () {
    // Когда модальное окно открыто, фиксируем элемент body
    $(this).data({top: $(window).scrollTop()});
	var scl = "-"+$(window).scrollTop()+"px";
    $("body").css("position", "fixed").css("top", scl);
});
 
// закрытие модального окна
$(document).on("hidden.bs.modal", ".modal", function () {
    // Когда модальное окно скрыто...
    $("body").css("position", "static");
    $(window).scrollTop($(this).data('top'));
});
Огромная благодарность за помощь! | 
| 
 Цитата: 
 $("body").removeClass('name').css("position", "fixed"); Если при этом $(window).scrollTop() запоминает позицию уже с этой прокруткой, то попробуйте удалять этот класс в событии show.bs.modal | 
| 
 Цитата: 
 | 
| 
 В body добавляется класс modal-open и больше ничего. Правила этого класса 
.modal-open {
    overflow: hidden;    
}
Это ведь не может влиять на то, что при открытии скролится вверх? | 
| 
 Цитата: 
 PS. А собственно да, вы же пытаетесь оставить при fixed ту позицию, которая была на момент прокрутки? Все верно, запомнить ее, и на это же значение с отрицательным знаком вверх. Это я запутал. ) | 
| 
 Буду икать причину... Еще раз благодарю за помощь. Еще вопрос, вот хочу тебе отзыв оставить в благодарность, да и некоторым помогающим ранее в других темах пытался, но постоянно получаю сообщение:  Я тебе оставлял отзыв, но после уже многим оставил... это что, глюк (баг) какой-то? | 
| Часовой пояс GMT +3, время: 12:24. |