finereport报表跑马灯滚动问题

我在控件的初始化后,添加了如下代码:

setTimeout(function(){

$('div[widgetname=REPORT_GKQYZS]').find('.reportContent').addClass('repscroll');

}, 1000);

setTimeout(function() {

    //隐藏报表块report32_c的滚动条(此报表块名为report32_c,根据具体情况修改)

    $("div[widgetname=REPORT_GKQYZS]").find(".frozen-north").css({

        'overflow-x':'hidden'

    });

    $("div[widgetname=REPORT_GKQYZS]").find(".frozen-center").css({

        'overflow-x':'hidden'

    });

},1000);

setTimeout(function() {

var a = 'REPORT_GKQYZS'; //获取对应报表块名称

var b = a.toUpperCase(); //防止大小写出现误差,此处自动将名称转成大写

var wid = ($("div[widgetname='" + b + "']").width() - 17) + 'px'; //获取报表块宽度

$("div[widgetname='" + b + "']").css('width', wid); //重置报表块宽度

//var height =  ($("div[widgetname='" + b + "']").height() - 16) + 'px'; 

//获取报表块高度

//$("div[widgetname='" + b + "']").css('height', height); //重置报表块高度

}, 100);

 

window.flag1 = true;

var self1 = this;

//鼠标悬停,滚动停止

setTimeout(function() {

    $("div[widgetname=REPORT_GKQYZS]").find(".frozen-center").mouseover(function() {

        window.flag1 = false;

    });

 

    //鼠标离开,继续滚动

    $("div[widgetname=REPORT_GKQYZS]").find(".frozen-center").mouseleave(function() {

        window.flag1 = true;

    });

 

    var old = -1;

    var interval = setInterval(function() {

        if (!self1.isVisible()) {

            return;

        }

        if (window.flag1) {

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

             console.log("currentpos1  ="+$("div[widgetname=REPORT_GKQYZS]").find(".frozen-center")[0] );

            console.log("currentpos2  ="+currentpos1  );

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

                $("div[widgetname=REPORT_GKQYZS]").find(".frozen-center")[0].scrollTop = 0;

            } else {

                old = currentpos1;

                //以25ms的速度每次滚动1.5PX

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

            }

        }

    },

    25);

},

5000);

setTimeout(function() {

       //隐藏报表块report32_c的滚动条(此报表块名为report32_c,根据具体情况修改)

    $("div[widgetname=REPORT_GKQYZS]").find(".frozen-north").css({

        'overflow-x':'hidden',

        'overflow-y':'hidden'

    });

    $("div[widgetname=REPORT_GKQYZS]").find(".frozen-center").css({

        'overflow-x':'hidden',

        'overflow-y':'hidden'

    });

 

},1000);

运行时提示   Uncaught TypeError: Cannot read properties of undefined (reading 'scrollTop')定位到  问题出现的位置是

$("div[widgetname=REPORT_GKQYZS]").find(".frozen-center")[0]  这一行,这个是哪里设置的不对造成的呢

FineReport yzm229409 发布于 2023-5-10 16:04
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
snrtuemcLv8专家互助
发布于2023-5-10 16:08

你是什么版本,11版本有集成接口了

跑马灯接口-https://help.fanruan.com/finereport/doc-view-4299.html

最佳回答
0
congerLv6高级互助
发布于2023-5-10 16:41(编辑于 2023-5-10 16:42)

设置滚动条的时候试试 scrollTop()代替scrollTop=xx

获取当前位置:scrollTop()

设置当前位置为50:scrollTop(50)

如果没有其他定制化需求(比如最下面停止几秒之类),可以使用楼上老哥的接口

  • 2关注人数
  • 184浏览人数
  • 最后回答于:2023-5-10 16:42
    请选择关闭问题的原因
    确定 取消
    返回顶部