Kezdőoldal » Számítástechnika » Weblapkészítés » Valaki rá tudna nézni erre a...

Valaki rá tudna nézni erre a tutorial videóra, mert szerintem rossz (Javascript kezdő szint)?

Figyelt kérdés

Most kezdtem el JS-t tanulni, és eddig minden oktatóvideó tök jól működött, viszont ezzel szerintem valami nem stimmel...


Elvileg egy image slider lenne, ami automatikusan és vezérelve is működik.

Ha valaki ráér, megnézné? Nagyon köszi.


https://www.youtube.com/watch?v=zwZp-Xdq8m0&t


2022. febr. 5. 12:20
1 2
 1/11 anonim válasza:
52%
Nem vagyok ebben nagyon jártas, nekem se tűnik olyan jónak.
2022. febr. 5. 12:45
Hasznos számodra ez a válasz?
 2/11 anonim ***** válasza:
azért ezt nem nevezném tutorial videónak, semmit nem magyaráz benne, csak végig csinálja amit csinál és azt is elég gyorsan össze-vissza ugrálva
2022. febr. 5. 12:46
Hasznos számodra ez a válasz?
 3/11 anonim ***** válasza:

Mi nem működik rajta? Fejlesztő eszköztár (F12 vagy CTRL+Shift+I billentyűkombináció) konzolja ír ki valamilyen hibát?

Az általad bepötyögött forráskódokat fel tudnád tölteni a pastebin.com kódmegosztó portálra?

2022. febr. 5. 12:48
Hasznos számodra ez a válasz?
 4/11 A kérdező kommentje:

Ő lenne az...

[link]


És ez a formázása...

[link]



De nem értem, miért ennyire rövid a JS benne? Hol van belőle, hogy a képek jobbra-balra elmozdulnak? Szerintem ez így teljesen hiányos...



Köszi, ha megnézitek :)

2022. febr. 5. 12:58
 5/11 anonim ***** válasza:
A css-t linkeld be, abban van az átmenet.
2022. febr. 5. 13:15
Hasznos számodra ez a válasz?
 6/11 A kérdező kommentje:
A második link a css.
2022. febr. 5. 13:22
 7/11 anonim ***** válasza:

Azért nem működik, mert az első "st" osztályú blokkelemnek nincsen "first" osztálya.


Szóval e helyett:

<div class="st">

<img src="h.jpg" alt="" srcset="">

</div>


ezt kéne írni:

<div class="st first">

<img src="h.jpg" alt="" srcset="">

</div>


"De nem értem, miért ennyire rövid a JS benne?"

Az csak az automatikus váltásért felelős.


"Hol van belőle, hogy a képek jobbra-balra elmozdulnak?"

Azért a CSS felelős.


Egyébként ennél a kódrészletnél:

<div class="nav-m">

<label for="radio1" class="m-btn"></label>

<label for="radio1" class="m-btn"></label>

<label for="radio1" class="m-btn"></label>

<label for="radio1" class="m-btn"></label>

</div>


is így kéne írni:

<div class="nav-m">

<label for="radio1" class="m-btn"></label>

<label for="radio2" class="m-btn"></label>

<label for="radio3" class="m-btn"></label>

<label for="radio4" class="m-btn"></label>

</div>

2022. febr. 5. 13:49
Hasznos számodra ez a válasz?
 8/11 anonim ***** válasza:

Az előbb megnyitottam a második linket, és ugyanaz jött be rajta, mint az elsőn... mindegy.


Na, a dolog lényege, hogy vannak a radiobutton-ök, #radio1, #radio2 és így tovább. Amikor kijelölésre kerül (:checked) egy adott radiobutton, az azt követő .first osztályú elem margin-left tulajdonsága megváltozik, ettől mozdul el a kép, és mivel van benne egy transition tulajdonság, ezért ez animálódva fog megtörténni.


#radio2:checked ~ .first {

margin-left: -20%;

}


#radio3:checked ~ .first {

margin-left: -40%;

}


Az egyetlen aprócska hiba, hogy a kódban class="first" következetesen class="st" szerepel mindenhol. Mivel a css a .first osztályú elemre hivatkozik, így nyilván az .st osztályú elemeket nem találja meg.

A Javascriptnek csak annyi szerepe van, hogy manuálisan "nyomkodja" a radiogombokat adott időközönként.


Amúgy ez egy NAGYON primitív slider, mert nincs tekintettel a képek méretére, méretarányaira, fixen be van drótozva a négy darab kép, és még sorolhatnám.

2022. febr. 5. 13:51
Hasznos számodra ez a válasz?
 9/11 A kérdező kommentje:

Nagyon köszönöm, hogy időt szántatok rá! :) És külön köszi, hogy el is magyaráztátok.


Balázs azt nem tudom, miért nem nyitotta meg neked a CSS-t, nálam teljesen jó.



Esetleg ha van arra türelmetek, megírnátok miért ez a JS kód? Nem teljesen vágom, miért ettől fog lapozni magától...


Miért van egy 5000 a legvégén?

És minek írta az elejére, hogy type="text/javascript? Ilyet még sose láttam más kódokban...



<script type="text/javascript">

var counter=1;

setInterval(function(){

document.getElementById('radio' + counter).checked=true;

counter++;

if(counter > 4){

counter = 1;

}


},5000);



</script>

2022. febr. 5. 15:21
 10/11 anonim ***** válasza:

A setInterval() metódus

[link]

egy - az első paraméterében levő - függvényt hajt végre a második paraméterben megadott időközönként - jelen esetben ez 5000 ms.


Maga az első paraméterben levő függvény annyit tesz, hogy bejelöli az adott sorszámú rádiógombot majd növeli eggyel a sorszámot. Ha a sorszám nagyobb mint 4, akkor a sorszám egyenlő lesz eggyel.


"És minek írta az elejére, hogy type="text/javascript?"

Azért, mert elvileg lehetne más kliensoldali kódot is használni. Nem kötelező megadni.

2022. febr. 5. 15:34
Hasznos számodra ez a válasz?
1 2

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!