图表联动,当地图刷新完,滚动条还在,初始化的时候是没有的。

10086.frm

js.txt

图表联动,当地图刷新完,滚动条还在,初始化的时候是没有的。

FineReport 指间沙 发布于 2021-6-24 15:43 (编辑于 2021-6-24 16:22)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
yzm215877Lv3见习互助
发布于2021-7-28 11:19

给图表设置一个事件,初始化后,把TABLE_THREEQY改成你的图表名(有两处地方,要大写)

setTimeout(function() {a();}, 1000);

function a(){

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

    //获取对应report的div元素

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

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

    var flag = window.flag19;

    //设置全局变量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) {

            currentpos = $scroll[0].scrollTop;

            //获取距顶部距离

            if (currentpos == old) {

                $scroll[0].scrollTop = 0;

                //若已到达底部,则重置

            } else {

                old = currentpos;

                $scroll[0].scrollTop = currentpos + 1.0;

                //若未到达底部,则向下移动1.5像素

            }

        }

    }, 120);

    //以25ms的频率执行

}

setTimeout(function(){

var Stopper='TABLE_THREEQY'

var targetNode = $('div[widgetname="'+Stopper+'"]')[0]//监听报表块的div元素

 

var options = { attributes:false,characterData: true, childList: true,subtree:true,attributeOldValue:false,characterDataOldValue:true};

 

function callback(mutationsList, observer) {

a();

}

var mutationObserver = new MutationObserver(callback);

mutationObserver.observe(targetNode, options)

},1000)

最佳回答
0
snrtuemcLv8专家互助
发布于2021-6-24 15:47(编辑于 2021-6-24 16:19)

嵌套一个定时函数

setInterval(function() { 

你原来隐藏滚动条代码

}, 100);

===================

setInterval(function() {

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

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

        'overflow-x':'hidden',

        'overflow-y':'hidden'

    });

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

        'overflow-x':'hidden',

        'overflow-y':'hidden'

    }); 

},1000);

 

window.flag1 = true;

var self1 = this;

//鼠标悬停,滚动停止

setTimeout(function() {

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

        window.flag1 = false;

    }); 

    //鼠标离开,继续滚动

    $("div[widgetname=REPORT0]").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=REPORT0]").find(".frozen-center")[0].scrollTop;

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

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

            } else {

                old = currentpos1;

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

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

            }

        }

    },

    25);

},

1000);

===========================================

  • 指间沙 指间沙(提问者) js已经上传,我看里面有了。。
    2021-06-24 15:51 
  • snrtuemc snrtuemc 回复 指间沙(提问者) 你最外面是延时函数,不是定时函数,改成定时函数试试
    2021-06-24 15:53 
  • 指间沙 指间沙(提问者) 回复 snrtuemc 改了,刷新的时候跑马灯鼠标移到上面的时候不停了。
    2021-06-24 16:00 
  • snrtuemc snrtuemc 回复 指间沙(提问者) 你的代码,不需要直接外面嵌套函数,只要把隐藏滚动条代码的延时函数改成定时函数就可以,看修改答案
    2021-06-24 16:04 
  • 指间沙 指间沙(提问者) 回复 snrtuemc 加了不行。
    2021-06-24 16:16 
  • 3关注人数
  • 540浏览人数
  • 最后回答于:2021-7-28 11:19
    请选择关闭问题的原因
    确定 取消
    返回顶部