Javascript.RU

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

Проблема с кодом javascript
Привет ребята, я не могу понять одного:

имеется рабочий код скрипта:

$(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'})
 
    })
});


В нем два блока (#news_content, #otsivi_content) при прокрутке страницы прилипают к верху экрана и идут до нижнего блока (#contant_bottom), затем останавливаются.
Вопрос:
Скажите, как сделать так, чтобы прилипал не к самому верху, а смещено допустим на 100 пикселей от верха. Я голову ломаю не могу понять. Я не сам писал этот скрипт. Извините, если написал не туда, просто очень нужна помощь!
Ответить с цитированием
  #2 (permalink)  
Старый 25.08.2016, 10:57
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

javamen, попробуйте так
marginTop = (parseFloat(a.css('marginTop'))||0) + 100,
Ответить с цитированием
  #3 (permalink)  
Старый 25.08.2016, 11:09
Интересующийся
Отправить личное сообщение для javamen Посмотреть профиль Найти все сообщения от javamen
 
Регистрация: 18.12.2015
Сообщений: 18

Меняю по вашему примеру код, перестает работать скрипт вообще)
Ответить с цитированием
  #4 (permalink)  
Старый 25.08.2016, 11:17
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

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

я изменил параметры
else if (b < e.top - d + marginTop) a.css({top: -marginTop +'px'})
        else a.css({top: (e.top - d  - b) +'px'})



на
else if (b < e.top - d + marginTop) a.css({top: -marginTop +100 +'px'})
        else a.css({top: (e.top - d  - b) + 100 +'px'})


Получилось, но не совсем то что мне нужно. Теперь при прокручивании страницы до нужного мне блока как только он касается верха экрана сразу прыгает на +100 пикселей вниз и закрепляется. А мне нужно что бы касался не верха экрана а +100 пикселей от него.
Ответить с цитированием
  #6 (permalink)  
Старый 25.08.2016, 14:31
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

javamen,
$(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 - 100 > b && b < e.top - d) a.css({top : (c.top - b - marginTop ) +'px'
        })
        else if (b < e.top - d + marginTop - 100) a.css({top: -marginTop + 100  +'px'})
        else a.css({top: (e.top - d  - b) +'px'})

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

Спасибо тебе Рони огромное, все заработало)))
Ответить с цитированием
  #8 (permalink)  
Старый 25.08.2016, 20:04
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Сообщение от javamen
Я не сам писал этот скрипт.
ох, знаю я того кодера!
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема на сайте \ Ошибка, не подключен javascript Фокусник jQuery 5 14.03.2016 15:42
Проблема с шаблоном javascript HardStyle Общие вопросы Javascript 5 11.05.2012 04:08
Проблема с Javascript в компоненте RS Form!Pro bowa Общие вопросы Javascript 0 12.03.2012 17:09
Проблема с копированием сайта с JavaScript Tuhlom Events/DOM/Window 1 27.10.2011 14:10
Первый Moscow JavaScript Meetup korenyushkin Общие вопросы Javascript 0 26.07.2011 15:23