Показать сообщение отдельно
  #1 (permalink)  
Старый 20.04.2017, 21:50
Аватар для LADYX
Профессор
Отправить личное сообщение для LADYX Посмотреть профиль Найти все сообщения от LADYX
 
Регистрация: 19.02.2015
Сообщений: 219

Как оставить скроллбар?
Добрый день! Есть скрипт для выдвижного блока. При открытом блоке в стиле для body и html присваивается overflow hidden, а у блока overflow auto/scroll. Как можно сделать, чтобы при открытом блоке скроллбар оставался у body, а не у блока, при этом прокрутка происходила самого открытого блока, но не body? Благодарю!

$(document).ready(function() {
	$('.sidebar_icon, .sidebar_bg').click(function(e){
	e.preventDefault();
	var tdata = {
		".sidebar":    "sidebar_toggled",
		".sidebar_bg": "sidebar_bg_toggle",
		".sidebar_icon-close": "icon-close-active",
		".wrapper":    "wrapper_push",
		"body":        "site-cache"
	};
	var remove = $(this).hasClass("sidebar_bg");
	$.each(tdata, function(sel, cls){
		remove ? $(sel).removeClass(cls) : $(sel).toggleClass(cls);     
	});    
	});
});

<style>.sidebar_icon {
    float: right;
    width: 30px;
    height: 30px;
    margin: 20px;
    position: relative;
    cursor: pointer;
    background: #000;
}
.sidebar {
	position: absolute;
	top: 0;
	left: -240px;
	width: 240px;
}
.sidebar_toggled {
	position: fixed;
	left: 0;
	width: 240px;
	background: #ccc;
	overflow: hidden;
}</style>
<div class="sidebar_icon"></div>
<div class="sidebar"></div>
Ответить с цитированием