arquivo javascript não funciona quando ligado a partir de HTML

então eu sinto (e espero) que isso seja bem simples. Eu sou novo em javascript e estou tentando fazer isso funcionar. Quando eu ligo para o meu arquivo .js externo do meu html não funciona. No entanto, ao inserir o código de script diretamente no meu HTML, ele funciona.

Aqui está o arquivo js:

$(document).ready(function(){
  $("#flip").click(function(){
    $("#panel").slideToggle("slow");
  });
});

Este é o arquivo index.html:

<!DOCTYPE html>
<html>
<head>
    <title>slidepanel test</title>
<script type="text/javascript" src="script.js"></script>
<link rel="stylesheet" type="text/css" href="style.css"/>
</head>

<body>


<div id="flip">Click to slide the panel down or up</div>
<div id="panel">Hello world!</div>

</body>
</html>

e este é o CSS:

#panel,#flip
{
padding:5px;
text-align:center;
background-color:#e5eecc;
border:solid 1px #c3c3c3;
}
#panel
{
padding:50px;
display:none;
}

questionAnswers(6)

yourAnswerToTheQuestion