Попробуйте вернуть false.
$("#img1_hover").click(function(){
$("#img1_show").addClass("img1_show_vis");
$("#img_shower_1").addClass("img_shower_vis");
$("#close_btn_1").addClass("img1_show_x_vis");
return false;
});
Одна вещь в вашем коде заключается в том, что у вас есть тег div, который получает щелчки, и я начинаю думать, что div свернут или нет - это то место, где вы ожидали его видеть. Попробуйте добавить границу к элементам div, которые получат щелчок, чтобы визуализировать, где они должны быть.
В Firebug я запустил это:
jQuery("#img1_hover").css("border", "3px solid #f09");
Который показывает схему того, где должен произойти щелчок. Затем я установил для дисплея значение none, чтобы его можно было скрыть.
jQuery("#img1_hover").css("display", "none");
и когда вы видите, что область щелчка больше не существует, и нажатие в той же области ничего не делает. Просто возможно это будет проблемой в IE.