Я пытаюсь сделать некоторые из моих элементов фиксированными для вертикальной и горизонтальной прокрутки и посмотрел несколько примеров на stackoverflow, но я не мог понять, почему они работают, поэтому я не могу использовать его для другой цели: Это код что каждый дает, и это работает:ScrollLeft ScrollTop, Как они работают?
$(window).scroll(function() {
$('#header').css({
'top': $(this).scrollTop() + 15,
'left': $(this).scrollLeft() + 15 // top, left = 15px in css
});
}
так что он делает устанавливается положение сверху и слева от идентификатора тега заголовка, чтобы окно каждый раз прокручивается, он переходит в положение относительно окна?
$ (это) .scrollTop() всегда распечатайте 0 в моем тесте, однако, если я ниже вместо этого, он перестает работать:
function test() { /* Original code example, keeping this unmodified so some answers doesn't seem strange */
$('#header').css({
'top': 15,
'left': 15 // hardcode 15 just for example
});
}
Какова цель $ (это) .scrollTop() здесь, что делает или нарушает функциональность?
Наконец, мне не разрешено использовать JQuery, поэтому я использую javascript, и ни один из этих вариантов не работает. Не могли бы вы рассказать мне, что я делаю неправильно?
function test() {
var header = getElementById('header');
header.style.top = header.scrollTop + 15;
header.style.left = header.scrollLeft + 15;
}
также пробовал несколько других, таких как: использование «15px», 15 + 'px'.
редактировать модифицированный первый пример кода для правильного первоначального кода из StackOverflow
если вы называете эту функцию "test" ?? –
Когда вы проверяете 'scrollTop' тест на' $ ('# header') 'not on' $ (this) 'потому что' $ (this) 'вероятно, будет функцией' test'. – xpy
Я вызвал тест на window.onscroll = function() {test()}; Но теперь я получаю ответ. Спасибо – user3758745