【问题标题】:dynamic div positioning one after another and below动态div依次上下定位
【发布时间】: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,然后查找:

  1. 卡片组
  2. 卡片评论cmets
  3. 项目编号 1 cmets
  4. item no1 comment cmets
  5. item no2 cmets,,,, 等等

然后将项目添加到DOM,计算每个评论高度然后计算所有位置..

但也许有更好的方法来实现这一点...... 我不在乎 IE 浏览器 :)

服务器端是node.js,

【问题讨论】:

  • 有什么原因你不能要么A)把所有的cmets包装到一个容器中,从数据库中依次吐出,得到这个效果,要么B)使用无序列表.就子 cmets 而言,您应该在 DB 中建立关系以了解是否存在子 cmets。当您将它们吐回时,如果您选择使用B) 的方法,您可以简单地将一个新的无序列表附加到该 LI 元素并使用 CSS 告诉它定位的位置。您的方法似乎过于复杂且不合时宜。 2cp。

标签: jquery css


【解决方案1】:

答案就在这里。 http://jsfiddle.net/63es7/ 我无法在 jsfiddle 上添加 jsplumb 连接。我在 div 上添加了碰撞检测。不是一个很好的解决方案,但我正在努力:)

【讨论】:

    猜你喜欢
    • 2023-04-01
    • 2013-01-03
    • 2013-08-28
    • 2014-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多