Solution 1 :

You cant animate display:none element as element will not be in DOM

What you can do is animate with transform:translate(x) example below.

const $menu = $('#mySidenavv');

$(document).mouseup(e => {
  if (!$menu.is(e.target) // if the target of the click isn't the container...
      && $menu.has(e.target).length === 0) // ... nor a descendant of the container
  {
    $menu.removeClass('is-active');
  }
});
$('#burger-openn').on('click', () => {
  $menu.toggleClass('is-active');
});
.sidenavv {
  height: 100%;
  position: fixed;
  z-index: 1;
  top: 0;
  left: 0;
  background-color: #111;
  overflow-x: hidden;
  width: 83%;
  transform: translateX(-100%);
  -webkit-transition: transform 1s;
  -ms-transition: transform 1s;
  -o-transition: transform 1s;
  -moz-transition: transform 1s;
  transition: transform 1s;
  padding-top: 60px;
  text-align: center; }

.sidenavv.is-active{
  transform: translateX(0%);
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="mySidenavv" class="sidenavv">
  <nav id="site-navigation-mobile-blog">
    <ul>
    </ul>
  </nav><!-- #site-navigation -->
</div>
<span id="burger-openn" class="openn">☰</span>

Problem :

CSS

.sidenavv {
display: none;
height: 100%;
position: fixed;
z-index: 1;
top: 0;
left: 0;
background-color: #111;
overflow-x: hidden;
-webkit-transition: 0.5s;
transition: width 0.5s;
padding-top: 60px;
text-align: center; }

.sidenavv.is-active{
  display:block!important;
  -webkit-transition: width 1s;
  -ms-transition: width 1s;
  -o-transition: width 1s;
  -moz-transition: width 1s;
  transition: width 1s;
}

JQuery

const $menu = $('#mySidenavv');

 $(document).mouseup(e => {
  if (!$menu.is(e.target) // if the target of the click isn't the container...
  && $menu.has(e.target).length === 0) // ... nor a descendant of the container
    {
         $menu.removeClass('is-active');
         $menu.removeClass('width');
    }
  });
    $('#burger-openn').on('click', () => {
        $menu.toggleClass('width');
        $('.width').css('width', '83%');
        $menu.toggleClass('is-active');
    });

HTML

    <div id="mySidenavv" class="sidenavv" style="width: 0px;">
         <nav id="site-navigation-mobile-blog">
            <ul>
            </ul>
         </nav><!-- #site-navigation -->
    </div>
    <span id="burger-openn" class="openn">☰</span>

At the moment, this block by clicking on the burger just becomes like a display block and a width of 83 percent. I need him to smoothly appear at these 83 percent and then by clicking on an empty spot on the screen – he also closes smoothly

Comments

Comment posted by Kas Elvirov

You have Broken link

By