asp.net jquery постепенное исчезновение, плавное изменение текста и постепенное исчезновение

Я использую структуру jquery.raty для создания рейтинговой системы. У меня есть 5 звезд рядом, а рядом со звездами у меня есть ярлык с надписью «Пожалуйста, оцените меня». Когда пользователь нажимает одну из звезд, чтобы оценить, я хочу, чтобы метка исчезала, меняла текст на «Спасибо», а затем метка исчезала. вот код:

$('#<%=lbl_force_to_rate.ClientID %>').fadeOut(100);
$('#<%=lbl_force_to_rate.ClientID %>').delay(400).html("Thank you");
$('#<%=lbl_force_to_rate.ClientID %>').delay(400).val("Thank you");
$('#<%=lbl_force_to_rate.ClientID %>').delay(400).fadeIn(400);

Это делает работу, но я вижу, что происходит мигание. И он меняет текст перед исчезновением, чтобы пользователь мог видеть измененный текст. затем он исчезает и появляется. Как я могу сделать это плавно?

благодарю вас


person Arif Yilmaz    schedule 07.02.2013    source источник


Ответы (2)


Используйте обратный вызов, когда исчезновение закончено.

И не нужно искать узел каждый раз, когда вы что-то на него наносите. Используйте цепочку.

$('#<%=lbl_force_to_rate.ClientID %>').fadeOut(100,function(){
   $(this).delay(400).html("Thank you")
    .delay(400).val("Thank you")
    .delay(400).fadeIn(400);
});

Также вам могут не понадобиться delay, если они будут чем-то вроде тренировок.

$('#<%=lbl_force_to_rate.ClientID %>').fadeOut(100,function(){
   $(this).html("Thank you").val("Thank you").fadeIn(400);
});
person Community    schedule 07.02.2013

Попробуй это:

$('#<%=lbl_force_to_rate.ClientID %>').fadeOut(400, function() { 
    $(this).html("Thank you").fadeIn(400);
});
person Sergio    schedule 07.02.2013