Created
July 11, 2022 20:16
-
-
Save MoisesTedeschi/57147bf65f486a2bb326aa1476a40f21 to your computer and use it in GitHub Desktop.
Leia mais ou "read more" usando Javascript puro e acessando várias classes.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!DOCTYPE html> | |
<html lang="en"> | |
<head> | |
<meta charset="UTF-8"> | |
<meta http-equiv="X-UA-Compatible" content="IE=edge"> | |
<meta name="viewport" content="width=device-width, initial-scale=1.0"> | |
<title>Manipulação de DOM</title> | |
</head> | |
<style> | |
.content span { | |
font-size: 13px; | |
cursor: pointer; | |
} | |
.content p { | |
overflow: hidden; | |
height: 0; | |
transition: 1s; | |
} | |
.mostrar { | |
height: 100px !important; | |
} | |
</style> | |
<body> | |
<div class="content"> | |
<h2>1 - Título do Conteúdo <span>Ver mais...</span></h2> | |
<p>Lorem, ipsum dolor sit amet consectetur adipisicing elit. | |
Similique quibusdam blanditiis consequuntur suscipit quam veniam | |
perspiciatis nobis ipsum, nostrum perferendis? Optio maiores est | |
non doloremque eius omnis nesciunt explicabo praesentium. | |
Lorem, ipsum dolor sit amet consectetur adipisicing elit. | |
Similique quibusdam blanditiis consequuntur suscipit quam veniam | |
perspiciatis nobis ipsum, nostrum perferendis? Optio maiores est | |
non doloremque eius omnis nesciunt explicabo praesentium. | |
Lorem, ipsum dolor sit amet consectetur adipisicing elit. | |
Similique quibusdam blanditiis consequuntur suscipit quam veniam | |
perspiciatis nobis ipsum, nostrum perferendis? Optio maiores est | |
non doloremque eius omnis nesciunt explicabo praesentium.</p> | |
</div> | |
<div class="content"> | |
<h2>2 - Título do Conteúdo <span>Ver mais...</span></h2> | |
<p>Lorem, ipsum dolor sit amet consectetur adipisicing elit. | |
Similique quibusdam blanditiis consequuntur suscipit quam veniam | |
perspiciatis nobis ipsum, nostrum perferendis? Optio maiores est | |
non doloremque eius omnis nesciunt explicabo praesentium. | |
Lorem, ipsum dolor sit amet consectetur adipisicing elit. | |
Similique quibusdam blanditiis consequuntur suscipit quam veniam | |
perspiciatis nobis ipsum, nostrum perferendis? Optio maiores est | |
non doloremque eius omnis nesciunt explicabo praesentium. | |
Lorem, ipsum dolor sit amet consectetur adipisicing elit. | |
Similique quibusdam blanditiis consequuntur suscipit quam veniam | |
perspiciatis nobis ipsum, nostrum perferendis? Optio maiores est | |
non doloremque eius omnis nesciunt explicabo praesentium.</p> | |
</div> | |
<div class="content"> | |
<h2>3 - Título do Conteúdo <span>Ver mais...</span></h2> | |
<p>Lorem, ipsum dolor sit amet consectetur adipisicing elit. | |
Similique quibusdam blanditiis consequuntur suscipit quam veniam | |
perspiciatis nobis ipsum, nostrum perferendis? Optio maiores est | |
non doloremque eius omnis nesciunt explicabo praesentium. | |
Lorem, ipsum dolor sit amet consectetur adipisicing elit. | |
Similique quibusdam blanditiis consequuntur suscipit quam veniam | |
perspiciatis nobis ipsum, nostrum perferendis? Optio maiores est | |
non doloremque eius omnis nesciunt explicabo praesentium. | |
Lorem, ipsum dolor sit amet consectetur adipisicing elit. | |
Similique quibusdam blanditiis consequuntur suscipit quam veniam | |
perspiciatis nobis ipsum, nostrum perferendis? Optio maiores est | |
non doloremque eius omnis nesciunt explicabo praesentium.</p> | |
</div> | |
<script> | |
(() => { | |
var span = document.querySelectorAll('.content span'); | |
var content = document.querySelectorAll('.content p'); | |
for( let i = 0; i < span.length; i++ ) { | |
for( let j = i; j < i + 1; j++ ) { | |
span[i].addEventListener('click', () => { | |
if (content[j].classList.contains('mostrar')) { | |
span[i].innerHTML = 'Ver mais...'; | |
content[j].classList.remove('mostrar'); | |
} else { | |
span[i].innerHTML = 'Ver menos...'; | |
content[j].classList.add('mostrar'); | |
} | |
}); | |
}; | |
}; | |
})(); | |
</script> | |
</body> | |
</html> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment