Из вашего комментария, я думаю, я понял всю картину, но я думаю, что вы усложнили свой код. Поскольку вы используете jQuery, вы должны использовать accordion вместо того, чтобы скользить вверх / вниз.
DEMO
HTML:
<div id="accordion">
<h3 class="time_period"><a href="#">Morning</a></h3>
<div>
<table>
<tbody class="time_period_rows">
<tr><td> row </td></tr>
<tr><td> row </td></tr>
<tr><td> row </td></tr>
<tr><td> row </td></tr>
<tr><td> row </td></tr>
<tr><td> row </td></tr>
<tr><td> row </td></tr>
</tbody>
</table>
</div>
<h3 class="time_period"><a href="#">Afternoon</a></h3>
<div>
<table>
<tbody class="time_period_rows">
<tr><td> row </td></tr>
<tr><td> row </td></tr>
<tr><td> row </td></tr>
<tr><td> row </td></tr>
<tr><td> row </td></tr>
<tr><td> row </td></tr>
<tr><td> row </td></tr>
</tbody>
</table>
</div>
<h3 class="time_period"><a href="#">Evening</a></h3>
<div>
<table>
<tbody class="time_period_rows">
<tr><td> row </td></tr>
<tr><td> row </td></tr>
<tr><td> row </td></tr>
<tr><td> row </td></tr>
<tr><td> row </td></tr>
<tr><td> row </td></tr>
<tr><td> row </td></tr>
</tbody>
</table>
</div>
</div>
JS:
$(function() {
$("#accordion").accordion();
});