Fechar automaticamente o alerta de inicialização

Minha necessidade é chamar o alerta quando eu clicar no botão Adicionar à lista de desejos e deve desaparecer o alerta em 2 segundos. Foi assim que tentei, mas o alerta desapareceu instantaneamente assim que apareceu. Não tenho certeza, onde está o erro .. Alguém pode me ajudar?

Script JS

  $(document).ready (function(){
            $("#success-alert").hide();
            $("#myWish").click(function showAlert() {
                $("#success-alert").alert();
                window.setTimeout(function () { 
                            $("#success-alert").alert('close'); }, 2000);               
                  });       
                    });

Código HTML:

<div class="product-options">
    <a  id="myWish" href=""  class="btn btn-mini" >Add to Wishlist </a>
    <a  href="#" class="btn btn-mini"> Purchase </a>
</div>

Caixa de alerta:

<div class="alert alert-success" id="success-alert">
    <button type="button" class="close" data-dismiss="alert">x</button>
    <strong>Success! </strong>
    Product have added to your wishlist.
</div>

questionAnswers(7)

yourAnswerToTheQuestion