Artiss Content Reveal allows you to easily hide and reveal WordPress content, whether it's in the sidebar or in a post or page.
Sorry, shortcodes within the hide/show text cannot be processed.
This will probably be if you are generating your output using the shortcode.
However, this is under investigation and, it is hoped, will be fixed in WordPress in the future. When this happens I'll be able to update this plugin to use CDATA and to play nicely with validators.
Check in your Writing settings in Administration that you don't have "WordPress should correct invalidly nested XHTML automatically" ticked, otherwise WordPress may incorrectly attempt to "fix" the output of the plugin.
Using the new URL parameter
acr_state you can re-display your page with all content hidden, revealed or with the plugin switched off. See the instructions for further details.
It has been tested and been found valid from PHP 4 upwards.
Please note, however, that the minimum for WordPress is now PHP 5.2.4. Even though this plugin supports a lower version, I am not coding specifically to achieve this - therefore this minimum may change in the future.