Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 使用jqPlot在隐藏元素上构建图表_Jquery_Jquery Ui_Canvas_Jqplot - Fatal编程技术网

Jquery 使用jqPlot在隐藏元素上构建图表

Jquery 使用jqPlot在隐藏元素上构建图表,jquery,jquery-ui,canvas,jqplot,Jquery,Jquery Ui,Canvas,Jqplot,我有一个使用jQueryUI选项卡的页面。当页面加载时,我启动一个setTimeout,它每100ms发出一个ajax请求,以获取每个选项卡内容的HTML。这个HTML的一部分是jqPlot图表的,以及生成它的脚本 我的问题是,jqPlot脚本似乎不喜欢选项卡2上的元素。。n在尝试构建图表时被隐藏。第一个选项卡上的图表看起来不错,但所有其他选项卡上的图表都无法构建 我可以通过等待在每个选项卡的show事件上调用$.jqplot来解决问题,但是直到显示选项卡时,图表才开始生成,因此在JS生成图表时

我有一个使用jQueryUI选项卡的页面。当页面加载时,我启动一个setTimeout,它每100ms发出一个ajax请求,以获取每个选项卡内容的HTML。这个HTML的一部分是jqPlot图表的
,以及生成它的脚本

我的问题是,jqPlot脚本似乎不喜欢选项卡2上的元素。。n在尝试构建图表时被隐藏。第一个选项卡上的图表看起来不错,但所有其他选项卡上的图表都无法构建

我可以通过等待在每个选项卡的
show
事件上调用
$.jqplot
来解决问题,但是直到显示选项卡时,图表才开始生成,因此在JS生成图表时,用户会经历一个小的延迟

有没有办法让jqPlot在隐藏选项卡时构建这些图表?

一些想法:

  • 将无光div放置在选项卡区域上以隐藏它(绝对位置,z索引9999)
  • 渲染所有图表
  • 图表完全呈现后,运行jquery ui选项卡(隐藏除一个之外的所有呈现图表)
  • 卸下露出卡舌的哑光

  • 生成高度和宽度为零且溢出隐藏的div
  • 在该div中,为每个选项卡放置一个非常大的div
  • 在那些隐藏的div中呈现图表
  • 同时生成jQueryUI选项卡
  • 将渲染图表移动到选项卡中

  • 在每个选项卡中放置一个iframe,并在单独的html页面上呈现图表
  • 这样,无论是否可见,每个iframe都将执行,jqueryui选项卡可以完全异步切换

  • 使用转换将html移离舞台左侧
  • 先渲染图表
  • 图表完全呈现后,运行jquery ui选项卡(隐藏除一个之外的所有呈现图表)
  • 通过移除变换将元素向后移动

  • 使用node.js在服务器端生成jqplot输出
  • 在页面中包含输出
  • 运行jquery选项卡
  • 一些想法:

  • 将无光div放置在选项卡区域上以隐藏它(绝对位置,z索引9999)
  • 渲染所有图表
  • 图表完全呈现后,运行jquery ui选项卡(隐藏除一个之外的所有呈现图表)
  • 卸下露出卡舌的哑光

  • 生成高度和宽度为零且溢出隐藏的div
  • 在该div中,为每个选项卡放置一个非常大的div
  • 在那些隐藏的div中呈现图表
  • 同时生成jQueryUI选项卡
  • 将渲染图表移动到选项卡中

  • 在每个选项卡中放置一个iframe,并在单独的html页面上呈现图表
  • 这样,无论是否可见,每个iframe都将执行,jqueryui选项卡可以完全异步切换

  • 使用转换将html移离舞台左侧
  • 先渲染图表
  • 图表完全呈现后,运行jquery ui选项卡(隐藏除一个之外的所有呈现图表)
  • 通过移除变换将元素向后移动

  • 使用node.js在服务器端生成jqplot输出
  • 在页面中包含输出
  • 运行jquery选项卡

  • 这些都是好主意。我来试试。谢谢事实上,我坚持我的解决方案,接受了短暂的延迟,因为这是插件开发人员建议的方法。这些都是好主意。我来试试。谢谢实际上,我最终还是坚持我的解决方案,接受了短暂的延迟,因为这是插件开发人员建议的方法。只是在下载的文档中找到了
    hiddenPlotsInTabs.html
    ,但没有在网上看到。基本上,他们建议我在我的解决方案中做同样的事情,等待选项卡显示调用jqplot方法。只是在下载的文档中找到了
    hiddenPlotsInTabs.html
    ,但没有在线看到。基本上,他们建议我在我的工作环境中做同样的事情,等待选项卡显示调用jqplot方法。