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

nieskończoność

Object Storage Arubacloud
+1 głos
323 wizyt
pytanie zadane 2 lutego 2022 w JavaScript przez gatka84 Bywalec (2,150 p.)
edycja 2 lutego 2022 przez gatka84

Hej jak w poniższym kodzie zrobić nieskończoność tzn pierwszy znika i pojawia się na końcu itd przewija się w kółko, mam coś takiego i utknęłam nie mogę wykombinować jakieś nakierowanie lub podpowiedz bym prosiła jeśli ktoś już coś takiego przerabiał.

 setInterval(function() {
       barChartDemo.removeData();
       barChartDemo.addData ();     <- i tu nie wiem jak to ugryźć
    }, 
     3000);

jest to chart.js tzn wykres który się ma przesuwać z danymi

komentarz 2 lutego 2022 przez VBService Ekspert (252,740 p.)

A z tego próbowałaś coś podpatrzeć?

Chart.js animated charts

komentarz 2 lutego 2022 przez gatka84 Bywalec (2,150 p.)
Tak już to wczoraj przeglądałam i jedynie tam widzę przesuwanie x i y natomiast chce efekt slajdu zapętlonego gdzie jedynka przechodzi na koniec potem 2 itd taki ala baner informacyjny bo będzie wyświetlane na niewielkim oknie a będą 24 pozycje wykresu więc chciałam żeby to było czytelne i ładnie wyglądało
komentarz 3 lutego 2022 przez VBService Ekspert (252,740 p.)
edycja 3 lutego 2022 przez VBService

Nie wiem czy dobrze rozumiem, ale może taki bardzo "prosty" chart będzie "wystarczający".  smiley, oczywiście Chart.js jeden z najlepszych - imho.

 

przykład

<div class="chart-wrap">
  <div class="chart-co-ordinates">
    <ul class="y-axis">
      <li><span>100%</span></li>
      <li><span>80%</span></li>
      <li><span>60%</span></li>
      <li><span>40%</span></li>
      <li><span>20%</span></li>
      <li><span>0%</span></li>
    </ul>
    <ul class="bars"><!-- x-axis -->
      <li><div class="bar green"></div></li>
      <li><div class="bar blue"></div></li>
      <li><div class="bar orange"></div></li>
      <li><div class="bar purple"></div></li>
      <li><div class="bar red"></div></li> 
      <li><div class="bar green"></div></li>
      <li><div class="bar blue"></div></li>
      <li><div class="bar orange"></div></li>
      <li><div class="bar gold"></div></li>   
      <li><div class="bar aqua"></div></li>
    </ul>
  </div>
</div>
* {
  box-sizing: border-box;
}
body {
  background: rgb(48, 48, 58);
  font-family: Lato, Helvetica, Arial, sans-serif;
}
.chart-wrap {
  margin: 0 2em 0 1em;
}
.chart-co-ordinates {
  position: relative;
  max-width: 600px;
  height: 300px;
  margin: 50px auto 100px;
  background: rgba(255, 255, 255, 0.1);
  border-top: 1px solid rgb(102, 102, 136);
  border-right: 1px solid rgb(102, 102, 136);
}
.chart-co-ordinates .bars {
  display: flex;
  justify-content: space-around;
  border-left: 1px solid rgb(187, 187, 187);
  border-bottom: 1px solid rgb(187, 187, 187);
  border-color: rgb(187, 187, 187);
  width: 100%;
  height: 100%;
  padding: 0 0.2em;
  margin: 0;
  cursor: pointer;
}
.chart-co-ordinates .bars li {
  display: inline-block;
  flex: 0 1 24%;
  height: 100%;
  margin: 0;
  text-align: center;
  position: relative;
  font-size: 1em;
}
.chart-co-ordinates .bars li .bar {
  width: 100%;
  background: rgb(68, 153, 238);
  position: absolute;
  font-size: 0.8em;
  font-weight: bold;
  color: white;
  padding-top: 0.2em;
  bottom: 0;
  height: 0;
  overflow: hidden;  
  border-top-right-radius: 0.5em;
  border-top-left-radius: 0.5em;
  -webkit-transition: 1.5s height cubic-bezier(0.6, 0.4, 0.4, 1.1);
  transition: 1.5s height cubic-bezier(0.6, 0.4, 0.4, 1.1);
}
.chart-co-ordinates .bars li .bar:after {
  content: '%';
  font-size: 0.6em;
  vertical-align: top;
  color: rgba(255, 255, 255, 0.8);
  margin-right: -8px;
}
.chart-co-ordinates .y-axis {
  display: inline-block;
  position: absolute;
  left: -50px;
  width: 50px;
  height: 100%;
  margin: 0;
  padding: 0;
}
.chart-co-ordinates .y-axis li {
  position: relative;
  text-align: right;
  padding-right: 1em;
  list-style: none;
  height: 60px;  
  font-size: 0.8em;
  bottom: 12px;
  right: -9px;
  color: rgb(238, 238, 238);
}
.chart-co-ordinates .y-axis li:after {
  content: "\00af";
  position: relative;
  right: -5px;
  font-size: 10px;
  top: 7px;
  color: rgba(255, 255, 255, 0.34);
}

/* https://www.css-gradient.com/ */
.bars li .bar.green {
  background: rgba(138, 223, 148, 1.0);
  background: -webkit-radial-gradient(center, rgba(138, 223, 148, 1.0), rgba(56, 145, 11, 1.0));
  background: -moz-radial-gradient(center, rgba(138, 223, 148, 1.0), rgba(56, 145, 11, 1.0));
  background: radial-gradient(ellipse at center, rgba(138, 223, 148, 1.0), rgba(56, 145, 11, 1.0));
}
.bars li .bar.blue {
  background: rgba(138, 157, 223, 1.0);
  background: -webkit-radial-gradient(center, rgba(138, 157, 223, 1.0), rgba(11, 23, 145, 1.0));
  background: -moz-radial-gradient(center, rgba(138, 157, 223, 1.0), rgba(11, 23, 145, 1.0));
  background: radial-gradient(ellipse at center, rgba(138, 157, 223, 1.0), rgba(11, 23, 145, 1.0));
}
.bars li .bar.orange {
  background: rgba(223, 187, 138, 1.0);
  background: -webkit-radial-gradient(center, rgba(223, 187, 138, 1.0), rgba(145, 89, 11, 1.0));
  background: -moz-radial-gradient(center, rgba(223, 187, 138, 1.0), rgba(145, 89, 11, 1.0));
  background: radial-gradient(ellipse at center, rgba(223, 187, 138, 1.0), rgba(145, 89, 11, 1.0));
}
.bars li .bar.red {
  background: rgba(223, 138, 138, 1.0);
  background: -webkit-radial-gradient(center, rgba(223, 138, 138, 1.0), rgba(145, 11, 11, 1.0));
  background: -moz-radial-gradient(center, rgba(223, 138, 138, 1.0), rgba(145, 11, 11, 1.0));
  background: radial-gradient(ellipse at center, rgba(223, 138, 138, 1.0), rgba(145, 11, 11, 1.0));
}
.bars li .bar.purple {
  background: rgba(219, 138, 223, 1.0);
  background: -webkit-radial-gradient(center, rgba(219, 138, 223, 1.0), rgba(129, 11, 145, 1.0));
  background: -moz-radial-gradient(center, rgba(219, 138, 223, 1.0), rgba(129, 11, 145, 1.0));
  background: radial-gradient(ellipse at center, rgba(219, 138, 223, 1.0), rgba(129, 11, 145, 1.0));
}
.bars li .bar.aqua {
  background: rgba(138, 223, 215, 1.0);
  background: -webkit-radial-gradient(center, rgba(138, 223, 215, 1.0), rgba(11, 120, 145, 1.0));
  background: -moz-radial-gradient(center, rgba(138, 223, 215, 1.0), rgba(11, 120, 145, 1.0));
  background: radial-gradient(ellipse at center, rgba(138, 223, 215, 1.0), rgba(11, 120, 145, 1.0));
}
.bars li .bar.gold {
  background: rgba(223, 220, 138, 1.0);
  background: -webkit-radial-gradient(center, rgba(223, 220, 138, 1.0), rgba(145, 126, 11, 1.0));
  background: -moz-radial-gradient(center, rgba(223, 220, 138, 1.0), rgba(145, 126, 11, 1.0));
  background: radial-gradient(ellipse at center, rgba(223, 220, 138, 1.0), rgba(145, 126, 11, 1.0));
}
let bars_parent;

window.addEventListener('load', load);

function load() {
  bars_parent = document.querySelector('.bars');  

  bars_parent.addEventListener('click', setRandommValueForBars);
  setRandommValueForBars();

  setInterval(() => {
    bars_parent.appendChild(bars_parent.firstElementChild.cloneNode(true));
    bars_parent.removeChild(bars_parent.firstElementChild);
  }, 3000);
}

function setRandommValueForBars() {
  const bars = bars_parent.querySelectorAll('.bar');
  for (let bar of bars) {
    const percent = random(1, 100);
    bar.style.height = percent + '%';
    bar.textContent = percent;
  }
}

function random(min, max) { 
  min = Math.ceil(min);
  max = Math.floor(max);
  return Math.floor(Math.random() * (max - min + 1)) + min;
}

 

do celów demonstracyjnych wartości są losowane, ale mogą być "czytane" np. za pomocą ajax-a.

komentarz 3 lutego 2022 przez gatka84 Bywalec (2,150 p.)
bardzo ciekawe a jak to spiąć ajaxem do danych odebranych z sql przez php

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

+1 głos
1 odpowiedź 159 wizyt
pytanie zadane 20 kwietnia 2020 w JavaScript przez UnexoN Nowicjusz (200 p.)
0 głosów
1 odpowiedź 265 wizyt
pytanie zadane 28 maja 2019 w JavaScript przez Kerto Nowicjusz (240 p.)

92,551 zapytań

141,393 odpowiedzi

319,522 komentarzy

61,936 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!

...