Смещение аффикса изменения начальной загрузки Twitter может быть полезным. Предположительно, у него была такая же проблема, и он опубликовал решение моей проблемы, но, к сожалению, я не смог заставить его работать.
Вот страница плагина Bootstrap Affix (если вы знаете другой/лучший способ, чем использовать этот плагин, я весь внимание --- этот плагин не требуется): http://twitter.github.com/bootstrap/javascript.html#affix
Вот скрипка, которая помогает показать мою проблему ... Но по какой-то причине я не смог заставить Bootstrap Affix что-либо делать. :|
$(function () {
$('#contentbody-toolbar').addClass("affix-top").each(function (){
var $self = $(this);
if ($("#advanced-total-outer").is(":visible")) {
var offsetFn = function () {
var $p = $('#advanced-total-outer').outerHeight();
var h = 175 + $p;
return h;
}
$self.affix({offset: {top: offsetFn}});
} else {
var offsetFn = function () {
var h = 175;
return h;
}
$self.affix({offset: {top: offsetFn}});
}
});
});
РЕДАКТИРОВАТЬ: я упростил приведенный выше код (должен делать то же самое):
$(function () {
$('#contentbody-toolbar').addClass("affix-top").each(function (){
var $self = $(this);
var offsetFn = function () {
var $p = $('.wrapper.clearfix.no-bord').outerHeight();
var h = 175 + $p;
return h;
$self.affix({offset: {top: offsetFn}});
};
});
});
Но в любом случае моя страница настроена именно так, и когда вы прокручиваете вниз и панель навигации (#contentbody-toolbar) находится в верхней части окна, она фиксируется на ней. Теперь проблема в том, как вы видите, у меня есть скрытый div, который можно отобразить. Поэтому мне нужно обновить смещение, когда этот элемент каким-то образом не скрыт.
Заголовок также может изменить размер (высоту), если пользователь того пожелает, поэтому для этого его также необходимо обновить. Код, который я разместил выше, кажется мне логичным, и он, кажется, «работает» в том смысле, что он распознает изменение смещения, но плагин аффикса, по-видимому, не обновляет изменение в DOM, если это имеет смысл. Он всегда будет исправлен после прокрутки 175px.
Я пытался заставить это работать в течение нескольких дней, и, честно говоря, я разочарован. Я действительно понятия не имею, как это сделать. Боковая панель Stackoverflow при задании вопроса, похоже, работает так, как я хочу, но я не могу найти их скрипт для moveScroller.
Ценю любую предложенную помощь, очень.