Ответы пользователя по тегу JavaScript
  • Как выполнить функцию при достижении div?

    @stas3572
    шапка фиксированная, как я понял..

    можно двумя способами отследить что вы дошли до второго блока, но оба так или иначе с применением .scrollTop():
    $('#page1').outerHeight() - высота первого блока, если блоки идут встык;
    $('#page2').offset().top - положение второго блока относительно начала страницы

    В общем проверяете скролл, если скролл равен значению положения второго элемента - запускаете анимации, меняете классы хедеру, в общем все, что вашей душе угодно
    Ответ написан
    1 комментарий
  • Как реализовать такую карусель?

    @stas3572
    любой - от вас надо только стили настроить.

    а вообще, мне тут недавно очень понравился многофункциональный и легкий:
    Sly.js
    Ответ написан
    1 комментарий
  • Как сделать jquery пагинацию по скроллу с очисткой?

    @stas3572
    Я бы все делал таким образом:
    <div class="overflow">
    	<div class="wrapper">
    		<div class="item">предыдущие 10 строк</div>
    		<div class="item">10 строк видимые</div>
    		<div class="item">следубщие 10 строк</div>
    	</div>
    </div>

    где: .overflow и .item имеют одинаковый размер, .overflow имеет overflow:hidden, а .item - обертка для единицы загружаемых данных.

    Логика следующая:
    при старте загружаем 2 единицы данных - первые 10 строк и следующие 10, следующие 10 никто не видит. Дальше занимаемся «любовными утехами» с событием wheel над нашим блоком + проверяем и отмеряем положение .wrapper относительно верха страницы -> если понимаем что был скролл вниз, то соответственно «двигаем» .wrapper на одну высоту .item'а, т.е. эмулируем скролл, и кроме того загружаем следующие 10 строк, и «аппендим» еще один .item с этими данными в наш .wrapper. Если скролл вверх - то просто эмулируем скролл.

    И я бы не советовал совсем уж удалять выведенные уже блоки, пусть будут скрыты - а иначе:
    1) придется еще проверять количество .item'ов, и очищать первые (но это мелочь);
    2) если была прокрутка вниз, на несколько .item'ов, первоначальные данные очистились, а затем прокрутка вверх - мало того что надо теперь очистить_низ+вставить_данные_вверх, надо еще как то вставлять те данные которые уже были в этом месте.

    Да и к тому же - если не очищать, то сократите количество ajax-запросов (будут только на загрузку, а когда данных больше нет - дошел до дна и остается функционал только скролла). Скролл не принципиален, то и пользователям будет логичнее и вам проще все это повесить на кнопки вверх/вниз, в идеале надо делать и со скролом и с кнопками.

    Как то так, извините если что-то непонятно, в голове у меня решение быстро нашлось, а вот формулировал я долго, если что - спрашивайте!)
    Ответ написан
    Комментировать