Tu suggerivi di sostituire totalmente la mia funzione con la tua?
Non tutto lo script ma solo quella parte che riguarda il click. Chiaramente $('.container').hide(); dovrai lasciarlo.
Forse non ti funziona perché sullo script che ho postato manca la chiusura della parentesi tonda; sul tuo l'hai riportata in una riga a capo. O forse potrebbe esserci qualche altro problema.

Ad ogni modo ti posto un esempio completo e funzionante da copiaincollare così com'è:
codice:
<!DOCTYPE HTML>
<html>
  <head>
    <title>Esempio</title>
    <meta charset="utf-8">
    <script src="http://code.jquery.com/jquery-latest.min.js"></script>
    <script type="text/javascript">
      $(document).ready(function(){
        $('.container').hide();   
        $( "h2.trigger" ).click(function() {  
          $(this).toggleClass("active")
          .next().slideToggle(500);
        });
      });
    </script>
    <style type="text/css">
      .active{
        background: yellow;
      }
    </style>
  </head>
  <body>
    <h2 class='trigger'><a href='#'>primo</a></h2>
    <div class='container'>contenitore1</div>
    <h2 class='trigger'><a href='#'>due</a></h2>
    <div class='container'>contenitore2</div>
    <h2 class='trigger'><a href='#'>tre</a></h2>
    <div class='container'>contenitore3</div>
  </body>
</html>
Giusto per verificare il funzionamento, ho impostato uno sfondo giallo per la classe .active.