Как сделать скользящий блок вместе со скроллингом? [РЕШЕНО]

Главные вкладки

Аватар пользователя andreystrelkov andreystrelkov 27 ноября 2012 в 16:36

Товарищи, наведите пожалуйста на ответ, может ссылку на этот код jquery, или аналог этого.
Т.е. чтобы какой нибудь блок заставить всегда быть на экране (не position fixed), а чтобы при скроллинге вниз, он упирался о верх окна

Комментарии

Аватар пользователя andreystrelkov andreystrelkov 27 ноября 2012 в 18:03

Удивительно, но я не могу его настроить, js файл скопировал в папку которую создал в libraries, модуль установил, в ОТЧЁТАХ О СОСТОЯНИИ он определился, в настройках банально прописал user-picture, но они не скролируют :/

Аватар пользователя andreystrelkov andreystrelkov 28 ноября 2012 в 17:18

Товарищи помогите, так и не получается.
имеется голый Drupal 7, поставил jquery_scroll_follow как на ссылке выше, всё по инструкции скачал js файл jquery_scroll_follow, поместил его в sites/all/libraries/jquery_scroll_follow/..., поставил модуль Libraries, в Отчётах о состоянии drupal нашёл этот файл, всё гуд.

тема Bartik, в настройках модуля добавил в CSS селекторы block-system-navigation (это id блока навигации), сохранил

но чёт не хочет за мной блок то ехать :/

Аватар пользователя andreystrelkov andreystrelkov 28 ноября 2012 в 18:26

беда в том что сайт локальный, в сети предприятия Sad
я сначала пытался сделать с помощью такого мануала: http://mainview.ru/programming/javascript/kak-sozdat-skolzyashhij-blok-o...

т.е. создал файл scroll.js который сохранял в папке темы, в папке scripts

var obj = $('#sticky');
var offset = obj.offset();
var topOffset = offset.top;
var leftOffset = offset.left;
var marginTop = obj.css("marginTop");
var marginLeft = obj.css("marginLeft");

$(window).scroll(function() {
var scrollTop = $(window).scrollTop();

        if (scrollTop >= topOffset){

                obj.css({
                        marginTop: 0,
                        marginLeft: leftOffset,
                        position: 'fixed',
                });
        }

        if (scrollTop < topOffset){

                obj.css({
                        marginTop: marginTop,
                        marginLeft: marginLeft,
                        position: 'relative',
                });
        }
});

в этом случае менял sticky на id своего блока
и добавлял в конце template.php строчку добавления нового js

drupal_add_js drupal_get_path 'theme', 'danland') . '/scripts/scroll.js');

хотя мои знание js никакие и могу сильно гнать