【发布时间】:2012-09-23 04:12:27
【问题描述】:
图片,我想要达到的。
用户可以创建包含内容和项目的卡片。用户还可以评论项目和卡片本身。然后我需要的是显示图片中的 cmets。 我用plumb.js 制作的连接线。我可以用 jQuery 将 Div 放在右边
$('#c' + comment.id).position({ my: "left top", at: "right top", of: $('#'+comment.parent), collision: "none" });
在数据库中,我存储评论父元素 ID。例如:“card item 1” ID 是 i95(i = item,95 是从 db 自动递增)。
问题:
- 我无法确定“用户对第 2 项的评论”CSS 位置。
- 如果一个项目是两个或多个 cmets,那么我如何在评论后发表评论? jQuery position() 属性冲突没有帮助。 (评论互相顶)。 (这是最大的问题)
- 如果评论被评论,那么我需要将评论放在右侧。
我从服务器女巫那里得到的卡片和 cmets 是三个 JS 对象。 (一种是卡片,一种物品和cmets)。首先我抽卡,然后是物品,然后是 cmets。在评论对象中,我有卡 ID、父 ID。在评论对象 cmets 中没有任何顺序。
一个想法是使列表按评论顺序排列。我知道卡片中列出的项目的顺序。然后我可以遍历评论对象并检测当前卡有多少个cmet,然后查找:
- 卡片组
- 卡片评论cmets
- 项目编号 1 cmets
- item no1 comment cmets
- item no2 cmets,,,, 等等
然后将项目添加到DOM,计算每个评论高度然后计算所有位置..
但也许有更好的方法来实现这一点...... 我不在乎 IE 浏览器 :)
服务器端是node.js,
【问题讨论】:
-
有什么原因你不能要么
A)把所有的cmets包装到一个容器中,从数据库中依次吐出,得到这个效果,要么B)使用无序列表.就子 cmets 而言,您应该在 DB 中建立关系以了解是否存在子 cmets。当您将它们吐回时,如果您选择使用B)的方法,您可以简单地将一个新的无序列表附加到该 LI 元素并使用 CSS 告诉它定位的位置。您的方法似乎过于复杂且不合时宜。 2cp。