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' )
5
5
// if length is 1 hide buttons
6
6
if ( data . length === 1 ) {
7
- nextBtn . style . display = " none" ;
8
- prevBtn . style . display = " none" ;
7
+ nextBtn . style . display = ' none'
8
+ prevBtn . style . display = ' none'
9
9
}
10
10
// if length is 2, add copies of slides
11
- let people = [ ...data ] ;
11
+ let people = [ ...data ]
12
12
if ( data . length === 2 ) {
13
- people = [ ...data , ...data ] ;
13
+ people = [ ...data , ...data ]
14
14
}
15
15
container . innerHTML = people
16
16
. 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'
19
19
if ( slideIndex === 0 ) {
20
- position = " active" ;
20
+ position = ' active'
21
21
}
22
22
if ( slideIndex === people . length - 1 ) {
23
- position = " last" ;
23
+ position = ' last'
24
24
}
25
25
if ( data . length <= 1 ) {
26
- position = " active" ;
26
+ position = ' active'
27
27
}
28
28
return `<article class="slide ${ position } ">
29
29
<img src=${ img } class="img" alt="${ name } "/>
@@ -35,40 +35,40 @@ container.innerHTML = people
35
35
<div class="quote-icon">
36
36
<i class="fas fa-quote-right"></i>
37
37
</div>
38
- </article>` ;
38
+ </article>`
39
39
} )
40
- . join ( "" ) ;
40
+ . join ( '' )
41
41
42
42
const startSlider = ( type ) => {
43
43
// 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
47
47
if ( ! next ) {
48
- next = container . firstElementChild ;
48
+ next = container . firstElementChild
49
49
}
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' )
53
53
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
58
58
if ( ! next ) {
59
- next = container . lastElementChild ;
59
+ next = container . lastElementChild
60
60
}
61
- next . classList . remove ( [ " next" ] ) ;
62
- next . classList . add ( " last" ) ;
63
- return ;
61
+ next . classList . remove ( ' next' )
62
+ next . classList . add ( ' last' )
63
+ return
64
64
}
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