Как проскроллить вниз ровно на высоту экрана?

Рейтинг: 1Ответов: 1Опубликовано: 06.11.2014

Для скролла вниз использую кнопочку со скриптом:

$(document).ready(function(){
        var win = $(window).height();
        $('.click').click(function () {
            $('body,html').animate({
                scrollTop: win
            }, 800);
            return false;
        });
    });

Хочу чтобы проскроллилось вниз ровно на экран, но почему-то в этом случае получается больше. Причём сайт делаю адаптивным и на мобильной версии он вообще куда-то далеко вниз уходит.

Ответы

▲ 3Принят

Могу предположить, что на $(document).ready(); не подгружаются некие шрифты и/или CSS стили, и отсюда высота, в вашем случае ( var win = $(window).height(); ) определяется некорректно, ну а в остальном код более чем верный, попробуйте так:

$(document).ready(function(){
        $('.click').click(function () {
            var win = $(window).height();
            $('body,html').animate({
                scrollTop: win
            }, 800);
            return false;
        });
});

Если по тем или иным причинам высоту нужно предопределять заранее, выставляйте её на $(window).resize(); и "триггерните" это события на $(window).load();