Using :visible with toggle() vs. toggle('slow')

When I execute the following script with toggle(), the visible works fine in both FF and IE8 so the label on teh button changes accordingly. When I use toggle(‘slow’) or slideToggle(‘slow’), the visible doesn’t work so the label never changes, it always resolves to visible = true. Does visible not work with the transitions toggles?

$(‘#showButton’).click(function()
{
// $(‘h2’).toggle (‘slow’);
$(‘h2’).toggle ();

if ($('h2').is (':visible'))
{
	$(this).val ('Hide');
}
else
{
	$(this).val ('Show');
}

});