art_haacki
@art_haacki
haacki47

Как сделать динамическое появление страницы на странице?

Понравился эффект на сайте nemiroff
Кликаешь на кнопку подробнее и выезжает из низу браузера новая подгруженная страница по верх главной.
05c5dddb85c9448d83a771974b00fc30.png
785739f6351c4135ae285f001d5146e0.png

Есть гайд или код сделать что то подобное?
Знаю что нужен Ajax + javascript(jquery) + CSS
Но что то не выходит у меня криворукого.
  • Вопрос задан
  • 145 просмотров
Пригласить эксперта
Ответы на вопрос 1
Ronnie_Gardocki
@Ronnie_Gardocki
Я у мамы фронтендщик.
Создаете простой контейнер высотой в весь экран (100vh).
Расположите его например с помощью position: fixed как есть c left: 0; top: 0; (по идее надо без фикседа, но в этом случае надо основной контент запихивать в свой контейнер, сами разберетесь).
Далее задаете transform: translate3d(0,100%,0); для этого контейнера чтобы он по умолчанию находился снизу.
По клику загружаете внутрь контент. Можно хоть примитивным $.load api.jquery.com/load обойтись, но по хорошему лучше использовать шаблонизатор и с сервера получать только сам контент получать, без левой фигни.
Как только загрузилось (в случае с получением данных в виде json все должно работать почти моментально) добавляете блоку класс, чтобы он выехал красиво снизу.
Но это только основа. Помимо этого еще надо будет делать много всяких мелочей, чтобы по итогам все смотрелось красиво и никого не раздражало.
У них кстати на сайте кривовато сделано. При открытии "истории" меняется урл на #history, но если кликнуть браузерный "назад" то урл поменяется, а вот страничка назад не уедет, хотя это вполне простой функционал.

EDIT: чекнул сейчас сайт получше, там ничего динамически не подгружается, у них все заранее загружено в контейнеры, то есть совсем все просто.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы