//注:调整了下文档中的代码结构,没什么特殊需求的话,只要调整第一行非注释代码(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
请问一个页面多个滚动怎么处理,做了2个,但是只有一个会动,改window.flag也无效
赞 0 2020-06-10 17:33
还有一个跑马灯代码,写在body里面的,可以搜一下 太长了,回复不了
赞 0 2021-04-01 10:50
遇到了同样的问题,请问解决了吗
赞 0 2020-08-14 15:02
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
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
请问一个页面多个滚动怎么处理,做了2个,但是只有一个会动,改window.flag也无效
赞 0 2020-06-10 17:33
还有一个跑马灯代码,写在body里面的,可以搜一下
太长了,回复不了
赞 0 2021-04-01 10:50
遇到了同样的问题,请问解决了吗
赞 0 2020-08-14 15:02
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