【问题标题】:Reloading or Refreshing JSON and HTML div load order重新加载或刷新 JSON 和 HTML div 加载顺序
【发布时间】:2016-06-17 04:28:56
【问题描述】:

我正在尝试创建一些代码,允许我为我正在构建的智能镜像项目提取和显示股票数据。

我已经让它显示所有信息,但无法更新库存数据。我希望它每 5 秒更新一次信息,但是当我这样做时,它基本上会重复并继续一遍又一遍地输出所有股票,离开页面。

如何在不重新加载整个页面的情况下让它重新加载数据,我怎么知道它正在工作?是否可以添加一个 css 元素,让价格在价格变化时闪烁黄色?

这是我的代码:https://fiddle.jshell.net/Aurum115/2kbpt91z/17/

编辑:澄清第二部分。我基本上还是想保留旧价格并暂时将其与新价格进行比较,如果有变化则快速闪烁黄色文本。

【问题讨论】:

    标签: javascript jquery html css json


    【解决方案1】:

    您遇到的问题是将新的 HTML 附加到现有的 HTML 中。

    要解决您的问题,您需要删除正在更新的 div 的现有内容。您应该在 setInterval(,,, 行之后添加以下代码:

    $("#title").html("");
    $("#livePrice").html("");
    $("#stockTicker").html("");
    $("#livePercent").html("");
    $("#liveData").html("");
    

    不幸的是,每次重新加载时它都会导致“闪烁”。为了减少这种情况,如果您有固定数量的行,您可以将每行标记为 1-X(并对每行中的单元格使用相同的编号),然后只需覆盖每行上每个单元格的内容更新...

    在我看来,如果您不担心股票出现的顺序,您应该使用表格并为与每个股票价格和变化相关的单元格提供 ID(例如,对于 Apple,单元格 ID 可能是: price_NASDAQ:AAPL,change_NASDAQ:AAPL)。然后,您只需使用 $("#price_NASDAQ:AAPL").html(...) 更新价格并使用 $("#change_NASDAQ:AAPL").html(...) 更新更改。

    如果你想要一些事情发生(比如闪光灯),使用 $("#price").css("background-color", "...") 来改变颜色并使用 setInterval(...)稍等片刻再改回颜色...

    【讨论】:

    • 感谢您的帮助!我以前没有创建过表。制作表格是否需要为每个元素(例如价格)设置一个变量?
    • 这里是一个带有解决方案草图的 jsfiddle 页面的链接:fiddle.jshell.net/t6we5xmt/2
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-24
    • 2017-09-14
    相关资源
    最近更新 更多