帆软跑马灯

定时器区别:

setInterval():执行完会循环
setTimeout():执行完就终止

跑马灯js


```javascript
setInterval(function() {
//隐藏报表块report0_c的滚动条(此报表块名为report0_c,根据具体情况修改)
$("div[widgetname=REPORT1]").find(".frozen-north")[0].style.overflow = "hidden";
$("div[widgetname=REPORT1]").find(".frozen-center")[0].style.overflow = "hidden";
}, 500);

window.flag2 = true;
//鼠标悬停,滚动停止 
setTimeout(function() {
//获取报表块名称,设置鼠标滑过事件
$("div[widgetname=REPORT1]").find(".frozen-center").mouseover(function() {
window.flag2 = false;
});

//鼠标离开,报表块继续滚动 
$("div[widgetname=REPORT1]").find(".frozen-center").mouseleave(function() {
window.flag2 = true;
});

var old = -1;
var interval = setInterval(function() {
if(window.flag2) {

currentpos2 = $("div[widgetname=REPORT1]").find(".frozen-center")[0].scrollTop;
if(currentpos2 == old) {
$("div[widgetname=REPORT1]").find(".frozen-center")[0].scrollTop = 0;
} else {
old = currentpos2;
//以25ms的速度每次滚动1.5PX 
$("div[widgetname=REPORT1]").find(".frozen-center")[0].scrollTop = currentpos2 + 1.5;
}
}
}, 25);
}, 1000);//1000是加载完成1000ms后开始执行跑马灯效果



```javascript
setTimeout(function() {
var $report = $(“div[widgetname=REPORT1_C]”);
//获取对应report的div元素
var $scroll = $report.find("#frozen-center");
//获取对应report的div元素的滚动块元素,冻结为#frozen-center,未冻结且未安装自定义滚动条插件为.reportContent,未冻结且安装了自定义滚动条插件为.scrollDiv
var flag = window.flag2;
//设置全局变量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.5;
//若未到达底部,则向下移动1.5像素
}
}
}, 25);
//以25ms的频率执行
}, 500);
————————————————
版权声明:本文为CSDN博主「猫气」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/WDengmei/article/details/110539355
注意:报表块刷新要设置为定期刷新,定时刷新只能实现刷新一次!!!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值