做好前端功能

用纯JS和jQuery开发
================
- [x] 设计卡片的数据结构
- [x] 封装“显示结果卡片“函数，参数为卡片的数据，调用后能在页面中加入一张结果卡片
- [x] 新建卡片功能，点击按钮，出现新建卡片界面
- [x] 新建卡片中： 时间为当前时间， 标题可编辑【点击“保存后，能变成相应的结果卡】
- [x] 【不管全局用户】输入新人名， 点击新建，建立一个新人，点击删除，删除某个人【点击“保存后，能变成相应的结果卡】
- [x] 点击 他买单checkbox，checkbox变为input并获得焦点，可输入金额（不进行计算），如果失去焦点时内容为空，则还原为checkbox（支持多人买单）【点击“保存后，能变成相应的结果卡】
- [x] 买单input中，金额变动时，会计算金额总数【点击“保存后，能变成相应的结果卡】
- [x] 买单input中，金额变动时，会计算每个人分摊的数量（按1倍率计算）【点击“保存后，能变成相应的结果卡】
- [x] 人数发生新增或减少，会重新计算分摊的数量（如果删除买单人也一样）【点击“保存后，能变成相应的结果卡】
- [x] 【倍率】点击分摊的钱数链接，弹出倍率设置，更改数值时会重新计算金额，回车后或者点击别处，设置层消失【点击“保存后，能变成相应的结果卡】
- [x] 【固定金额】切换到按固定金额计算，更改数值时，会自动计算金额，回车后或者点击别处，设置层消失【点击“保存后，能变成相应的结果卡】
- [x] 点编辑卡片，能将结果状态的卡片变成编辑状态的卡片，并且数据正确，之前的操作也能正确进行【点击“保存后，能变成相应的结果卡】
- [x] 能在保存卡片后，正确地刷新汇总数据
- [x] 能删除卡片，并正确刷新汇总数据
- [x] 能根据新老用户，在编辑/添加卡片的时候，显示不同的按钮样式，并且其他操作都无误

使用knockout.js重构
==============
- [x] 新建卡片功能，点击按钮，出现新建卡片界面
- [x] 新建卡片中： 时间为当前时间， 标题可编辑【点击“保存后，能变成相应的结果卡】
- [x] 【不管全局用户】输入新人名， 点击新建，建立一个新人，点击删除，删除某个人【点击“保存后，能变成相应的结果卡】
- [x] 点击 他买单checkbox，checkbox变为input并获得焦点，可输入金额（不进行计算），如果失去焦点时内容为空，则还原为checkbox（支持多人买单）【点击“保存后，能变成相应的结果卡】
- [x] 买单input中，金额变动时，会计算金额总数【点击“保存后，能变成相应的结果卡】
- [x] 买单input中，金额变动时，会计算每个人分摊的数量（按1倍率计算）【点击“保存后，能变成相应的结果卡】
- [x] 人数发生新增或减少，会重新计算分摊的数量（如果删除买单人也一样）【点击“保存后，能变成相应的结果卡】
- [x] 【倍率】点击分摊的钱数链接，弹出倍率设置，更改数值时会重新计算金额，回车后或者点击别处，设置层消失【点击“保存后，能变成相应的结果卡】
- [x] 【固定金额】切换到按固定金额计算，更改数值时，会自动计算金额，回车后或者点击别处，设置层消失【点击“保存后，能变成相应的结果卡】
- [x] 点编辑卡片，能将结果状态的卡片变成编辑状态的卡片，并且数据正确，之前的操作也能正确进行【点击“保存后，能变成相应的结果卡】
- [x] 能在保存卡片后，正确地刷新汇总数据
- [x] 能删除卡片，并正确刷新汇总数据
- [x] 能根据新老用户，在编辑/添加卡片的时候，显示不同的按钮样式，并且其他操作都无误