Как объединить несколько функций window.onscroll?CSS

Разбираемся в CSS
Ответить
Anonymous
 Как объединить несколько функций window.onscroll?

Сообщение Anonymous »

Первая функция — это цветной RGB-скроллер (рядом со стандартной полосой прокрутки), который указывает на ход прокрутки страницы. Вторая — классическая кнопка прокрутки вверх.
ПЕРВАЯ ФУНКЦИЯ
HTML

Код: Выделить всё

▲▲▲
JS

Код: Выделить всё

let mybutton = document.getElementById("myBtn");

window.onscroll = function() {scrollFunction()};

function scrollFunction() {
if (document.body.scrollTop > 38 || document.documentElement.scrollTop > 512) {
mybutton.style.display = "block";
} else {
mybutton.style.display = "none";
}
}

function topFunction() {
document.body.scrollTop = 0; // For Safari
document.documentElement.scrollTop = 0; // For Chrome, Firefox, IE and Opera
}
ВТОРАЯ ФУНКЦИЯ
HTML JS

Код: Выделить всё

    let progress = document.getElementById('progressbar');
let totalHeight = document.body.scrollHeight - window.innerHeight;
window.onscroll = function () {
let progressHeight = (window.pageYOffset / totalHeight) * 100;
progress.style.height = progressHeight + "%";
}
CSS

Код: Выделить всё

::-webkit-scrollbar
{
width: 0;
}
#scrollPath
{
position: fixed;
top: 0;
right: 0;
width: 10px;
height: 100%;
background: rgba(255,255,255,0.05);
}
#progressbar
{
position: fixed;
top: 0;
right: 0;
width: 10px;

background: linear-gradient(to top, #008aff,#00ffe7);
animation: animate 5s linear infinite;
}
@keyframes animate
{
0%,100%
{
filter: hue-rotate(0deg);
}
50%
{
filter: hue-rotate(360deg);
}
}
#progressbar:before
{
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: linear-gradient(to top, #008aff,#00ffe7);
filter: blur(10px);
}
#progressbar:before
{
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: linear-gradient(to top, #008aff,#00ffe7);
filter: blur(30px);
}
::placeholder {
color: white;
}
По отдельности функции работают нормально.
Похоже, что они мешают друг другу.
Любые идеи о том, что я делаю неправильно?
Я ожидаю, что они проработают одновременно.

Подробнее здесь: https://stackoverflow.com/questions/787 ... -functions
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «CSS»