Попытка изменить значение при прокрутке в jQuery.
var a= 10;
$(window).scroll(function() {
a= $(this).scrollTop();
});
console.log(a);
Вот скрипка: https://jsfiddle.net/jpb2rfxa/
Еще консоль показывает 10. Как изменить значение?
Я понимаю, чего вы хотите, но не понимаю, почему вы не понимаете, что делает код.
var a = 10;
$(window).scroll(function() {
var a = $(this).scrollTop();
console.log(a);
});
Этот код будет изменять значение a при каждой прокрутке и выводить это значение при каждом событии прокрутки. Таким образом, console.log будет появляться при каждой прокрутке.
var a = 10;
$(window).scroll(function() {
a = $(this).scrollTop();
});
console.log(a);
В этом коде a будет по-прежнему меняться при каждой прокрутке. Однако console.log будет вызываться только один раз, а именно при первом чтении файла - без какой-либо прокрутки. Это потому, что .scroll - это обработчик событий, который срабатывает только при возникновении события (в данном случае при прокрутке). Итак, сначала будет иметь место console.log (только один раз), и поскольку пользователь еще не прокрутил, значение будет 10. Если пользователь затем прокручивает, значение изменится, но console.log больше не вызывается, поэтому не видят новое значение в консоли (даже если был изменен!).
Я предполагаю, что вы хотите использовать значение a
функции каждый раз, когда она изменяется, но если это так, это не способ сделать это. Затем вам нужно вызвать эту функцию внутри события прокрутки, потому что вы хотите каждый раз вызывать функцию с новым значением.
var a = 10;
$(window).scroll(function() {
var a = $(this).scrollTop();
logging(a);
});
function logging(val) {
console.log(val);
}
Эта статья взята из Интернета, укажите источник при перепечатке.
Если есть какие-либо нарушения, пожалуйста, свяжитесь с[email protected] Удалить.
я говорю два предложения