ScrollTop к элементу - 20 пикселей

0

Я пытаюсь сделать scrollTop для моего элемента div, но не точно, где он находится. Я хочу перейти 20px перед моим элементом div. Я думаю, я могу объяснить, как лучше показать мой код для вас:

HTML:

<div id="arrow-down">Click here and go to content!</div>

<div id="content">The content is here!</div>

JQuery: У меня уже есть код, который работает нормально, но я хочу сделать его другим.

$(document).ready(function() {
    $('#arrow-down').click(function() {
        $('html, body').animate({
               scrollTop: $("#content").offset().top
        }, 800);
    });
});

Этот код приводит меня к содержимому div #, но я хочу перейти 20px от вершины этого!

Что-то вроде того:

$(document).ready(function() {
    $('#arrow-down').click(function() {
        $('html, body').animate({
               scrollTop: $("#content" - 20px).offset().top
        }, 800);
    });
});

Ну, я не знаю, смущен ли его взгляд... Надеюсь, вы, ребята, можете мне помочь!

  • 2
    Так что .top - 20 20 ... .top - 20
  • 0
    вы не хотите, чтобы селектор уменьшался, вы хотите, чтобы смещение (). top элемента, соответствующего селектору, уменьшалось
Теги:
scrolltop

2 ответа

3
Лучший ответ

Вы можете сделать это:

$('html, body').animate({
     scrollTop: $("#content").offset().top - 20
}, 800);
  • 1
    Спасибо брат!!! Это сработало!!!
1
$(document).ready(function() { 
    $('#arrow-down').click(function() {
         $('body').animate({
         scrollTop: $("#content").offset().top-20
    }, 800);
  }); 
});

попробуй это

  • 0
    это правильно?
  • 0
    Это сработало здесь!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню