Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.12.2015, 12:08
Интересующийся
Отправить личное сообщение для javamen Посмотреть профиль Найти все сообщения от javamen
 
Регистрация: 18.12.2015
Сообщений: 18

Динамический блок div, прошу помощи в коде JS.
Доброго времени суток. Сможет ли мне кто то помочь с кодом:
Есть див блок который прилипает при прокрутке экрана к верху страницы. Так вот нужно добавить функцию, что бы при прокрутке до другого див блока расположенного горизонтально (футера) он останавливался. Находил на просторах интернета скрипты но не пулучается у меня их реализовать. Пожалуйста помогите новичку.
Вот структура сайта: http://hostingkartinok.com/show-imag...999078d311d324

Вот часть кода которая есть у меня: она позволяет прилипать данному блоку при прокрутке вниз, но уходит за футер не останавливаясь.
$(function(){
 $(window).scroll(function() { 
  var top = $(document).scrollTop();
  if (top > 325) $('#news_content').addClass('fixed'); //200 - это значение высоты прокрутки страницы для добавления класс
  else $('#news_content').removeClass('fixed');
 });
});



Пожалуйста помогите с оставшимся кодом ребята!
Спасибо за внимание и помощь!
Ответить с цитированием
  #2 (permalink)  
Старый 18.12.2015, 12:18
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

javamen,
Плавающий блок, замирающий над футером
Ответить с цитированием
  #3 (permalink)  
Старый 18.12.2015, 12:48
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

Сообщение от javamen
if (top > 325) $('#news_content').addClass('fixed'); //200 - это значение высоты прокрутки страницы для добавления класс
5
  else $('#news_content').removeClass('fixed');
Опять парсим и дёргаем весь документ при каждом onscroll?
Ответить с цитированием
  #4 (permalink)  
Старый 18.12.2015, 12:57
Интересующийся
Отправить личное сообщение для javamen Посмотреть профиль Найти все сообщения от javamen
 
Регистрация: 18.12.2015
Сообщений: 18

Пожалуйста, если не трудно, напишите мне полностью как будет выглядеть код для меня.
И да проблема на маленьких разрешениях, что когда этот блок доходит до низа полоса прокрутки начинает дергаться. Мне нужно исключить эту проблему.
Спасибо
Ответить с цитированием
  #5 (permalink)  
Старый 18.12.2015, 14:16
Интересующийся
Отправить личное сообщение для javamen Посмотреть профиль Найти все сообщения от javamen
 
Регистрация: 18.12.2015
Сообщений: 18

Вот кстати адрес сайта для примера: oda56.ru
Ответить с цитированием
  #6 (permalink)  
Старый 18.12.2015, 17:03
Интересующийся
Отправить личное сообщение для javamen Посмотреть профиль Найти все сообщения от javamen
 
Регистрация: 18.12.2015
Сообщений: 18

Сообщение от рони Посмотреть сообщение
javamen,
Плавающий блок, замирающий над футером
Не получается реализовать! Сразу резко прыгает мой сайдбар
Ответить с цитированием
  #7 (permalink)  
Старый 18.12.2015, 19:11
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

javamen,
замените весь ваш код на этот

$(function () {
    var a = $("#news_content,#otsivi_content");
    a.css({position:'fixed'});
    var c = a.offset(),
        d = Math.max($(a[0]).outerHeight(!0), $(a[1]).outerHeight(!0)),
        e = $("#contant_bottom").offset();
    $(window).scroll(function () {
        var b = $(this).scrollTop();
        if(c.top > b && b < e.top - d) a.css({top : (c.top - b - 135)+'px'
        })
        else if (b < e.top - d + 135) a.css({top: '-135px'})
        else a.css({top: (e.top - d  - b) +'px'})

    })
});
Ответить с цитированием
  #8 (permalink)  
Старый 18.12.2015, 21:38
Интересующийся
Отправить личное сообщение для javamen Посмотреть профиль Найти все сообщения от javamen
 
Регистрация: 18.12.2015
Сообщений: 18

Спасибо тебе огромное Рони. Все заработало, только одна проблема, если на какой то из страниц достаточно высоты текста с лева в контенте (около 750 px), то все корректно отображается, если же нет, как например на странице покупка продажа недвижимости (там вообще только заголовок пока, нет текста), то сайд бар некорректно отображается, прям по верх футера и шапки сразу. Надеюсь понятно объяснил? как бы вот это исправить блин(
Ответить с цитированием
  #9 (permalink)  
Старый 19.12.2015, 00:29
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

javamen,
css html js учить ... или раздел работа
$(function () {
    var a = $("#news_content,#otsivi_content");
    var c = a.offset(),
        marginTop = parseFloat(a.css('marginTop'))||0,
        d = Math.max($(a[0]).outerHeight(!0), $(a[1]).outerHeight(!0)),
        e = $("#contant_bottom").parents('tr').offset();
    if(c.top+d + 10 >= e.top+marginTop ) return;
    a.css({position:'fixed'});
    $(window).scroll(function () {
        var b = $(this).scrollTop();
        if(c.top > b && b < e.top - d) a.css({top : (c.top - b - marginTop)+'px'
        })
        else if (b < e.top - d + marginTop) a.css({top: -marginTop +'px'})
        else a.css({top: (e.top - d  - b) +'px'})

    })
});
Ответить с цитированием
  #10 (permalink)  
Старый 19.12.2015, 09:52
Интересующийся
Отправить личное сообщение для javamen Посмотреть профиль Найти все сообщения от javamen
 
Регистрация: 18.12.2015
Сообщений: 18

Огромное спасибо тебе Рони, выручил!!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Прошу помощи скриптеров или кого либо кто поможет :) f00rZik Общие вопросы Javascript 13 05.01.2012 03:42
Js + moo tools плавная смена div mansoff Events/DOM/Window 1 03.02.2010 11:11
Html метки + div + JS boltayka Events/DOM/Window 1 07.09.2009 17:21
Как отразить картинку при помощи JS. 2dkott Элементы интерфейса 4 03.09.2009 22:51
Подскажите как при помощи JS hta в трею свернуть kimboo Общие вопросы Javascript 4 11.07.2008 16:00