JS实现首尾相接的跑马灯

决策报表,跑马灯需要定时刷新的情况,滚动可以实现,但是打开报表之后总要等到setInternal时间跑完之后,才开始滚动,官方给的例子也是这样的,有没有可以解决的方法呀,用的方法链接如下:

https://help.fanruan.com/finereport/doc-view-1746.html?source=4#

FineReport asdfghjklqwert 发布于 2021-2-7 13:28
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
shirokoLv6资深互助
发布于2021-2-7 13:35

image.png

在前面加一句函数立即执行就行了。

--

不过实际上可能会碰到页面还没加载完的情况,其实有延迟才是好的

  • asdfghjklqwert asdfghjklqwert(提问者) 我这边像您这样写还是解决不了,但是根据您的提示改了一下好用了,谢谢哟。 var form = this.options.form; function load(){ form.getWidgetByName(\'report0\').gotoPage(1, \"{}\", true);//刷新报表块,report0为报表块的控件名称 $(\".loading-ec-indicator\").eq(0).remove();//移除刷新加载图片 $(\".text-indicator\").remove();//移除正在加载文字 setTimeout(function() { speed = 50; //滚动速度 var tab = document.getElementById(\"demo\");//外层可视模块 var tab1 = document.getElementById(\"demo1\");//内层滚动内容模块1 var tab2 = document.getElementById(\"demo2\");//内层滚动内容模块2 无缝对接到1后面的内容 tab2.innerHTML = tab1.innerHTML;//克隆demo1为demo2 tab.scrollTop = tab1.offsetHeight; //创建一个滚动函数,当滚动至demo1与demo2交界时,demo跳到最顶端 function Marquee() { if (tab.scrollTop >= tab1.offsetHeight) { tab.scrollTop -= tab2.offsetHeight; } else { tab.scrollTop += 1; } } var MyMar = setInterval(Marquee, speed); }, 1000); } load(); setInterval(function() { load(); }, 50000);
    2021-02-07 14:03 
最佳回答
0
ScyalcireLv7高级互助
发布于2021-2-7 13:31(编辑于 2021-2-7 13:34)

决策报表里面定时刷新,可以不用跑马灯代码里面的刷新JS,打开即可滚动,    每个版块都有定时刷新功能的

image.png

image.png

  • asdfghjklqwert asdfghjklqwert(提问者) 谢谢哟,自动刷新这个之前一直在用,但是发现用插件刷新,数据库被清空之后再插入数据,就不滚动了呢,所以试试这个方法。
    2021-02-07 13:43 
  • 3关注人数
  • 870浏览人数
  • 最后回答于:2021-2-7 13:35
    请选择关闭问题的原因
    确定 取消
    返回顶部