js隐藏滚动条,全屏和半屏切换或是数据刷新,总会有一个把已经隐藏掉的滚动条再次显示出来,请怎么解决?

全屏和半屏切换时滚动条是隐藏的,但时只要数据一刷新滚动条就会出来;

或者实现了数据刷新后滚动条隐藏了,但是只要全屏和半屏切换就会又出现滚动条

FineReport xxx8958 发布于 2021-8-27 11:30
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
1
luojian0323Lv7资深互助
发布于2021-8-27 15:45(编辑于 2021-8-31 15:44)

把setTimeout()

改成setInterval()

-----------------------------------------------------------

setInterval(function() {     //隐藏报表块REPORT0的滚动条     $("div[widgetname=REPORT0]").find(".frozen-north")[0].style.overflow = "hidden";     $("div[widgetname=REPORT0]").find(".frozen-center")[0].style.overflow = "hidden"; }, 1000); window.flag2 = true; //鼠标悬停,滚动停止   setTimeout(function() {     $("div[widgetname=REPORT0]").find(".frozen-center").mouseover(function() {         window.flag2 = false;     });     //鼠标离开,继续滚动       $("div[widgetname=REPORT0]").find(".frozen-center").mouseleave(function() {         window.flag2 = true;     });     var old = -1;     var interval = setInterval(function() {         if(window.flag2) {             currentpos2 = $("div[widgetname=REPORT0]").find(".frozen-center")[0].scrollTop;             if(currentpos2 == old) {                 $("div[widgetname=REPORT0]").find(".frozen-center")[0].scrollTop = 0;             } else {                 old = currentpos2;                 //以25ms的速度每次滚动1.5PX                   $("div[widgetname=REPORT0]").find(".frozen-center")[0].scrollTop = currentpos2 + 1.5;             }         }     }, 25); }, 1000)

  • xxx8958 xxx8958(提问者) 这回出现新的问题,就是数据刷新后,报表数据还会滚动,但是鼠标悬停实现不了了
    2021-08-31 14:38 
  • luojian0323 luojian0323 回复 xxx8958(提问者) 还带你这么玩的?你问的问题是怎么把滚动条刷新后隐藏,我回答的实现了呀 你这个是新的问题。
    2021-08-31 15:09 
  • xxx8958 xxx8958(提问者) 回复 luojian0323 答案点击采纳了,因为不知道怎么再添加问题然后让你看到解答,所以就直接额外请教了。 一旦数据刷新后,鼠标悬停的效果就消失了,这个又没啥好的方法?。。。
    2021-08-31 15:30 
  • luojian0323 luojian0323 回复 xxx8958(提问者) 把你的代码贴上来。我的完整代码我也贴上来。你对照一下
    2021-08-31 15:44 
  • xxx8958 xxx8958(提问者) 回复 luojian0323 setInterval(function() { //隐藏报表块report9的滚动条 $(\"div[widgetname=REPORT9]\").find(\".frozen-north\").css({ \'overflow-x\':\'hidden\', \'overflow-y\':\'hidden\' }); $(\"div[widgetname=REPORT9]\").find(\".frozen-center\").css({ \'overflow-x\':\'hidden\', \'overflow-y\':\'hidden\' }); },1000); window.flag1 = true; var self1 = this; //鼠标悬停,滚动停止 setTimeout(function() { $(\"div[widgetname=REPORT9]\").find(\".frozen-center\").mouseover(function() { window.flag1 = false;}); //鼠标离开,继续滚动 $(\"div[widgetname=REPORT9]\").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=REPORT9]\").find(\".frozen-center\")[0].scrollTop; if (currentpos1 == old && 0!=currentpos1) { $(\"div[widgetname=REPORT9]\").find(\".frozen-center\")[0].scrollTop = 0; } else { old = currentpos1; //以25ms的速度每次滚动1.5PX $(\"div[widgetname=REPORT9]\").find(\".frozen-center\")[0].scrollTop = currentpos1 + 1.5; } } }, 100); }, 1000);
    2021-08-31 15:56 
最佳回答
0
snrtuemcLv8专家互助
发布于2021-8-27 15:48

全屏后防止滚动条出现,在外面套一个函数

window.onresize = function() {

你原来的代码

}

  • 3关注人数
  • 472浏览人数
  • 最后回答于:2021-8-31 15:44
    请选择关闭问题的原因
    确定 取消
    返回顶部