使用tab页后定时刷新后不不能滚动

大家有没有遇到在制作驾驶舱的时候,使用tab页面后,在对tab页签内的报表块使用定时刷新插件后,在使用js去除滚动条后;在定时刷新插件运行一次后,js向上滚动就不起作用了。

FineReport 理赔员 发布于 2021-11-12 10:09
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
理赔员Lv6见习互助
发布于2021-11-15 15:57

setTimeout(function() {

    var $report = $("div[widgetname=REPORT110]");

    //获取对应report的div元素

    var $scroll = $report.find("#frozen-center");

    //获取对应report的div元素的滚动块元素,冻结为#frozen-center,未冻结且未安装自定义滚动条插件为.reportContent,未冻结且安装了自定义滚动条插件为.scrollDiv

    var flag = window.flag3;

    //设置全局变量flag,每个报表块需保证各不相同

    $report.find("#frozen-center").css('overflow-x', 'hidden');

    $report.find("#frozen-center").css('overflow-y', 'hidden');

    $report.find("#frozen-north").css('overflow-x', 'hidden');

    $report.find("#frozen-north").css('overflow-y', 'hidden');

    //冻结情况下隐藏滚动条

    $report.find(".reportContent").css('overflow-y', 'hidden');

    $report.find(".reportContent").css('overflow-x', 'hidden');

    //非冻结情况下隐藏滚动条

    flag = true;

    //定义全局参数flag,用来控制滚动的暂停和继续

    $scroll.mouseover(function() {

        flag = false;

    })

    //鼠标悬浮,滚动停止

    $scroll.mouseleave(function() {

        flag = true;

    })

    //鼠标离开,继续滚动

    var old = -1;

    setInterval(function() {

        if (flag) {

   currentpos1 = $report.find(".frozen-center")[0].scrollTop;

     if (currentpos1 == old && 0 != currentpos1) {

      $report.find(".frozen-center")[0].scrollTop = 0;

     } else {

      old = currentpos1;

      $report.find(".frozen-center")[0].scrollTop = currentpos1 + 1.5;

     }

        }

    }, 200);

    //以25ms的频率执行

}, 500);

最佳回答
0
yzm203528Lv5初级互助
发布于2021-11-12 12:06

可能插件与js冲突了,之前遇到过类似问题。看看滚动效果能否通过其他方式实现~

  • 2关注人数
  • 553浏览人数
  • 最后回答于:2021-11-15 15:57
    请选择关闭问题的原因
    确定 取消
    返回顶部