0

私は 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);

それは仕事をしますが、まばたきが起こっているのがわかります。また、フェードアウトの前にテキストを変更するため、ユーザーはテキストが変更されたことを確認できます。その後、フェードアウトしてフェードインします。どうすればスムーズにできますか?

ありがとうございました

4

2 に答える 2

1

フェードが終了したら、コールバックを使用します。

また、ノードに何かを適用するたびにノードを検索する必要はありません。チェーンを使用します。

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

delayまた、ある種のワークアウトの場合は s は必要ないかもしれません

$('#<%=lbl_force_to_rate.ClientID %>').fadeOut(100,function(){
   $(this).html("Thank you").val("Thank you").fadeIn(400);
});
于 2013-02-07T13:32:19.320 に答える
0

これを試して:

$('#<%=lbl_force_to_rate.ClientID %>').fadeOut(400, function() { 
    $(this).html("Thank you").fadeIn(400);
});
于 2013-02-07T13:36:41.770 に答える