As Steve mentioned, you can use the List module to have an expand and collapse functionality. Also, you can take a look at the blog post by my colleague Stefani, where she's showing how to implement a "Read more" and "Read less" functionality with blog posts:
Is there a way to style the expandable list to have a different image for each title?
[image 1] Title
[image 2] Title
[image 3] Title
Currently, I have one list template set up to have a background arrow for each title; however, I am seeking to add a different image for each title.