Затемнение фона по клику 
		
		
		
		Есть разметка: 
	
<!DOCTYPE html>
<html lang="ru">
<head>
    <meta charset="UTF-8">
    <title>Главная</title>
    <link rel="stylesheet" href="css/libs.min.css">
    <link rel="stylesheet" href="css/main.css">
</head>
<body>
    <div id="mySidenav" class="sidenav">
    <span class="nav_top_menu_item">Список меню</span>
        <ul class="breadcrumbs">
            <li>
                <a href="index.html">Главная</a>
                <p>
                    Далеко-далеко за словесными горами в стране, гласных и согласных живут рыбные тексты.
                </p>
            </li>
            <li>
                <a href="news.html" target="_blank">Объявления</a>
                <p>
                    Далеко-далеко за словесными горами в стране, гласных и согласных живут рыбные тексты.
                </p>
            </li>
            <li>
                <a href="gallery.html" target="_blank">Фотоотчёт</a>
                <p>
                    Далеко-далеко за словесными горами в стране, гласных и согласных живут рыбные тексты.
                </p>
            </li>
            <li>
                <a href="reports.html" target="_blank">Отчёты</a>
                <p>
                    Далеко-далеко за словесными горами в стране, гласных и согласных живут рыбные тексты.
                </p>
            </li>
            <li>
                <a href="contacts.html" target="_blank">Контакты</a>
                <p>
                    Далеко-далеко за словесными горами в стране, гласных и согласных живут рыбные тексты.
                </p>
            </li>
        </ul>
    </div>
    <div id="main">
    </div>
    <script src="js/libs.min.js"></script>
    <script src="js/common.js"></script>
</body>
</html>
К ней js: 
window.addEventListener('DOMContentLoaded', function() {
    var body = document.querySelector('body');
    document.addEventListener("click", function(event) {
        var target = event.target;
        if (target.closest(".sidenav") && !target.closest(".closebtn")) return;
        else if (target.closest("#main")) {
            event.preventDefault();
            body.classList.toggle("open")
        } else body.classList.remove("open");
    });
});
Сам вопрос: Изменить-дописать код js так, чтобы открытии.sidenav фон затемнялся, при закрытии возвращался к исходному состоянию?  | 
	
		
 Цитата: 
	
 - Иметь ДИВ с position: fixed; размером на весь экран и полупрозрачным фоном - Разместить нужный див поверх фонового - Показывать и скрывать те ДИВы по меренадобности  | 
	
		
 dupre, 
	
body:after{
opacity: 0;
content: "";
}
body.open:after{
  content: "";
  background-color: #A9A9A9;
  opacity: .3;
  left:250px;
  right: 0;
  top: 0;
  bottom: 0;
  position: fixed;
  transition: all 0.3s 0.3s;
}
 | 
	
		
 dupre, 
	зачем создавать сообщение в теме Сайт Javascript.ru !!!  | 
	
		
 dupre, 
	пример надо делать полностью!!! 
<!DOCTYPE html>
<html lang="ru">
<head>
    <meta charset="UTF-8">
    <title>Главная</title>
    <style type="text/css">
    body {
    font-family: "Lato", sans-serif;
    position: relative;
    height: 1700px;
    transition: all 0.3s;
}
.sidenav {
    height: 100%;
    width: 0;
    position: fixed;
    z-index: 1;
    top: 0;
    left: 0;
    background-color: #111;
    overflow-x: hidden;
    transition: 0.5s;
    padding-top: 60px;
}
.sidenav a {
    padding: 8px 8px 8px 32px;
    text-decoration: none;
    font-size: 25px;
    color: #818181;
    display: block;
    transition: 0.3s;
}
.sidenav a:hover, .offcanvas a:focus{
    color: #f1f1f1;
}
.sidenav .closebtn {
    position: absolute;
    top: 0;
    right: 25px;
    font-size: 36px;
    margin-left: 50px;
}
#main {
    position:  fixed;
    left: 0px;
    transition: left .5s;
    padding: 4px 2px;
    width: 36px;
    height: 36px;
    background-color: #000000;
    text-align: center;
    margin-left: 8px;
    line-height: 36px;
}
@media screen and (max-height: 450px) {
  .sidenav {padding-top: 15px;}
  .sidenav a {font-size: 18px;}
}
body.open{
  margin-left: 250px;
}
body.open .sidenav{
   width: 250px
}
body.open #main{
  left:250px;
}
body:after{
opacity: 0;
content: "";
}
body.open:after{
  content: "";
  background-color: #A9A9A9;
  opacity: .3;
  left:250px;
  right: 0;
  top: 0;
  bottom: 0;
  position: fixed;
  transition: all 0.3s 0.3s;
}
.openclosebtn{
   font-size:30px;cursor:pointer;
   color: #FFFFFF;
}
 h1{
   margin: 0 auto;
   text-align: center;
 }
    </style>
</head>
<body>
    <div id="mySidenav" class="sidenav">
    <span class="nav_top_menu_item">Список меню</span>
        <ul class="breadcrumbs">
            <li>
                <a href="index.html">Главная</a>
                <p>
                    Далеко-далеко за словесными горами в стране, гласных и согласных живут рыбные тексты.
                </p>
            </li>
            <li>
                <a href="news.html" target="_blank">Объявления</a>
                <p>
                    Далеко-далеко за словесными горами в стране, гласных и согласных живут рыбные тексты.
                </p>
            </li>
            <li>
                <a href="gallery.html" target="_blank">Фотоотчёт</a>
                <p>
                    Далеко-далеко за словесными горами в стране, гласных и согласных живут рыбные тексты.
                </p>
            </li>
            <li>
                <a href="reports.html" target="_blank">Отчёты</a>
                <p>
                    Далеко-далеко за словесными горами в стране, гласных и согласных живут рыбные тексты.
                </p>
            </li>
            <li>
                <a href="contacts.html" target="_blank">Контакты</a>
                <p>
                    Далеко-далеко за словесными горами в стране, гласных и согласных живут рыбные тексты.
                </p>
            </li>
        </ul>
    </div>
    <div id="main">
    </div>
    <script>window.addEventListener('DOMContentLoaded', function() {
    var body = document.querySelector('body');
    document.addEventListener("click", function(event) {
        var target = event.target;
        if (target.closest(".sidenav") && !target.closest(".closebtn")) return;
        else if (target.closest("#main")) {
            event.preventDefault();
            body.classList.toggle("open")
        } else body.classList.remove("open");
    });
});
</script>
</body>
</html>
 | 
	
		
 рони, 
	решение оказалось проще чем я думал. Несколько строк на css и ни одно новой строки к имеющемуся js... Отлично! По размещению сообщений и, что пример надо полностью понял и на будущее постараюсь учесть. Спасибки большие за разъяснение затруднительных для меня решений по интересным задачам! :thanks:  | 
| Часовой пояс GMT +3, время: 15:40. |