Форум программистов, компьютерный форум, киберфорум
JavaScript для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 Аватар для Mailo
248 / 226 / 31
Регистрация: 18.02.2010
Сообщений: 2,312

Кастомный скроллбар на чистом js

02.12.2024, 21:39. Показов 282. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть какие на примете? Мне чот гугл только jq варианты предлагает.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
02.12.2024, 21:39
Ответы с готовыми решениями:

Как сделать кастомный scrollbar на чистом JS
Как сделать кастомный scrollbar на чистом JS. Раскажите как скрыть scrollbar по дефолту в браузере и как создать свой не теряя...

Кастомный скроллбар, горизонтальный с отключеным роликом и включеным свайпом
Никто не работал с кастомным скролом malihu-custom-scrollbar? Задачка в том, что бы отрубить прокрутку горизонтального скрола роликом и...

Скроллбар
привет всем! столкнулся с необходимостью изменить стандартный цвет(хотя бя цвет) скроллбара, тк белый не фонтан вообще. Как с помощью...

1
Эксперт JSЭксперт HTML/CSS
 Аватар для krvsa
3803 / 1638 / 428
Регистрация: 14.03.2022
Сообщений: 4,080
02.12.2024, 22:29
Лучший ответ Сообщение было отмечено Mailo как решение

Решение

Mailo, вот я загуглил "самодельный скролбар на чистом js" - и первая же ссылка сразу на пример!

Кликните здесь для просмотра всего текста
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<style>
body {
  font-family: cursive;
  background: #eef;
}
h1 {
  text-align: center;
}
#container {
  width: 300px;
  height: 300px;
  box-sizing:border-box;
  max-width:100%;
  padding: 5px 10px;
  margin: auto;
  background: #ccc;
  position: relative;
}
#content {
  height:100%;
  width: 100%;
  overflow-y: scroll;
}
#scrollbar-container {
    position: absolute;
    right: 5px;
    bottom: 5px;
    top: 5px;
    width: 20px;
}
 
#scrollbar {
  position: absolute;
  right: 0;
  height: 30px;
  width: 10px;
  border-radius: 10px;
  background: rgba(0, 0, 0, 0.5);
}
 
::-webkit-scrollbar {
  display: none;
}
</style>
</head>
<body>
 
<section>
  <h1>Custom scrollbar</h1>
  <article>
    <div id="container">
      <div id="scrollbar-container">
        <div id="scrollbar"></div>
      </div>
      <div id="content">
      Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent libero lacus, lobortis congue purus hendrerit, pharetra dictum metus. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Phasellus in elit vel nisl condimentum tincidunt eget quis turpis. Aliquam porta placerat nisl vitae interdum. Ut nibh lorem, mollis sit amet diam a, ultrices tincidunt felis. Duis tincidunt, mauris convallis interdum suscipit, dui elit ultrices elit, et rhoncus nunc lacus a odio. Morbi quis egestas nisl. Etiam vestibulum felis vitae felis lobortis, sit amet interdum neque congue.
 
Curabitur est augue, imperdiet ullamcorper diam ac, suscipit auctor orci. Donec id ex eget eros volutpat tempor. Vivamus pretium sagittis quam vel malesuada. In hac habitasse platea dictumst. Maecenas consequat imperdiet lacus, at faucibus mauris posuere ac. Pellentesque a tellus dolor. Ut ante nisi, sagittis quis varius eu, luctus aliquet elit. Nunc vel ullamcorper mauris.
 
Duis scelerisque tempor velit, eget euismod arcu ultrices nec. Nulla facilisi. Pellentesque ullamcorper tellus vitae sapien dapibus venenatis. Phasellus eget nunc ornare, aliquet nulla eu, lacinia metus. Maecenas maximus porta feugiat. Pellentesque finibus nulla orci, non pulvinar libero finibus vitae. Pellentesque bibendum vehicula arcu vitae dignissim. Aliquam tempor nisl id porttitor venenatis.
 
      </div>
    </div>
  </article>
 
<script>
 
console.log('Start');
var $ = document.getElementById.bind(document),
    container = $('scrollbar-container'),
    content = $('content'),
    scroll = $('scrollbar');
 
content.addEventListener('scroll', function(e) {
  scroll.style.height = container.clientHeight * content.clientHeight / content.scrollHeight + "px";
  scroll.style.top = container.clientHeight * content.scrollTop / content.scrollHeight + "px";
});
var event = new Event('scroll');
 
window.addEventListener('resize', content.dispatchEvent.bind(content, event));
content.dispatchEvent(event);
 
scroll.addEventListener('mousedown', function(start){
  start.preventDefault();
  var y = scroll.offsetTop;
  var onMove = function(end){
    var delta = end.pageY - start.pageY;
    scroll.style.top = Math.min(container.clientHeight - scroll.clientHeight, Math.max(0, y + delta)) + 'px';
    content.scrollTop = (content.scrollHeight * scroll.offsetTop / container.clientHeight);
  };
  document.addEventListener('mousemove', onMove);
  document.addEventListener('mouseup', function(){
    document.removeEventListener('mousemove', onMove);
  });
});
console.log('Done');
 
 
</script> 
</body>
</html>


Добавлено через 1 минуту
Вторая ссылка https://github.com/buzinas/simple-scrollbar

Добавлено через 1 минуту
Третья уже на статью с примером и разъяснениями...
https://habr.com/ru/sandbox/76258/

Добавлено через 1 минуту
Пятая ссылка уже на топ 10 таких скроллбаров...
https://www.cssscript.com/best... libraries/

Добавлено через 1 минуту
На первой странице результатов есть и наш форум...
Как сделать кастомный scrollbar на чистом JS
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
02.12.2024, 22:29
Помогаю со студенческими работами здесь

СкроллБар
Всем привет. Хочу узнать как сделать так,что бы ползунок скроллбара при небольшом максе был пропорционален максу. Например макс 3 и...

Горизонтальный скроллбар
Доброго времени суток. Помогите пожалуйста. Вот есть такой сайт с горизонтальной прокруткой...как теперь сделать скроллбар снизу но не...

Скроллбар у Label
Возможно ли добиться такого св-ва?

Неактивный скроллбар
У меня есть листбокс, на котором расположены графические элементы, я включаю скроллбар + горизонтальный скроллбар, но он их не...

JQuery и скроллбар
как присвоить телу документа скроллбар? я делаю вот так: $('body').attr(&quot;ONLOAD&quot;,&quot;scroll(0,1000000)&quot;); но так что-то нето, у...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка. Рецензия / Мнение/ Перевод https:/ / **********/ gallery/ thinkpad-x220-tablet-porn-gzoEAjs . . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru