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

Problem z nadawaniem wartości zmiennej w JavaScript

Object Storage Arubacloud
0 głosów
355 wizyt
pytanie zadane 7 stycznia 2022 w JavaScript przez slider.ugu.pl Nowicjusz (160 p.)
edycja 7 stycznia 2022 przez ScriptyChris

Witom ;p

mam pewien problem - chciałem zrobic sobie wlasny slider na stronke w javascripcie (https://slider.ugu.pl/),

otóż, wszystko dziala ok poza powrotem do poprzedniego zdjecia - mam problem ze zdefiniowaniem zmiennej numerm, by automatycznie jesli mam np. 7 numer slajdu, to zeby cofalo o jeden tą zmienną, a jak jest jeden, to zeby zapodawalo siodemke ;p, oto kodzik (choc i tak go macie na ww. stronce lul):

var numerm = "1"-1;

var numer = "1"+1;

function fwd()

{

  numerm; if (numer >1) numer = 7;

  var element = document.getElementById("sliderek");

  element.style.backgroundImage = "url('img/" + numer + ".png')";

}

function jedynka()

{

  var element = document.getElementById("sliderek");

  element.style.backgroundImage = "url('img/1.png')";

}

function dwojka()

{

  var element = document.getElementById("sliderek");

  element.style.backgroundImage = "url('img/2.png')";

}

function trojka()

{

  var element = document.getElementById("sliderek");

  element.style.backgroundImage = "url('img/3.png')";

}

function czworka()

{

  var element = document.getElementById("sliderek");

  element.style.backgroundImage = "url('img/4.png')";

}

function piatka()

{

  var element = document.getElementById("sliderek");

  element.style.backgroundImage = "url('img/5.png')";

}

function szostka()

{

  var element = document.getElementById("sliderek");

  element.style.backgroundImage = "url('img/6.png')";

}

function siodemka()

{

  var element = document.getElementById("sliderek");

  element.style.backgroundImage = "url('img/7.png')";

}

function fwd()

{

  numer++; if (numer >7) numer = 1;

  var element = document.getElementById("sliderek");

  element.style.backgroundImage = "url('img/" + numer + ".png')";

}
#sliderek

{

  background-image: url("img/1.png");

  background-repeat: no-repeat;

  background-size: cover;

  border: 1px solid;

  border-radius: 5px;

  height: 400px;

  margin-left: auto;

  margin-right: auto;

  width: 600px;

}
<div id="sliderek">

<br>

</div>


<button type="button" onclick="prev()">Poprzedni</button>

<button type="button" onclick="jedynka()">1</button>

<button type="button" onclick="dwojka()">2</button>

<button type="button" onclick="trojka()">3</button>

<button type="button" onclick="czworka()">4</button>

<button type="button" onclick="piatka()">5</button>

<button type="button" onclick="szostka()">6</button>

<button type="button" onclick="siodemka()">7</button>

<button type="button" onclick="fwd()">Następny</button>

poza tym to nie czepiac sie tego ze ten slider dziala na bgcolor, tak tylko se do matury ćwikam najprostsze podstawy ;d

dzienki za pomoc ;p

komentarz 7 stycznia 2022 przez ScriptyChris Mędrzec (190,190 p.)

Na przyszłość proszę wstawiać kod w odpowiednie bloczki.

komentarz 7 stycznia 2022 przez slider.ugu.pl Nowicjusz (160 p.)
spox ziom
komentarz 7 stycznia 2022 przez overcq Pasjonat (21,710 p.)

@sli­der.ugu.pl, a po co ta zmienna numerm w ogóle?

komentarz 7 stycznia 2022 przez slider.ugu.pl Nowicjusz (160 p.)
po to zeby wskazywala numer slajdu dla przycisku poprzedni,

numer jest dla nastepny

tak przekombinowane troche ;p
komentarz 7 stycznia 2022 przez overcq Pasjonat (21,710 p.)

Może wystarczy bieżący i obliczać poprzedni i następny?

komentarz 7 stycznia 2022 przez slider.ugu.pl Nowicjusz (160 p.)
czk sprubuje ;p
komentarz 7 stycznia 2022 przez slider.ugu.pl Nowicjusz (160 p.)
a jak te obliczanie zrobic kurde bo nwm w choj
komentarz 7 stycznia 2022 przez overcq Pasjonat (21,710 p.)

Już obliczasz w funkcji fwd. W funkcji prev odejmowanie i sprawdzanie, czy koniec zakresu.

komentarz 7 stycznia 2022 przez slider.ugu.pl Nowicjusz (160 p.)
thx
komentarz 7 stycznia 2022 przez ScriptyChris Mędrzec (190,190 p.)

@slider.ugu.pl, proszę zachować kulturę i nie obrażać użytkowników forum.

1 odpowiedź

0 głosów
odpowiedź 7 stycznia 2022 przez VBService Ekspert (253,340 p.)
edycja 9 stycznia 2022 przez VBService

Do wskazania bezpośrednio slajdu (przyciski 1, 2, 3 ... itd.) użyj jednej funkcji, to samo do "obsługi" przycisków, Poprzedni i Następny.

 

przykład

<div id="sliderek"></div>

<div class="buttons"> 
  <button type="button" onclick="show(-1)">Poprzedni</button> 
  <button type="button" onclick="showIndicated(1)">1</button> 
  <button type="button" onclick="showIndicated(2)">2</button> 
  <button type="button" onclick="showIndicated(3)">3</button> 
  <button type="button" onclick="showIndicated(4)">4</button> 
  <button type="button" onclick="showIndicated(5)">5</button> 
  <button type="button" onclick="showIndicated(6)">6</button> 
  <button type="button" onclick="showIndicated(7)">7</button> 
  <button type="button" onclick="show(1)">Następny</button>
</div>
#sliderek
{
  /* background-image: url("img/1.png"); */
  background-image: url("https://picsum.photos/500/500/?random=1");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  border: 1px solid;
  width: 600px;
  height: 400px;
  margin: 0.5em auto;  
}
.buttons {
  display: flex;
  justify-content: center;  
}
.buttons button {
  margin: 0 0.25em;
}
const MAX_SLIDE_LENGHT = 7;
let current_slide = 1;

function show(number) 
{
  current_slide += number;
  if (current_slide > MAX_SLIDE_LENGHT) 
    current_slide = 1;
  else if (current_slide < 1)
    current_slide = MAX_SLIDE_LENGHT;

  const element = document.getElementById("sliderek"); 
  //element.style.backgroundImage = "url('img/" + current_slide + ".png')";
  element.style.backgroundImage = "url('https://picsum.photos/500/500/?random=" + current_slide + "')";

  console.clear();
  console.log("Slajd numer: ", current_slide);
}

function showIndicated(img_number) 
{
  const element = document.getElementById("sliderek");
  current_slide = img_number;
  //element.style.backgroundImage = "url('img/" + img_number + ".png')";
  element.style.backgroundImage = "url('https://picsum.photos/500/500/?random=" + img_number + "')";
}

 

Podobne pytania

0 głosów
2 odpowiedzi 407 wizyt
pytanie zadane 24 kwietnia 2017 w JavaScript przez czujek22 Dyskutant (7,670 p.)
0 głosów
3 odpowiedzi 2,502 wizyt
pytanie zadane 17 czerwca 2017 w JavaScript przez BlvckFox Gaduła (4,240 p.)
0 głosów
1 odpowiedź 280 wizyt
pytanie zadane 26 września 2017 w Sieci komputerowe, internet przez MartinPLPL Początkujący (310 p.)

92,575 zapytań

141,424 odpowiedzi

319,649 komentarzy

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

...