JS实现决策报表中滚屏/跑马灯效果滚动条不消失且无法滚动

参考了帆软文档 “JS实现决策报表中滚屏/跑马灯效果”,但是出现了两个问题:

一是滚动条没有消失,二是并没有滚屏/跑马灯效果

请问哪里出错了

JS代码如下:

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

 setTimeout(function() {        //隐藏报表块左下滚动_c的滚动条(此报表块名为左下滚动_c,根据具体情况修改)     $("div[widgetname=左下滚动_c]").find(".frozen-north").css({         'overflow-x':'hidden',         'overflow-y':'hidden'     });     $("div[widgetname=左下滚动_c]").find(".frozen-center").css({         'overflow-x':'hidden',         'overflow-y':'hidden'     });   },1000); window.flag1 = true; var self1 = this; //鼠标悬停,滚动停止 setTimeout(function() { $("div[widgetname=左下滚动_c]").find(".frozen-center").mouseover(function() { window.flag1 = false; }); //鼠标离开,继续滚动 $("div[widgetname=左下滚动_c]").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=左下滚动_c]").find(".frozen-center")[0].scrollTop; if (currentpos1 == old && 0!=currentpos1) { $("div[widgetname=左下滚动_c]").find(".frozen-center")[0].scrollTop = 0; } else { old = currentpos1; //以25ms的速度每次滚动1.5PX $("div[widgetname=左下滚动_c]").find(".frozen-center")[0].scrollTop = currentpos1 + 1.5; } } }, 25); }, 1000); 

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

image.pngimage.png

源文件:

决策报表.frm

yzm102242 发布于 2021-9-1 13:20 (编辑于 2021-9-1 13:28)
1min目标场景问卷 立即参与
回答问题
悬赏:4 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
snrtuemcLv8专家互助
发布于2021-9-1 13:29

把你的代码中

左下滚动_c

小写的c改成大写C就可以了

左下滚动_C

  • yzm102242 yzm102242(提问者) 果然...但这是什么原理,组件名称明明是小写字母,我直接复制过来的
    2021-09-01 13:32 
  • snrtuemc snrtuemc 回复 yzm102242(提问者) js中,所有组件名需要大写,有时候小写是不识别的
    2021-09-01 13:33 
最佳回答
0
烟尘Lv6高级互助
发布于2021-9-1 13:22(编辑于 2021-9-1 13:23)

注意把REPORT0替换成你报表块的名称

报表块初始化后代码:

setTimeout(function(){  

    $("div[widgetname=REPORT0]").find("#frozen-north")[0].style.overflow="hidden";  

    $("div[widgetname=REPORT0]").find("#frozen-center")[0].style.overflow="hidden";  

    },100);  

    //隐藏报表块report0的滚动条  

window.flag=true;  

setTimeout(function(){     

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

{    

  window.flag=false;    

  })  

  //鼠标悬停,滚动停止  

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

{    

  window.flag=true;    

  })    

  //鼠标离开,继续滚动  

var old=-1;     

var interval=setInterval(function()    

{  

if(window.flag){  

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

   if (currentpos==old){  

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

     }    

   else {    

      old=currentpos;    

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

        }    

      }  

    },100);  

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

},1000) 

  • yzm102242 yzm102242(提问者) 没用,我的JS代码就是把REPORT0替换成了左下滚动_c,不知道是哪里设置错了
    2021-09-01 13:27 
  • 烟尘 烟尘 回复 yzm102242(提问者) 报表块小写换大写,尽量别用中文名称
    2021-09-01 13:31 
  • 3关注人数
  • 777浏览人数
  • 最后回答于:2021-9-1 13:29
    请选择关闭问题的原因
    确定 取消
    返回顶部