Решилось вообще каким-то тупорыльным способом.
Может есть лучше решение?
function block_click(){
$(document).off('click', '.bottom_open', open_full_descr);
$(document).off('click', '.good,.bad', add_rating);
$(document).off('click', '.show_error_descr',show_error_descr);
$(document).off('click', hide_error_descr);
open_timer=setTimeout(function(){
$(document).on('click', '.bottom_open', open_full_descr);
$(document).on('click', '.good,.bad', add_rating);
$(document).on('click', '.show_error_descr',show_error_descr);
$(document).on('click', hide_error_descr);
},1000);
}
function hide_error_descr()
{
clearTimeout(open_timer);
block_click();
if($(".error_descr_block").attr("show")=="yes")
{
$(".error_descr_block[show=yes]").slideToggle();
setTimeout(function(){
$(".error_descr_block").attr("show","no");
},100);
}
}
function show_error_descr()
{
clearTimeout(open_timer);
block_click();
$(this).parent().find(".error_descr_block").slideToggle();
if($(this).parent().find(".error_descr_block").attr("show")=="yes")
{
var temp=$(this).parent().find(".error_descr_block")
$(this).parent().find(".error_descr_block").attr("show","no");
}
else
{
var temp=$(this).parent().find(".error_descr_block")
setTimeout(function(){
temp.attr("show","yes");
},100);
}
}