【问题标题】:Storing information in the DOM?在 DOM 中存储信息?
【发布时间】:2010-05-13 00:41:04
【问题描述】:

我正在以电话的形式制作一个小型私人消息应用程序。当时显示十条消息。并且通过隐藏它们来向上/向下滚动消息列表。

以这种方式使用 DOM 存储信息有多糟糕。我这样做的主要目标是减少对数据库的调用。它不会一直拨打新电话,而是只检查是否有新消息到达并广告新消息。

还有什么选择,cookie 有人吗?

谢谢你的时间

编辑:澄清 消息(id、标题、日期、发件人、内容)存储在 ul 列表中,当第一个滚动时,最后一个被隐藏/显示。 当时显示了 10 个元素。

【问题讨论】:

  • 如果你将它存储在 DO 中它不是持久的,那么为什么不将它存储在一个 JavaScript 对象中呢?
  • 那么一个对象可以容纳相对较大的字符串就好了吗?

标签: jquery optimization dom


【解决方案1】:

“使用 DOM 存储信息”是指隐藏元素并稍后显示它们吗?在这种情况下,我认为这很好。如果您可以一次取十个并一次显示一个,则无需一次取一个。

【讨论】:

  • 呃,要明确一点 - 有一个平衡点,少比多好,但你明白了。
  • 当时我获取了大约 20 条消息。虽然打开消息时,内容会移动到新元素
  • 嗯,我不确定你在打开消息时移动到新元素是什么意思——你可能想看看你是否可以使用 CSS 和类来实现大部分你想要的东西(即,隐藏消息的类,显示消息的类和打开的消息的类)。这并不总是可能的,但我一直认为这是最干净的方法。
【解决方案2】:

jquery 有一个store 函数。

【讨论】:

  • 性能值得不便。看起来我需要做很多额外的代码。或者也许我需要阅读更好的例子
【解决方案3】:

您实际上一次显示多少?你的意思是你拿20只显示1?还是 5 个?

我会制作一个带有溢出的DIV:滚动,并让用户上下滚动。或者使用溢出:隐藏并添加一些 JavaScript 以随意上下移动它。然后你只需要在有人超过你拉的东西并且你需要拉更多的时候操作 DOM。

如果您想使用 DOM 来实现,只需更改特定消息的 CSS 以显示:none 以根据需要隐藏内容。除非这些消息很大或者我认为从数据库中提取一堆并根据需要隐藏/显示它们没有问题。

【讨论】:

  • 我显示,10。嗯,你说的溢出,听说过,那里有很多新宝石:) 一直在使用隐藏显示方法。该应用程序将用于基于浏览器的游戏。游戏/网站将使用大量 jQuery。
猜你喜欢
  • 1970-01-01
  • 2023-03-09
  • 2011-08-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-05
  • 2011-09-30
  • 2021-07-26
相关资源
最近更新 更多