質問: ページ付けされたリストにアイテムを追加する最良の方法 ページング可能な日付でソートされたアイテムの長いリストがあります。ユーザーがアイテムを追加すると、リストに表示され、強調表示されます。私が抱えている問題は、入力された日付がリストの最終的な場所に影響するということです。ほとんどの場合、プレーンビューの一番上に追加されますが、ユーザーが現在表示しているページとは異なるページになる可能性があります。ユーザーをそのページに移動させるのはより混乱しますか、または、ユーザーが入力した新しいアイテムを表示せずに現在のページを表示し続けるのはより混乱しますか?それとも私が考えていないより良い方法がありますか?
回答: 私の好みは、ソート順の変更がオプションではない場合、要素を追加した場所にリストをスクロールする(またはページを変更してからリストをスクロールする)ことですが、これによりユーザーが離れてしまいます。彼が見ていたページから。それ以外の場合は、ユーザーが何をしているかをユーザーに知らせずに通知するために、ページ下部にページネーションがある場合は、追加された場所にページ番号に速い色のフラッシュが表示される可能性があります。視覚的な例:stackexchangeでメッセージを編集すると、スレッドにリダイレクトされたときに、メッセージにオレンジ色のフラッシュが表示されます。たとえば、項目が結果のページに追加されたときにユーザーが別のページを表示している可能性があるタブ付きのインターフェースで最近うまく機能しました。デフォルトのケースでは、結果のリストに切り替えてスクロールして追加された場所。フェードインして、作成されたことをユーザーに通知します。ただし、ページの切り替えが許可されない場合がありました(アイテムの追加が、追加されたアイテムがユーザーの焦点とは異なるプロセスの一部であったため)、代わりに、ユーザーが背景タブをフラッシュして他のアニメーションが同時に実行されていないので、本能的にアクティビティに注意してください。それによって、彼は彼がしていることから離れることはありません。以下は、jqueryの簡単な例です(colorモジュールによって異なります)。jquery.fn.flash = function(options_){ var options = { backgroundcolor: "#6ab5ff", textcolor: "#ffffff", complete: false, duration: 1000, queue: true }; jquery.extend(options, options_); var obj = $(this).stop(true, true); var params = { queue: options.queue, backgroundcolor: obj.css("background-color"), color: obj.css("color") }; obj .css('background-color', options.backgroundcolor) .css('color', options.textcolor) .animate(params, options.duration, options.complete); }; // usage example $("#page3").flash();