决策报表怎么控制报表块的滚动速度呢?

setTimeout(function() {

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

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

        'overflow-x':'hidden',

        'overflow-y':'hidden'

    });

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

        'overflow-x':'hidden',

        'overflow-y':'hidden'

    });

    _g().getWidgetByName('report1').startMarquee()

},1000);

FineReport 呼呼哈哈 发布于 2023-5-17 16:41 (编辑于 2023-5-17 16:47)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
1
旧友Lv5见习互助
发布于2023-5-17 16:46(编辑于 2023-5-18 15:03)

看看,你的js代码,image.png

也可以用这种:

setTimeout(function() {

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

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

        'overflow-x':'hidden',

        'overflow-y':'hidden'

    });

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

        'overflow-x':'hidden',

        'overflow-y':'hidden'

    });

 

},200);

window.flag2 = true;

var self1 = this;

//鼠标悬停,滚动停止

setTimeout(function() {

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

window.flag2 = false;

});

//鼠标离开,继续滚动

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

window.flag2 = true;

});

var old = -1;

var interval = setInterval(function() {

if (!self1.isVisible()) {

return;

}

if (window.flag2) {

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

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

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

} else {

old = currentpos1;

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

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

}

}

},

50);

},

1000);

  • 呼呼哈哈 呼呼哈哈(提问者) 大屏有4个报表块同时滚动
    2023-05-17 16:49 
  • 旧友 旧友 回复 呼呼哈哈(提问者) 你这个直接用这个js吧,你这个js没有加控制滚动时间的代码
    2023-05-17 16:53 
  • 呼呼哈哈 呼呼哈哈(提问者) 回复 旧友 存在一个问题,如果鼠标放到某个报表块,其它报表块也会暂停,怎么做到此报表块暂停,但是其它报表块可以继续滚动呢?
    2023-05-17 17:01 
  • 旧友 旧友 回复 呼呼哈哈(提问者) 有模板吗,我看看
    2023-05-17 17:08 
  • 旧友 旧友 回复 呼呼哈哈(提问者) 你可以看看这个 https://bbs.fanruan.com/wenda/question/45616.html
    2023-05-17 17:14 
最佳回答
0
PILGRIMLv5初级互助
发布于2023-5-17 16:47(编辑于 2023-5-17 16:48)

改成JS控制事件

if(window.interval){clearInterval(window.interval);} //判断之前是否执行过该代码,如果有,就停止之前的执行

setTimeout(function() {

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

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

        'overflow-x':'hidden',

        'overflow-y':'hidden'

    });

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

        'overflow-x':'hidden',

        'overflow-y':'hidden'

    });

 

},1000);

 

window.flag1 = true;

var self1 = this;

//鼠标悬停,滚动停止

setTimeout(function() {

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

        window.flag1 = false;

    });

 

    //鼠标离开,继续滚动

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

        window.flag1 = true;

    });

 

    var old = -1;

    window.interval = setInterval(function() {

        if (!self1.isVisible()) {

            return;

        }

        if (window.flag1) {

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

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

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

            } else {

                old = currentpos1;

                //以300ms的速度每次滚动2PX

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

            }

        }

    },

    300);

},

1000);

//标红字体修改越大,滚动速度越快

  • 呼呼哈哈 呼呼哈哈(提问者) 存在一个问题,如果鼠标放到某个报表块,其它报表块也会暂停,怎么做到此报表块暂停,但是其它报表块可以继续滚动呢?
    2023-05-17 17:02 
最佳回答
0
YmengLv5中级互助
发布于2023-5-17 17:03

image.png

_g().getWidgetByName('report1').startMarquee({

offset:2,

interval:0.3

});

改这两个值影响速度

  • 4关注人数
  • 389浏览人数
  • 最后回答于:2023-5-18 15:03
    请选择关闭问题的原因
    确定 取消
    返回顶部