Все ответы в этой теме хороши и будут работать. Но ради этого вот другой подход.
Исходя из вашего кода и вашего вопроса, вы фактически удаляете поведение элемента при наведении на элемент. Что следует сделать, как показано ниже:
$(document).ready(function(){
$('img#slide').animate({"opacity" : .7});
$('img#slide').hover(function(){
$(this).stop().animate({"opacity" : 1});
}, function(){
$(this).stop().animate({"opacity" : .7});
});
$('img#slide').click(function(){
$(this).unbind('hover');
});
});
Что может быть изменено, чтобы позволить переключать поведение новым способом:
$(document).ready(function(){
var over = function(){
$('img#slide').stop().animate({"opacity" : 1});
};
var out = function(){
$('img#slide').stop().animate({"opacity" : 0.7});
};
var on = function(){
$('img#slide').hover(over, out).one('click', off);
}
var off = function(){
$('img#slide').unbind('hover').one('click', on);
};
$("img#slide").one('click', on);
out.call();
});
Примечание: я не проверял это (я на работе), но вы поняли.