133 评论

影丶

//注:调整了下文档中的代码结构,没什么特殊需求的话,只要调整第一行非注释代码(REPORT7)就可以了,仅供参考。
//定义作用对象(此例报表块名为REPORT7,根据具体情况修改)
var obj = "div[widgetname=REPORT7]";
var objx = "#frozen-north";
var objy = "#frozen-center";
//隐藏报表块obj的滚动条
setTimeout(function(){
$(obj).find(objx)[0].style.overflow = "hidden";//横向
$(obj).find(objy)[0].style.overflow = "hidden";//纵向
},100);
//跑马灯效果实现
window.flag = true;
setTimeout(function(){
//鼠标悬停,滚动停止
$(obj).find(objy).mouseover(function(){
window.flag = false;
})
//鼠标离开,继续滚动
$(obj).find(objy).mouseleave(function(){
window.flag = true;
})
var old = -1;
//滚动设置
var interval = setInterval(function(){
if(window.flag){
currentpos=$(obj).find(objy)[0].scrollTop;
if (currentpos == old){
$(obj).find(objy)[0].scrollTop=0;
}
else {
old = currentpos;
//以25ms的速度每次滚动1.5PX
$(obj).find(objy)[0].scrollTop=currentpos+1.5;
}
}
},25);
},5000);

0 2020-06-05 17:46

用户w8240327

请问一个页面多个滚动怎么处理,做了2个,但是只有一个会动,改window.flag也无效

0 2020-06-10 17:33

zyz267167

还有一个跑马灯代码,写在body里面的,可以搜一下
太长了,回复不了

0 2021-04-01 10:50

java1

遇到了同样的问题,请问解决了吗

0 2020-08-14 15:02

yzm499222

setTimeout(function() {
AutoScroll(["REPORT1", "REPORT2", "REPORT3"]); //此处根据实际报表需求添加REPORT块名称
//定义需要跑马灯效果的报表块名字,兼容大小写
}, 9000);
//延时500ms,如果模板加载较慢,需要调大此数字


function AutoScroll(e) {
for (i = 0; i < e.length; i++) {
(function(e, i) {
scroll(e, i);
})(e, i);
}

}

function scroll(e, i) {
var $report = $("div[widgetname=" + e[i].toUpperCase() + "]");
//获取对应report的div元素
var $scroll;
if ($report.find(".frozen-center").length != 0) {
$scroll = $report.find(".frozen-center");
} else if ($report.find(".scrollDiv").length != 0) {
$scroll = $report.find(".scrollDiv");
} else {
$scroll = $report.find(".reportContent");
}
//判断是否冻结以及是否安装自定义滚动条插件
var flag = eval("window.flag" + i);
//设置全局flag,控制悬停
if (interval) {
clearInterval(interval);
}
//清除定时器,避免越滚越快
var interval = eval("window.interval" + i);
$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;
$scroll.mouseover(function() {
flag = false;
})
//鼠标悬浮,滚动停止
$scroll.mouseleave(function() {
flag = true;
})
//鼠标离开,继续滚动
var old = -1;
interval = setInterval(function() {
if (flag) {

0 2023-09-20 16:51