应用程序 您有一个项目列表1 到 n 并且您希望用户排名。每个项目都有一个截止日期。项目 1 的截止日期最近,项目 n 的截止日期最晚。您希望用户在项目的到期日期到期之前按照他们想要的排名顺序对项目进行排名/排序。您不希望用户能够在到期日期过后对项目进行排名/排序,但您仍然希望显示所有项目及其排序的排名。
要将到期项目与逾期项目分开,请将它们加载到两个单独的表中。
--到期项目表:顶部表仅包含用户可以通过排序进行排名的到期项目。顺序按降序排列。(排名顺序是下面 jsFiddle 示例中的可见数字)
--过期项目表:底部的表包含用户无法再排序的过期项目。一旦项目过期并进入此表,它就会保留先前保存的排名。该顺序是按项目顺序向上计数的......与到期日顺序升序相同。
示例假设您有一个包含十个项目的列表,您希望用户对其进行排名。在任何项目过期之前,您将只有项目到期表显示如下:http: //jsfiddle.net/jpl1618/DdShg/您列出了 1-10 和到期日升序的项目(到期日未显示) . 屏幕上显示的数字是降序排列的排名。
项目到期表中的排名始终按降序排列,以便用户可以将项目上移至更高的置信度或下移至更低的置信度。排名计数将始终与项目计数匹配,但它们从相反开始。例如,项目 1 将从排名位置 10(顶部)和排名位置 1(底部)的项目 10 开始。
一旦项目过期,底部表格将显示并保存这些过期项目。假设用户对项目进行了分类,保存了它们,其中一半逾期了。您可能会像这样显示表格http://jsfiddle.net/jpl1618/Y4tjJ/请注意,底部表格按顺序包含项目 1 到 5。这是因为底部表格按项目顺序升序对它们进行排序,这与到期日升序相同。另请注意,用户已将项目 4 和 5 排序到 10 和 6 的排名位置。当重新排列项目到期表时,不能再使用这些排名位置。
过期项目示例在这里 jsfiddle.net/jpl1618/Y4tjJ/ 我应该能够将项目 8(在位置 5)上移一个到位置 7,这会将项目 10(在位置 7)下移到位置 5。所以你会有结果:
item 9 => rank 9
item 6 => rank 8
item 8 => rank 7
item 10 => rank 5
item 7 => rank 4
或者我应该能够将项目 8 一直移动到位置 9 的顶部,这会将项目 9、6、10 向下移动一个位置。然后你会有:
item 8 => rank 9
item 9 => rank 8
item 6 => rank 7
item 10 => rank 5
item 7 => rank 4
请注意,无论项目顺序如何,排名顺序都保持相同的降序。
问题如何更改当前的 JS 代码以允许用户对项目到期表中的项目进行排名/排序,该表中包含按降序排列的加载排名位置?在示例中,排名顺序应始终显示 9、8、7、5、4,但项目可以移动到这些位置。
count = 5
countL = 5
L stands for locked
另一个小问题:为什么点击排序时表格行会切换颜色?单击一行时,如何使该行不闪烁为另一种颜色?