Waypoint не работает при переполнении: скрыто;

Скрипка

Если вы удалите свойство overflow из .wrapper в скрипте, путевые точки будут работать нормально.
Но не с overflow hidden в x или y

Вот код:

HTML:

<div class="wrapper">
    <div id="sec1" class="section">dfa fdasfsdafd as</div>
    <div id="sec2" class="section">dfa fdasfsdafd as</div>
    <div id="sec3" class="section">dfa fdasfsdafd as</div>
    <div id="sec4" class="section">dfa fdasfsdafd as</div>
</div>

CSS:

html, body, .wrapper, .section{
    height:100%;
}
.wrapper{
    overflow-x: hidden;
    overflow-y: auto;
}

JS:

$('#sec3').waypoint(function(direction) {
    $('#sec3').css({
        backgroundColor: "#f99"
    });
});

Любое решение jQuery или css?


person Imran Bughio    schedule 09.05.2014    source источник
comment
ВАУ, почему отрицательный голос?   -  person Imran Bughio    schedule 09.05.2014
comment
Вам нужно разместить здесь код, который воспроизводит проблему. stackoverflow.com/help/how-to-ask   -  person Reinstate Monica Cellio    schedule 09.05.2014
comment
@Archer Он опубликовал скрипку. РЖУ НЕ МОГУ   -  person Jamie Barker    schedule 09.05.2014
comment
Да, но ради юридических вопросов: p, я добавил код   -  person Imran Bughio    schedule 09.05.2014
comment
Я не понимаю, почему люди просто голосуют против без всякой причины?   -  person Imran Bughio    schedule 09.05.2014
comment
Или, по крайней мере, не указывайте причину ... Я проголосовал за противодействие одному.   -  person Jamie Barker    schedule 09.05.2014
comment
@JamieBarker Я знаю, что он опубликовал скрипку, LOL. Ему нужно отправить сюда код, чтобы воспроизвести проблему, как указано в ссылке, которую я разместил.   -  person Reinstate Monica Cellio    schedule 09.05.2014
comment
@Archer Но скрипка воспроизводит проблему facepalm   -  person Jamie Barker    schedule 09.05.2014
comment
@JamieBarker Код должен быть размещен здесь. Ссылка в порядке, но делает эту страницу бесполезной, если jsfiddle не работает. Вопросы и ответы должны быть достаточно автономными, чтобы Stack Overflow работал без внешних ресурсов. Вы не были здесь давно, поэтому я не буду настолько груб, чтобы сказать фейспалм. Пожалуйста, не прибегайте к детскому отношению. Этот сайт не такой.   -  person Reinstate Monica Cellio    schedule 09.05.2014
comment
@Archer Думаю, я соглашусь, я обязательно опубликую код в следующий раз, спасибо :)   -  person Imran Bughio    schedule 09.05.2014
comment
Спасибо Имран - я удалил свой -1 сейчас. Это не личное, когда люди голосуют против. Это просто для того, чтобы другие люди знали, что вопрос может не иметь значения, вот и все.   -  person Reinstate Monica Cellio    schedule 09.05.2014


Ответы (1)


ОБНОВЛЕНО 16 мая 2014 г.

Добавьте функцию waypoint(), привязанную к идентификатору <div>, чтобы отображались изменения css.

Контекст waypoint() должен быть вашим внешним div <div class="wrapper">:

ДЕМО

person urbz    schedule 09.05.2014
comment
Спасибо @urbz. Если я прав, то, что вы здесь делаете, обновляет функцию путевой точки каждый раз, когда пользователь прокручивает этот div ...? - person Imran Bughio; 09.05.2014
comment
Рад помочь! :) Функция scroll() выполняет функцию waypoint(), когда вы достигаете этого элемента, поскольку вы указали, для какого <div> она должна изменить стиль. - person urbz; 09.05.2014
comment
@urbz - Нет слов, чтобы сказать, Удивительно - person Sudharsan S; 09.05.2014
comment
Я не уверен, что вы имеете в виду, но прокрутка звучит как катастрофа, ожидающая своего часа, инициируя сотни путевых точек каждый раз, когда вы прокручиваете. Вы должны использовать опцию context, чтобы путевые точки прокручиваемого элемента слушали оболочку, а не тело. - person imakewebthings; 09.05.2014
comment
@imakewebthings Вы правы, я использовал метод context, и разница в производительности составила 200% DEMO - person Imran Bughio; 10.05.2014
comment
@urbz, пожалуйста, прочитайте 2 комментария выше и измените свой ответ с помощью этой DEMO в случае, если кто-то еще посетил этот вопрос, он должен получить более ориентированный на производительность ответ. - person Imran Bughio; 16.05.2014