Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Динамическое изменение ширины контента (https://javascript.ru/forum/dom-window/37363-dinamicheskoe-izmenenie-shiriny-kontenta.html)

utb 17.04.2013 01:14

Динамическое изменение ширины контента
 
Здравствуйте,
объясните в каком направлении двигаться:

Надо сделать как в контакте: на странице пользователя при прокрутке правый сайдбар как бы заканчивается и контент занимает всю ширину.

я так понимаю: при скроллинге до окончания блока (сайдбара) мы меняем классы у блоков ?

Может есть примеры или готовые решения?
просто я как то даже не знаю как это правильно называется :)

Заранее спасибо

danik.js 17.04.2013 05:16

Слушаем событие window:scroll. По событию проверяем scrollY (или лучше pageYOffset). В старых IE с этим косяк, нужно воркэраундить. Если scrollY > высота_сайдбара , то растягиваем контент. Другой вариант все по тому же событию получать сайдбар.getBoundingClientRect() , через что можно узнать, находится ли в видимой области сайдбар.

utb 17.04.2013 10:07

danik.js,
большое спасибо, но я как-то по js не очень :)
на Jquery такое можно?
я так понял if скрол > например 200, то addclass (класс)
что такое?

Заранее спасибо

danik.js 17.04.2013 14:36

Цитата:

Сообщение от utb
что такое?

Что что такое?
Цитата:

Сообщение от utb
на Jquery такое можно?

Ага, так даже проще все.

utb 17.04.2013 16:35

danik.js,
спасибо, буду думать.
Цитата:

Что что такое?
это типа: что нибудь такое? - по той логике, что описал.

danik.js 17.04.2013 19:31

$(window).scroll(function(){
    $content.toggleClass('wide', $(this).scrollTop > 200);
});

utb 18.04.2013 16:25

у меня чего то не получается(
$(window).scroll(function(){
   ('.special').toggleClass('wide', $(this).scrollTop > 200);
});

что то не получается. Что я делаю не так?

danik.js 18.04.2013 17:08

$(this).scrollTop()


Часовой пояс GMT +3, время: 15:03.