Вроде бы, давным-давно, создавалась тема с пожеланием убирать sidebar при прокрутке, если в нем ничего не выводится.
Решение никто не опубликовал, вроде бы… Тему не нашел. Если баян, не пинать
Если кому пригодится, вынесу код на обсуждение…
#2
11 мая 2013 в 22:20
Пригодилось бы, у меня даже код где то был, но он только для темы дефолтной, а пояснений как подгонять под другие позиции нету.То есть если позиции называются по другому то тогда код не срабатывает.
#3
12 мая 2013 в 00:41
Евгений, очень прикольная штучка, если есть возможность поделиться — делитесь.
Спасибо!
Спасибо!
Сегодня в 00:19
#4
12 мая 2013 в 09:24
Вод код, вставить после тега <body>
<script type="text/javascript"> $(function() { var ptop = $("#sidebar").offset().top; var ptop2 = $("#sidebar").height(); var itogo = ptop + ptop2; $(window).scroll(function(){ var scrollTop = $(window).scrollTop(); if(scrollTop >= itogo){ $("#sidebar").css("display","none"); $("#main").removeClass("grid_8").addClass("grid_12"); } else { $("#main").removeClass("grid_12").addClass("grid_8"); $("#sidebar").css("display","block"); } }); }); </script>
#5
12 мая 2013 в 10:01
да, совершенно верно :)Вод код, вставить после тега <body>
просто код быдловатый😊может кто приберет…
#6
12 мая 2013 в 10:07
var ptop = $("#sidebar").offset().top; — узнаем сколько от слоя с id sidebar до верха экрана.
var ptop2 = $("#sidebar").height(); — узнаем высоту слоя id sidebar
var itogo = ptop + ptop2; — складываем, теперь мы знаем где заканчивается sidebar
if(scrollTop >= itogo){ — если прокрутили больше, то
$("#sidebar").css("display","none"); — прячем сайдбар
$("#main").removeClass("grid_8").addClass("grid_12"); — убираем старый класс, добавляем новый, чтобы контент стал на всю ширину
else — если прокрутили меньше высоты сайдбара, его нужно вернуть
$("#main").removeClass("grid_12").addClass("grid_8"); — убираем новый класс, возвращаем старый
$("#sidebar").css("display","block"); — возвращаем видимость сайдбару
У кого свои шаблоны, правьте имена классов и id слоев…
var ptop2 = $("#sidebar").height(); — узнаем высоту слоя id sidebar
var itogo = ptop + ptop2; — складываем, теперь мы знаем где заканчивается sidebar
if(scrollTop >= itogo){ — если прокрутили больше, то
$("#sidebar").css("display","none"); — прячем сайдбар
$("#main").removeClass("grid_8").addClass("grid_12"); — убираем старый класс, добавляем новый, чтобы контент стал на всю ширину
else — если прокрутили меньше высоты сайдбара, его нужно вернуть
$("#main").removeClass("grid_12").addClass("grid_8"); — убираем новый класс, возвращаем старый
$("#sidebar").css("display","block"); — возвращаем видимость сайдбару
У кого свои шаблоны, правьте имена классов и id слоев…
#7
12 мая 2013 в 12:37
Даааа, несколько прикольчиков можно соорудить.
Спасибо!
Спасибо!