1- import data from " ./data.js" ;
2- const container = document . querySelector ( " .slide-container" ) ;
3- const nextBtn = document . querySelector ( " .next-btn" ) ;
4- const prevBtn = document . querySelector ( " .prev-btn" ) ;
1+ import data from ' ./data.js'
2+ const container = document . querySelector ( ' .slide-container' )
3+ const nextBtn = document . querySelector ( ' .next-btn' )
4+ const prevBtn = document . querySelector ( ' .prev-btn' )
55// if length is 1 hide buttons
66if ( data . length === 1 ) {
7- nextBtn . style . display = " none" ;
8- prevBtn . style . display = " none" ;
7+ nextBtn . style . display = ' none'
8+ prevBtn . style . display = ' none'
99}
1010// if length is 2, add copies of slides
11- let people = [ ...data ] ;
11+ let people = [ ...data ]
1212if ( data . length === 2 ) {
13- people = [ ...data , ...data ] ;
13+ people = [ ...data , ...data ]
1414}
1515container . innerHTML = people
1616. map ( ( person , slideIndex ) => {
17- const { img, name, job, text } = person ;
18- let position = " next" ;
17+ const { img, name, job, text } = person
18+ let position = ' next'
1919if ( slideIndex === 0 ) {
20- position = " active" ;
20+ position = ' active'
2121}
2222if ( slideIndex === people . length - 1 ) {
23- position = " last" ;
23+ position = ' last'
2424}
2525if ( data . length <= 1 ) {
26- position = " active" ;
26+ position = ' active'
2727}
2828return `<article class="slide ${ position } ">
2929 <img src=${ img } class="img" alt="${ name } "/>
@@ -35,40 +35,40 @@ container.innerHTML = people
3535<div class="quote-icon">
3636<i class="fas fa-quote-right"></i>
3737</div>
38- </article>` ;
38+ </article>`
3939} )
40- . join ( "" ) ;
40+ . join ( '' )
4141
4242const startSlider = ( type ) => {
4343// get all three slides active,last next
44- const active = document . querySelector ( " .active" ) ;
45- const last = document . querySelector ( " .last" ) ;
46- let next = active . nextElementSibling ;
44+ const active = document . querySelector ( ' .active' )
45+ const last = document . querySelector ( ' .last' )
46+ let next = active . nextElementSibling
4747if ( ! next ) {
48- next = container . firstElementChild ;
48+ next = container . firstElementChild
4949}
50- active . classList . remove ( [ " active" ] ) ;
51- last . classList . remove ( [ " last" ] ) ;
52- next . classList . remove ( [ " next" ] ) ;
50+ active . classList . remove ( ' active' )
51+ last . classList . remove ( ' last' )
52+ next . classList . remove ( ' next' )
5353
54- if ( type === " prev" ) {
55- active . classList . add ( " next" ) ;
56- last . classList . add ( " active" ) ;
57- next = last . previousElementSibling ;
54+ if ( type === ' prev' ) {
55+ active . classList . add ( ' next' )
56+ last . classList . add ( ' active' )
57+ next = last . previousElementSibling
5858if ( ! next ) {
59- next = container . lastElementChild ;
59+ next = container . lastElementChild
6060}
61- next . classList . remove ( [ " next" ] ) ;
62- next . classList . add ( " last" ) ;
63- return ;
61+ next . classList . remove ( ' next' )
62+ next . classList . add ( ' last' )
63+ return
6464}
65- active . classList . add ( " last" ) ;
66- last . classList . add ( " next" ) ;
67- next . classList . add ( " active" ) ;
68- } ;
69- nextBtn . addEventListener ( " click" , ( ) => {
70- startSlider ( ) ;
71- } ) ;
72- prevBtn . addEventListener ( " click" , ( ) => {
73- startSlider ( " prev" ) ;
74- } ) ;
65+ active . classList . add ( ' last' )
66+ last . classList . add ( ' next' )
67+ next . classList . add ( ' active' )
68+ }
69+ nextBtn . addEventListener ( ' click' , ( ) => {
70+ startSlider ( )
71+ } )
72+ prevBtn . addEventListener ( ' click' , ( ) => {
73+ startSlider ( ' prev' )
74+ } )
0 commit comments