/ Сайтостроение / Scripts & jquery / Боковая слайд-панель

Боковая слайд-панель

HIT

20.08.2015

1035

Вставляем блок с панелью в самое начало верстки — после body.
Если есть приклеенный к низу Footer и для него div «main» — и перед ним). Если на сайте реализован Параллакс эффект заднего фона, то вставляем после него

<div style="overflow-x: hidden; min-height: 100%;">
<div id="sidebar">
<div id="open-sidebar"><i class="fa fa-bars"></i>

<div id="sidebar-content">

</div>
</div>

!Незабываем в подвале закрыть первый div после закрытия div «main»

CSS

/* Боковой slide-блок */

#slidebar {
    float: left;
    position: relative;
    background-color: limegreen;
    margin-left: -270px;
    transition: margin-left 0.5s;
    -webkit-transition: margin-left 0.5s ease 0s;
}

	  
#slidebar-content {
    background-color: #111;
    min-height: 100%;
    width: 270px;
    position: fixed;
    z-index: 999;	
 /*для возможности прокрутки*/ 
    top: 0;
    bottom: 0;
    overflow-x: hidden;
}	  
	  
   
#open-slidebar {
    position: fixed;
    top: 50px;
    left: 0px;
    background-color: coral;
    padding: 8px;
    cursor: pointer;
    z-index: 999;
    color: #fff;
    font-size: 20px;
	transition: color 0.5s, background-color 0.5s, margin-left 0.5s,;
    -webkit-transition: color 0.5s ease 0s, background-color 0.5s ease 0s, margin-left 0.5s ease 0s; 
}

.open {margin-left: 0px !important;}
.open2 {margin-right: -270px !important; margin-left: 270px !important;}
.open4 {margin-left: 270px!important;}


#open-slidebar:hover {
background-color: #fff;
color: coral;
}

Варианты скрипта для раскрытия боковой панели + смещение основного блока (можно и без этого, тогда панель будет выдвигаться без смещения самого сайта)

$(document).ready(function() { 
  
  //Открытие боковой slide-панели при нажатии на кнопку + смещение основного блока 
  
  $('#open-slidebar').click(function() {
  $('#slidebar').toggleClass('open');
  $('.main').toggleClass('open2');  
  });  
  
});

Запоминание в cookies состояние — выдвинута панель или нет при навигации по сайту

$(document).ready(function() {

    var body_class = $.cookie('leftpannel');
    var body_class2 = $.cookie('leftpannelmain');
    var body_class3 = $.cookie('leftopenbut');
    if(body_class) {
        $('#slidebar').attr('class', body_class);
	$('.main').attr('class', body_class2);
	$('#open-slidebar').attr('class', body_class3);
    }
    $('#open-slidebar').click(function() {
	    $('#slidebar').toggleClass('open');
	    $('.main').toggleClass('open2');
	    $('#open-slidebar').toggleClass('open4');
        $.cookie('leftpannel', $('#slidebar').attr('class'), { expires: 1, path: '/' });
	$.cookie('leftpannelmain', $('.main').attr('class'), { expires: 1, path: '/' });
	$.cookie('leftopenbut', $('#open-slidebar').attr('class'), { expires: 1, path: '/' });
    }); 

});
$(document).ready(function() {   
  
  //Открытие боковой slide-панели при наведении курсора на кнопку + смещение основного блока 
  
  $('#slidebar').mouseover(function() {
  $('#slidebar').addClass('open');
  $('.main').addClass('open2');  
  });   
  
  $('#slidebar').mouseout(function() {
  $('#slidebar').removeClass('open');
  $('.main').removeClass('open2');  
  });  
  
});

Для того чтобы боковая панель выдвигалась при наведении курсора к левому краю всего экрана: надо добавить #slidebar margin-left: -269px; а #slidebar-content margin-left: -1px;

Поделится информацией с друзьями

  • Комментарии
  • Вложения

Добавить комментарий

Пока нет комментариев. Будь первым!

Боковая слайд-панель
Стили и скрипты
Рекомендации для васСтили и скриптыOpttour.ru
Спасибо! Наш менеджер свяжется с Вами в течении 5 минут.