• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Zmiana wyglądu scrolla podczas korzystania z witryny

Object Storage Arubacloud
+1 głos
379 wizyt
pytanie zadane 15 maja 2021 w HTML i CSS przez bazyl8796 Obywatel (1,020 p.)
Cześć,
mam takie krótkie pytanko, a mianowicie czy jest możliwe dostosowywanie paska przewijania (scrolla) podczas korzystania ze strony (bez odświeżania jej, ani nic). Po prostu klikam w przycisk i scroll zmienia wygląd np. z koloru czerwonego na żółty. Czy jest to w ogóle wykonalne, a jeżeli tak to jak?

2 odpowiedzi

+1 głos
odpowiedź 15 maja 2021 przez VBService Ekspert (253,340 p.)
wybrane 15 maja 2021 przez bazyl8796
 
Najlepsza

Czy o coś takiego, Tobie chodziło?

<body class="color-theme-white">
  <div class="color-theme-container">
    <button class="button button-white">Biały</button>
    <button class="button button-orange">Pomarańczowy</button>
    <button class="button button-green">Zielony</button>
    <button class="button button-red">Czerwony</button>
    <button class="button button-yellow">Żółty</button>
  </div>

  <div>
    <h2>Czym jest Lorem Ipsum?</h2>
    Lorem Ipsum jest tekstem stosowanym jako przykładowy wypełniacz w przemyśle poligraficznym. Został po raz pierwszy użyty w XV w. przez nieznanego drukarza do wypełnienia tekstem próbnej książki. Pięć wieków później zaczął być używany przemyśle elektronicznym, pozostając praktycznie niezmienionym. Spopularyzował się w latach 60. XX w. wraz z publikacją arkuszy Letrasetu, zawierających fragmenty Lorem Ipsum, a ostatnio z zawierającym różne wersje Lorem Ipsum oprogramowaniem przeznaczonym do realizacji druków na komputerach osobistych, jak Aldus PageMaker</div>

  <div>
    <h2>Skąd się to wzięło?</h2>
    <p>W przeciwieństwie do rozpowszechnionych opinii, Lorem Ipsum nie jest tylko przypadkowym tekstem. Ma ono korzenie w klasycznej łacińskiej literaturze z 45 roku przed Chrystusem, czyli ponad 2000 lat temu! Richard McClintock, wykładowca łaciny na uniwersytecie Hampden-Sydney w Virginii, przyjrzał się uważniej jednemu z najbardziej niejasnych słów w Lorem Ipsum – consectetur – i po wielu poszukiwaniach odnalazł niezaprzeczalne źródło: Lorem Ipsum pochodzi z fragmentów (1.10.32 i 1.10.33) „de Finibus Bonorum et Malorum”, czyli „O granicy dobra i zła”, napisanej właśnie w 45 p.n.e. przez Cycerona. Jest to bardzo popularna w czasach renesansu rozprawa na temat etyki. Pierwszy wiersz Lorem Ipsum, „Lorem ipsum dolor sit amet...” pochodzi właśnie z sekcji 1.10.32.</p><p> Standardowy blok Lorem Ipsum, używany od XV wieku, jest odtworzony niżej dla zainteresowanych. Fragmenty 1.10.32 i 1.10.33 z „de Finibus Bonorum et Malorum” Cycerona, są odtworzone w dokładnej, oryginalnej formie, wraz z angielskimi tłumaczeniami H. Rackhama z 1914 roku.</p></div>

  <div>
    <h2>Do czego tego użyć?</h2>
    Ogólnie znana teza głosi, iż użytkownika może rozpraszać zrozumiała zawartość strony, kiedy ten chce zobaczyć sam jej wygląd. Jedną z mocnych stron używania Lorem Ipsum jest to, że ma wiele różnych „kombinacji” zdań, słów i akapitów, w przeciwieństwie do zwykłego: „tekst, tekst, tekst”, sprawiającego, że wygląda to „zbyt czytelnie” po polsku. Wielu webmasterów i designerów używa Lorem Ipsum jako domyślnego modelu tekstu i wpisanie w internetowej wyszukiwarce ‘lorem ipsum’ spowoduje znalezienie bardzo wielu stron, które wciąż są w budowie. Wiele wersji tekstu ewoluowało i zmieniało się przez lata, czasem przez przypadek, czasem specjalnie (humorystyczne wstawki itd).</div>
</body>
* {
  box-sizing: border-box;
}
:root {
  --color-2: black;
  --color-3: gray;  
}
body {
  margin: 0;
  padding: 0;
  background-color: var(--color-2);
  color: var(--color-1);
  transition: color 0.5s;
}
div {
  width: 70vw;
  margin: 1em auto;
  font: 1.1em/1.6em monospace;
}
.color-theme-container button {
  width: 8em;
  cursor: pointer;
  color: black;
  border: 2px solid gray;
  font: 0.9em/1.4em monospace;
  font-weight: bold;
}


.color-theme-container .button-white {
  background-color: white;
}
.color-theme-container .button-orange {
  background-color: orange;
}
.color-theme-container .button-green {
  background-color: limegreen;
}
.color-theme-container .button-red {
  background-color: orangered;
}
.color-theme-container .button-yellow {
  background-color: yellow;
}

.color-theme-white {
  --color-1: white;
}
.color-theme-orange {
  --color-1: orange;
}
.color-theme-green {
  --color-1: limegreen;
}
.color-theme-red {
  --color-1: orangered;
}
.color-theme-yellow {
  --color-1: yellow;
}


body::-webkit-scrollbar {
  width: 0.5em;
}
body::-webkit-scrollbar-track {
  border: 0.18em solid var(--color-2);
  background-color: var(--color-3);
}
body::-webkit-scrollbar-thumb {
  width: 0.35em;
  background-color: var(--color-1);
  border-radius: 0.2em;
}
window.onload = () => {
  const buttons = document.querySelectorAll('.color-theme-container button');
  const colors = ['white', 'orange', 'green', 'red', 'yellow'];

  buttons.forEach((button, index) => {
    button.addEventListener('click', () => {
      document.body.className = `color-theme-${colors[index]}`;      
    })
  })  
}

1
komentarz 15 maja 2021 przez bazyl8796 Obywatel (1,020 p.)
Tak, wielkie dzięki :)
komentarz 15 maja 2021 przez bazyl8796 Obywatel (1,020 p.)
A czy da się tak zrobić, żeby zmieniał się jedynie kolor scroll'a, a nie również tekst na stronie?
komentarz 16 maja 2021 przez VBService Ekspert (253,340 p.)

Tak,

<body class="color-scrollbar-white">
  <div class="color-theme-container">
    <button class="button button-white">Biały</button>
    <button class="button button-orange">Pomarańczowy</button>
    <button class="button button-green">Zielony</button>
    <button class="button button-red">Czerwony</button>
    <button class="button button-yellow">Żółty</button>
  </div>

  <div>
    <h2>Czym jest Lorem Ipsum?</h2>
    Lorem Ipsum jest tekstem stosowanym jako przykładowy wypełniacz w przemyśle poligraficznym. Został po raz pierwszy użyty w XV w. przez nieznanego drukarza do wypełnienia tekstem próbnej książki. Pięć wieków później zaczął być używany przemyśle elektronicznym, pozostając praktycznie niezmienionym. Spopularyzował się w latach 60. XX w. wraz z publikacją arkuszy Letrasetu, zawierających fragmenty Lorem Ipsum, a ostatnio z zawierającym różne wersje Lorem Ipsum oprogramowaniem przeznaczonym do realizacji druków na komputerach osobistych, jak Aldus PageMaker</div>

  <div>
    <h2>Skąd się to wzięło?</h2>
    <p>W przeciwieństwie do rozpowszechnionych opinii, Lorem Ipsum nie jest tylko przypadkowym tekstem. Ma ono korzenie w klasycznej łacińskiej literaturze z 45 roku przed Chrystusem, czyli ponad 2000 lat temu! Richard McClintock, wykładowca łaciny na uniwersytecie Hampden-Sydney w Virginii, przyjrzał się uważniej jednemu z najbardziej niejasnych słów w Lorem Ipsum – consectetur – i po wielu poszukiwaniach odnalazł niezaprzeczalne źródło: Lorem Ipsum pochodzi z fragmentów (1.10.32 i 1.10.33) „de Finibus Bonorum et Malorum”, czyli „O granicy dobra i zła”, napisanej właśnie w 45 p.n.e. przez Cycerona. Jest to bardzo popularna w czasach renesansu rozprawa na temat etyki. Pierwszy wiersz Lorem Ipsum, „Lorem ipsum dolor sit amet...” pochodzi właśnie z sekcji 1.10.32.</p><p> Standardowy blok Lorem Ipsum, używany od XV wieku, jest odtworzony niżej dla zainteresowanych. Fragmenty 1.10.32 i 1.10.33 z „de Finibus Bonorum et Malorum” Cycerona, są odtworzone w dokładnej, oryginalnej formie, wraz z angielskimi tłumaczeniami H. Rackhama z 1914 roku.</p></div>

  <div>
    <h2>Do czego tego użyć?</h2>
    Ogólnie znana teza głosi, iż użytkownika może rozpraszać zrozumiała zawartość strony, kiedy ten chce zobaczyć sam jej wygląd. Jedną z mocnych stron używania Lorem Ipsum jest to, że ma wiele różnych „kombinacji” zdań, słów i akapitów, w przeciwieństwie do zwykłego: „tekst, tekst, tekst”, sprawiającego, że wygląda to „zbyt czytelnie” po polsku. Wielu webmasterów i designerów używa Lorem Ipsum jako domyślnego modelu tekstu i wpisanie w internetowej wyszukiwarce ‘lorem ipsum’ spowoduje znalezienie bardzo wielu stron, które wciąż są w budowie. Wiele wersji tekstu ewoluowało i zmieniało się przez lata, czasem przez przypadek, czasem specjalnie (humorystyczne wstawki itd).</div>
</body>
* {
  box-sizing: border-box;
}
body {
  margin: 0;
  padding: 0;
  background-color: black;
  color: white;
}
div {
  width: 70vw;
  margin: 1em auto;
  font: 1.1em/1.6em monospace;
}
.color-theme-container button {
  width: 8em;
  cursor: pointer;
  color: black;
  border: 2px solid gray;
  font: 0.9em/1.4em monospace;
  font-weight: bold;
}
 
 
.color-theme-container .button-white {
  background-color: white;
}
.color-theme-container .button-orange {
  background-color: orange;
}
.color-theme-container .button-green {
  background-color: limegreen;
}
.color-theme-container .button-red {
  background-color: orangered;
}
.color-theme-container .button-yellow {
  background-color: yellow;
}
 
.color-scrollbar-white {
  --color-1: white;
}
.color-scrollbar-orange {
  --color-1: orange;
}
.color-scrollbar-green {
  --color-1: limegreen;
}
.color-scrollbar-red {
  --color-1: orangered;
}
.color-scrollbar-yellow {
  --color-1: yellow;
}
 
 
body::-webkit-scrollbar {
  width: 0.5em;
}
body::-webkit-scrollbar-track {
  border: 0.18em solid black;
  background-color: silver;
}
body::-webkit-scrollbar-thumb {
  width: 0.35em;
  background-color: var(--color-1);
  border-radius: 0.2em;
}
window.onload = () => {
  const buttons = document.querySelectorAll('.color-theme-container button');
  const colors = ['white', 'orange', 'green', 'red', 'yellow'];
 
  buttons.forEach((button, index) => {
    button.addEventListener('click', () => {
      document.body.className = `color-scrollbar-${colors[index]}`;     
    })
  })  
}

 

1
komentarz 16 maja 2021 przez niezalogowany

Jakbym z góry wiedział czytając Pytanie że masz na to Sposób smiley

VBService Gratuluje wiedzy !laughyes

Pozdrawiam Serdecznie

 

1
komentarz 16 maja 2021 przez bazyl8796 Obywatel (1,020 p.)

@VBService, dzięki :)

komentarz 16 maja 2021 przez bazyl8796 Obywatel (1,020 p.)
A dałoby radę jeszcze tak zrobić, że jak klikam 2 razy w ten sam przycisk to kolor zmienia się na domyślny :)? Tzn. klikam pierwszy raz w np. pomarańczowy - kolor scrolla zmienia się na pomarańczowy, klikam znów na pomarańczowy - i kolor zmienia się na biały (czyli ten domyślny)
komentarz 16 maja 2021 przez VBService Ekspert (253,340 p.)

Tak,

<body class="color-scrollbar-default">
  <div class="color-theme-container">
    <button class="button button-orange">Pomarańczowy</button>
    <button class="button button-green">Zielony</button>
    <button class="button button-red">Czerwony</button>
    <button class="button button-yellow">Żółty</button>
  </div>
 
  <div>
    <h2>Czym jest Lorem Ipsum?</h2>
    Lorem Ipsum jest tekstem stosowanym jako przykładowy wypełniacz w przemyśle poligraficznym. Został po raz pierwszy użyty w XV w. przez nieznanego drukarza do wypełnienia tekstem próbnej książki. Pięć wieków później zaczął być używany przemyśle elektronicznym, pozostając praktycznie niezmienionym. Spopularyzował się w latach 60. XX w. wraz z publikacją arkuszy Letrasetu, zawierających fragmenty Lorem Ipsum, a ostatnio z zawierającym różne wersje Lorem Ipsum oprogramowaniem przeznaczonym do realizacji druków na komputerach osobistych, jak Aldus PageMaker</div>
 
  <div>
    <h2>Skąd się to wzięło?</h2>
    <p>W przeciwieństwie do rozpowszechnionych opinii, Lorem Ipsum nie jest tylko przypadkowym tekstem. Ma ono korzenie w klasycznej łacińskiej literaturze z 45 roku przed Chrystusem, czyli ponad 2000 lat temu! Richard McClintock, wykładowca łaciny na uniwersytecie Hampden-Sydney w Virginii, przyjrzał się uważniej jednemu z najbardziej niejasnych słów w Lorem Ipsum – consectetur – i po wielu poszukiwaniach odnalazł niezaprzeczalne źródło: Lorem Ipsum pochodzi z fragmentów (1.10.32 i 1.10.33) „de Finibus Bonorum et Malorum”, czyli „O granicy dobra i zła”, napisanej właśnie w 45 p.n.e. przez Cycerona. Jest to bardzo popularna w czasach renesansu rozprawa na temat etyki. Pierwszy wiersz Lorem Ipsum, „Lorem ipsum dolor sit amet...” pochodzi właśnie z sekcji 1.10.32.</p><p> Standardowy blok Lorem Ipsum, używany od XV wieku, jest odtworzony niżej dla zainteresowanych. Fragmenty 1.10.32 i 1.10.33 z „de Finibus Bonorum et Malorum” Cycerona, są odtworzone w dokładnej, oryginalnej formie, wraz z angielskimi tłumaczeniami H. Rackhama z 1914 roku.</p></div>
 
  <div>
    <h2>Do czego tego użyć?</h2>
    Ogólnie znana teza głosi, iż użytkownika może rozpraszać zrozumiała zawartość strony, kiedy ten chce zobaczyć sam jej wygląd. Jedną z mocnych stron używania Lorem Ipsum jest to, że ma wiele różnych „kombinacji” zdań, słów i akapitów, w przeciwieństwie do zwykłego: „tekst, tekst, tekst”, sprawiającego, że wygląda to „zbyt czytelnie” po polsku. Wielu webmasterów i designerów używa Lorem Ipsum jako domyślnego modelu tekstu i wpisanie w internetowej wyszukiwarce ‘lorem ipsum’ spowoduje znalezienie bardzo wielu stron, które wciąż są w budowie. Wiele wersji tekstu ewoluowało i zmieniało się przez lata, czasem przez przypadek, czasem specjalnie (humorystyczne wstawki itd).</div>
</body>
* {
  box-sizing: border-box;
}
body {
  margin: 0;
  padding: 0;
  background-color: black;
  color: white;
}
div {
  width: 70vw;
  margin: 1em auto;
  font: 1.1em/1.6em monospace;
}
.color-theme-container button {
  width: 8em;
  cursor: pointer;
  color: black;
  border: 2px solid gray;
  font: 0.9em/1.4em monospace;
  font-weight: bold;
}


.color-theme-container .button-orange {
  background-color: orange;
}
.color-theme-container .button-green {
  background-color: limegreen;
}
.color-theme-container .button-red {
  background-color: orangered;
}
.color-theme-container .button-yellow {
  background-color: yellow;
}
  
.color-scrollbar-default {
  --color-1: white;
}
.color-scrollbar-orange {
  --color-1: orange;
}
.color-scrollbar-green {
  --color-1: limegreen;
}
.color-scrollbar-red {
  --color-1: orangered;
}
.color-scrollbar-yellow {
  --color-1: yellow;
}
  
  
body::-webkit-scrollbar {
  width: 0.5em;
}
body::-webkit-scrollbar-track {
  border: 0.18em solid black;
  background-color: silver;
}
body::-webkit-scrollbar-thumb {
  width: 0.35em;
  background-color: var(--color-1);
  border-radius: 0.2em;
}
window.onload = () => {
  const buttons = document.querySelectorAll('.color-theme-container button');
  const colors = ['orange', 'green', 'red', 'yellow'];

  buttons.forEach((button, index) => {
    button.addEventListener('click', () => {
      if (!document.body.className.includes(colors[index])) {
        document.body.className = `color-scrollbar-${colors[index]}`; 
      } else {
        document.body.className = 'color-scrollbar-default';
      }
    })
  })  
}

 

1
komentarz 16 maja 2021 przez bazyl8796 Obywatel (1,020 p.)
Dzięki wielkie! Bardzo mi pomogłeś :D
+1 głos
odpowiedź 15 maja 2021 przez CubeStorm Pasjonat (15,020 p.)

Chodzi ci o coś takiego?

komentarz 15 maja 2021 przez bazyl8796 Obywatel (1,020 p.)
Tak nie do końca, miałem raczej na myśli czy wykonalne jest zmienianie wygladu scrolla podczas korzystania ze strony (np jakimś przyciskiem) bez jej (strony) odświeżania itp.
komentarz 15 maja 2021 przez CubeStorm Pasjonat (15,020 p.)
No tak. Te style, które znajdziesz w linku, który podesłałem przypisujesz do klasy css. Potem w JavaScript obsługujesz event, którym jest naciśnięcie jakiegoś stworzonego wcześniej przycisku na stronie, ten event wywoła callback, który doda do (np.) klasę, która będzie miała przypisane te style. Wtedy scrollbar się zmieni.

Podobne pytania

0 głosów
2 odpowiedzi 161 wizyt
pytanie zadane 22 grudnia 2016 w JavaScript przez n0s1gnal Użytkownik (700 p.)
0 głosów
2 odpowiedzi 4,737 wizyt
pytanie zadane 26 sierpnia 2015 w HTML i CSS przez Paweł123 Nałogowiec (33,500 p.)
0 głosów
1 odpowiedź 501 wizyt
pytanie zadane 11 marca 2016 w HTML i CSS przez McShadow Obywatel (1,050 p.)

92,570 zapytań

141,422 odpowiedzi

319,643 komentarzy

61,958 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...