@denism300

Как показать блок и прокрутить до него?

На странице есть два блока, видимость которых переключается с помощью checkbox
Нужно при клике по кнопке, если блок скрыт, показать его и прокрутить до него.
Написал такой скрипт:
jQuery(".tb-courses-menu a").click(function (e) {
    var courseToggle = jQuery("#courseToggle").prop("checked");
    var destination = jQuery('#tb-courses').offset().top;
    e.preventDefault();
    if (courseToggle) {
        jQuery("#courseToggle").prop("checked", false);
        jQuery("#tb-services").hide();
        jQuery("#tb-courses").show();
        jQuery('html, body').animate({ scrollTop: destination }, 1100);
    }
})

При клике по ссылке ".tb-courses-menu a" переключение видимости блоков происходит, но страница до него не прокручивается.
Как поправить?
  • Вопрос задан
  • 71 просмотр
Решения вопроса 1
@denism300 Автор вопроса
Разобрался сам.
var destination = jQuery('#tb-courses').offset().top;

надо объявлять в условии if после отображения блока:
jQuery(".tb-courses-menu a").click(function (e) {
    var courseToggle = jQuery("#courseToggle").prop("checked");
    e.preventDefault();
    if (courseToggle) {
        jQuery("#courseToggle").prop("checked", false);
        jQuery("#tb-services").hide();
        jQuery("#tb-courses").show();
        var destination = jQuery('#tb-courses').offset().top;
        jQuery('html, body').animate({ scrollTop: destination }, 1100);
    }
})
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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