2016-10-24 5 views
0

У меня проблема, с которой я имею дело в течение примерно четырех часов, и я абсолютно не знаю, как ее исправить.Запретить прокрутку меню боковой панели ниже нижнего колонтитула

У меня есть меню боковой панели (.barbar-content), и я хотел бы остановить его от прокрутки (или просто исчезнуть), когда он достигнет примерно 500 пикселей или выше ВЫШЕ! нижний колонтитул. Любая идея, как это сделать?

Код:

<section class="col-md-3 col-xs-hidden sidebar-menu"> 
<div id="test" class="main col-md-12 pull-right" style="position: fixed;"> 
<ol class="sidebar-content col-sm-hidden col-xs-hidden"> 
//some content 

</ol> 
</div> 
</section> 

//content of page 

<div class="footer footer-inverse"> 

JS/JQuery код ниже:

$(window).scroll(function() { 
    if ($(this).scrollTop() > 700) { 
     $(".sidebar-menu").css('visibility', 'visible'); 

    } 
else if ($(this).scrollTop() < 600) { 
     $(".sidebar-menu").css('visibility', 'hidden'); 
    } 

    else { 
     $(".sidebar-menu").css('visibility', 'visible'); 
    } 

И CSS:

.sidebar-menu { 
    float: right; 
    position: relative; 
    visibility: hidden; 

} 

.sidebar-content { 
    color: #5bc5f2; 
    font-weight: bold; 
    position: fixed; 
     top: 75px; 

} 

В настоящее время, в меню боковой панели приклеивается к вершине с 80px (это прекрасно), и в основном я хочу, чтобы он остановил прокрутку, когда достиг какой-то определенной точки. Любая помощь?

+1

Вы можете добавить свой код с помощью jsfiddle? – prasanth

+0

Я не могу получить ваш ответ. вы хотите скрыть боковую панель, когда страница находится рядом с нижним колонтитулом? –

+0

ДА! Точно, что мой друг :) Когда боковая панель приближается к нижнему колонтитулу, спрячьте этого ублюдка (боковая панель) :) – PGolec

ответ

0
$(document).on("scroll",function() { 
     if (parseInt($(this).scrollTop()) > $("footer").offset().top-500) { 
    $(".sidebar-menu").removeClass("fixed"); 
    $(".sidebar-menu").hide(); 
} else { 
    $(".sidebar-menu").addClass("fixed"); 
    $(".sidebar-menu").show(); 
}} 
+0

Нет, боковая панель все еще плавающая – PGolec

+0

Вы удалили фиксированную позицию с навигационной панели? просто примените фиксированную позицию к этому классу – Araz

+0

Yeap, теперь navbar взлетает вверх – PGolec

0
$(document).on("scroll",function() { 
    var offsetToTop = parseInt($(this).scrollTop()); 
     if (offsetToTop > $("footer").offset().top-500) { 
    $(".sidebar-menu").removeClass("fixed"); 
    $(".sidebar-menu").addClass("absolute"); 
    $(".sidebar-menu").css("top",offsetToTop) 
} else { 
    $(".sidebar-menu").addClass("fixed"); 
    $(".sidebar-menu").removeClass("absolute"); 
    $(".sidebar-menu").removeAttr("style"); 
}} 

в абсолютном классе просто сделать позицию абсолютной.

+0

Хорошо, может быть, что-то непонятое моим вопросом. Я хотел бы СКРЫТЬ БОКОВКУ, когда он приближается к нижнему колонтитулу. – PGolec

+0

ok см. Мой ответ prevois, когда вы удаляете фиксированный класс только $ ("sidenav"). Hide(), а с другой стороны просто сделайте это $ ("sidenav"). Show() – Araz

+0

Добавил несколько настроек, и это сработало :) Благодаря! Я обновлю свой код и поставлю его для другого. Еще раз спасибо Араз! – PGolec