плавающий div на странице под аккордеоном

#jquery #html #css #internet-explorer-8

#jquery #HTML #css #internet-explorer-8

Вопрос:

На изображении ниже вы можете видеть, что у меня есть div «Быстрые советы». Для примера допустим, что самый внешний div называется: id = «TipsDiv», Вы можете видеть, что он находится под аккордеоном. Я хочу, чтобы он оставался под аккордеоном. Однако, когда пользователь прокручивает вниз, div никогда не должен подниматься выше (0,0). И когда пользователь прокручивает назад, все должно быть так, как на картинке.

введите описание изображения здесь

Если я не объяснился, пожалуйста, дайте мне знать, и я постараюсь объяснить лучше.

Спасибо!

Комментарии:

1. «Если я не объяснился, пожалуйста, дайте мне знать, и я постараюсь объяснить лучше». — Да, вам нужно быть более конкретным, прокрутки вниз никогда не должны превышать 0.0?

2. в верхнем левом углу экрана. пиксель 0,0. или 1,1.

Ответ №1:

Вы должны быть в состоянии использовать что-то вроде этого примера, который я создал для другого вопроса, с некоторыми изменениями для обработки аккордеона. В принципе, вам нужно будет заменить 250 на вычисленную высоту аккордеона.

http://jsfiddle.net/b43hj/

 $(window).scroll(function(){
    $("#theFixed").css("top",Math.max(0,250-$(this).scrollTop()));
});
  

Комментарии:

1. Мне это нравится, не уверен, как я собираюсь получить высоту аккордеона, нет удобного метода получения высоты. Может быть, я мог бы получить стиль высоты содержащего div.

2. да, оберните это в div и получите максимум от этого. Если у вас возникнут какие-либо проблемы, дайте мне знать. Если у меня будет немного времени в выходные, я, вероятно, мог бы поиграть со своей скрипкой.

3. $("#theFixed").css("top", Math.max(0, $("#sideNav").height() 25 - $(this).scrollTop())); 25 означает заголовок, проходящий через верхнюю часть страницы, который не является частью боковой навигации. Я полагаю, лучшим решением было бы получить y-образный провод в нижней части боковой навигации, но я не уверен, как это сделать.

4. небольшая ошибка, которую я нашел. Если вы меняете вкладки в аккордеоне и не прокручиваете, «исправленный» div больше не находится прямо под аккордеоном. Я предположил, что могу обновлять позицию всякий раз, когда аккордеон тоже меняет высоту…

5. Да, его нужно будет корректировать при каждом изменении аккордеона. Я думал об этом, но, видимо, забыл вернуться и обновить.