javascript - 添加过去或 future 日期的类(class)

标签 javascript class datetime

我对一些派对事件有一个概述(有些是在同一天举行的)。 我需要按当前日期和时间对它们进行排序。 当一个事件完成后,它需要进入旧事件列表。

我认为如何做到这一点是当事件基于当前时间发生在过去或将来时,用 javascript 添加一些类。它需要通过标题或其他属性了解事件的日期和时间。 (这样,当为即将发生的事件列表添加过去的类时,我可以使用 display:none ,并且在旧事件上添加 display:block 。)

即将举行的派对事件: - 在此列出

旧事件: - 在此列出

我搜索了allot,但找不到任何有用的脚本。 也许有人可以帮助我?

最佳答案

你绝对应该看看knockout.js @ http://knockoutjs.com/examples/betterList.html

一旦您知道它是如何工作的,您就会爱上它。

编辑:

更多信息: 您将使用 observableArrays,一旦您修改(例如排序),它就会触发淘汰赛来更改 HTML - 这太棒了,对吧?

编辑2:

堆栈溢出也对淘汰赛有很多支持,因此问题很可能会得到解答!

因此,淘汰赛适用于绑定(bind)到 View 的 View 模型。 在这个 View 模型中,您将有一个 partyList (在我的示例中称为 party),它是一个 observableArray。 View 模型可以格式化如下:

var viewmodel = function(){
    self = this;        
    self.parties = ko.observableArray([{ name: "Halloween", date: "2014/10/31" },{ name: "Christmas", date: "2014/12/25" }]);
    self.sortParties = function(){
        self.sortParties().sort(function(a, b){
            //here comes the sorting logic you want to apply
        }
    });
};

ko.applyBindings(new viewmodel());

HTML 可能是这样的:

<div data-bind="foreach: parties">
    <div data-bind="text: name" />
    <div data-bind="text: date" />
</div>
<button data-bind="click: sort">Sort</button>

此 HTML 首先会为 party 数组中的每个事件呈现两个内部 div(因此在本例中为 2)并显示名称和日期。

如果用户单击该按钮,则会调用排序方法。剔除的好处是,无论数组中的对象的顺序如何,都将在 HTML 中准确表示,而无需执行任何其他操作,然后单击按钮。我提供的代码是您需要的一切(当然包括淘汰脚本)以使其正常工作。

您想添加新队伍吗?没问题,向 View 模型添加一个 add 方法,该方法会将一方添加到各方中,并且它将出现在 HTML 中。

关于javascript - 添加过去或 future 日期的类(class),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26675029/

相关文章:

javascript - 使用默认的 JavaScriptSerializer 将 DateTime 绑定(bind)到挖空 View 模型

sql-server - SQL Server select 语句用于指定日期范围?

c# - 将字符串转换为日期时间的 LINQ 查询

javascript - 如何在 select 语句中使用类名和 ID?

javascript - "=>"函数会丢失上下文吗?

javascript - 由于滚动,响应表内的 Bootstrap 按钮下拉菜单不可见

java - 为什么访问说明符不能用于在 Java 类的方法内部声明的变量?

java - 注释处理器仅在首次运行后处理修改后的类

javascript - 我有错误的 jquery 日期时间选择器改变了我关注 Controller 的时间

第三方库和同名类的 C++ 命名空间问题