Plugin completo para revelar e esconder textos

Mostra se está aberto ou fechado. Revela o clicado e esconde o anterior

by Jairo Fontes

HTML

<div id="toggle">
    <h2>Texto de teste +</h2>
    <p class="esconder">Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.</p>
    
    <h2>Texto de teste +</h2>
    <p class="esconder">Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.</p>

</div>

CSS

body{
    font-family:Arial, Helvetica, sans-serif;
}

#toggle h2{
    color:#3F6797;
    cursor:pointer;
    margin-top:10px;
}

JavaScript

// pluguin toggleText.js
jQuery.fn.toggleText = function (value1, value2) {
    return this.each(function () {
        var $this = $(this),
            text = $this.text();

        if (text.indexOf(value1) > -1)
            $this.text(text.replace(value1, value2));
        else
            $this.text(text.replace(value2, value1));
    });
};

$(document).ready(function() {
    $('#toggle .esconder').css('display', 'none');
                  
    $("#toggle h2").click(function(){
        $(this).toggleText("+", "-").next().toggle('fast').siblings('.esconder:visible').slideToggle('fast').prev().toggleText('+','-');
        return false;
    });
});