1- //script.js
21const cardsPerPage = 3 ;
32const dataContainer = document . querySelector ( '.card-container' ) ;
43const pagination = document . getElementById ( 'pagination' ) ;
@@ -22,10 +21,14 @@ function updatePagination() {
2221 pageNumbers . textContent = `Page ${ currentPage } of ${ totalPages } ` ;
2322 prevButton . disabled = currentPage === 1 ;
2423 nextButton . disabled = currentPage === totalPages ;
24+
25+ // Remove a classe 'active' de todos os elementos da página
2526 pageLinks . forEach ( ( link ) => {
26- const page = parseInt ( link . dataset . page ) ;
27- link . classList . toggle ( 'active' , page === currentPage ) ;
27+ link . classList . remove ( 'active' ) ;
2828 } ) ;
29+
30+ // Adiciona a classe 'active' ao link da página atual
31+ pageLinks [ currentPage - 1 ] . classList . add ( 'active' ) ;
2932}
3033
3134prevButton . addEventListener ( 'click' , ( ) => {
@@ -36,11 +39,15 @@ nextButton.addEventListener('click', () => {
3639 currentPage < totalPages && displayPage ( ++ currentPage ) && updatePagination ( ) ;
3740} ) ;
3841
39- pageLinks . forEach ( ( link ) => {
42+ pageLinks . forEach ( ( link , index ) => {
4043 link . addEventListener ( 'click' , ( e ) => {
4144 e . preventDefault ( ) ;
42- const page = parseInt ( link . dataset . page ) ;
43- page !== currentPage && displayPage ( page ) && updatePagination ( ) ;
45+ const page = index + 1 ;
46+ if ( page !== currentPage ) {
47+ displayPage ( page ) ;
48+ currentPage = page ;
49+ updatePagination ( ) ;
50+ }
4451 } ) ;
4552} ) ;
4653
@@ -55,26 +62,12 @@ function expandImage(card) {
5562cards . forEach ( ( card ) => {
5663 card . addEventListener ( 'click' , ( ) => {
5764 expandImage ( card ) ;
58- } ) ;
5965
60- // Adiciona um evento de clique para cada botão "Ver Mais"
61- card . querySelector ( '.btn-more' ) . addEventListener ( 'click' , ( ) => {
62- const shortDescription = card . querySelector ( '.short-description' ) ;
63- const fullDescription = card . querySelector ( '.full-description' ) ;
64-
65- // Alternar a visibilidade dos parágrafos
66- shortDescription . classList . add ( 'hidden' ) ;
67- fullDescription . classList . remove ( 'hidden' ) ;
68- } ) ;
69- } ) ;
70-
71- displayPage ( currentPage ) ;
72- updatePagination ( ) ;
73- //script.js
74-
75- cards . forEach ( ( card ) => {
76- card . addEventListener ( 'click' , ( ) => {
77- expandImage ( card ) ;
66+ // Adiciona temporizador para fechar a imagem após 10 segundos
67+ setTimeout ( ( ) => {
68+ const img = card . querySelector ( 'img' ) ;
69+ img . classList . remove ( 'expanded' ) ;
70+ } , 10000 ) ; // Fechar após 10 segundos
7871 } ) ;
7972
8073 // Adiciona um evento de clique para cada botão "Ver Mais"
@@ -85,3 +78,19 @@ cards.forEach((card) => {
8578 fullDescription . classList . toggle ( 'visible' ) ;
8679 } ) ;
8780} ) ;
81+
82+ // Adicionar a lógica fornecida para destacar a página atual na paginação
83+ function updatePagination ( ) {
84+ // Remove a classe 'active' de todos os links de página
85+ pageLinks . forEach ( ( link ) => {
86+ link . classList . remove ( 'active' ) ;
87+ } ) ;
88+
89+ // Adiciona a classe 'active' ao link da página atual
90+ const currentPageLink = document . querySelector ( `.page-link[data-page="${ currentPage } "]` ) ;
91+ currentPageLink . classList . add ( 'active' ) ;
92+ }
93+
94+ // Inicialize a paginação e a lógica de destaque da página atual
95+ updatePagination ( ) ;
96+ displayPage ( currentPage ) ;
0 commit comments