我使用 Bootstrap 轮播循环浏览一系列 D3 图表和表格,显示特定团队的绩效数据。在一个完整的循环之后,切换团队输入并为新选择的团队重新加载图表。
我遇到的问题是数据可能需要长达 20 秒才能到达客户端。结果,传送带经常在第一张幻灯片可以加载之前循环。
我想我要做的是等待数据可用以首先启动轮播,然后在循环结束时基本上暂停它,一旦新数据加载就重新启动它。为此,我会$('.carousel').carousel({ interval: '10000' })在数据可用时调用。这在初始页面加载时工作正常。但是,在为下一个团队请求数据之前,我需要暂停轮播,但我似乎不知道该怎么做。看起来好像设置$('.carousel').carousel({ interval: false })没有效果。
需要记住的是,我想保留轮播的手动滑动控件和循环之间的“悬停”暂停行为。
任何帮助表示赞赏。
更新(示例代码):
原创技术:
标记:
<div
id="carousel"
class="carousel slide"
data-ride="carousel"
data-interval="30000"
data-pause="hover"
>
<div class="carousel-inner">
<div class="item active">
...
Run Code Online (Sandbox Code Playgroud)
Javascript:
完成一个循环后:
toggleTeams()
Session.set 'loading', true // show loading overlay
Run Code Online (Sandbox Code Playgroud)
每次数据重新加载后:
Session.set 'loading', true // show loading overlay
if ticketSubscriptionHandle.ready() // wait for data to be ready
Session.set 'loading', false // hide loading overlay
drawCharts() // redraw charts
Run Code Online (Sandbox Code Playgroud)
最新技术:
标记:
<div
id="carousel" …Run Code Online (Sandbox Code Playgroud)