跑马灯悬停效果跑偏

我弄了一个首尾相连的跑马灯,跑马灯在报表块为report3上实现。。。我还有其它报表块,report0,report1,report2....

滚动效果是有,但移到到report3上不能悬停,但移到report2上却会停止,移开又动了,功能跑偏了(如何纠正到report3上实现呢?),代码如下:

window.flag = true;

setTimeout(function(){

//鼠标悬停,滚动停止  

    $(".frozen-center").mouseover(function() {

        window.flag = false;

    });

    //鼠标离开,继续滚动  

    $(".frozen-center").mouseleave(function() {

        window.flag = true;

    });

speed = 50; //滚动速度      

var tab = document.getElementById("demo");//外层可视模块 

var tab1 = document.getElementById("demo1");//内层滚动内容模块1

var tab2 = document.getElementById("demo2");//内层滚动内容模块2 无缝对接到1后面的内容

tab2.innerHTML = tab1.innerHTML;//克隆demo1为demo2

tab.scrollTop = tab1.offsetHeight;

//创建一个滚动函数,当滚动至demo1与demo2交界时,demo跳到最顶端

function Marquee(){

if (window.flag==false) null;

    else if (tab.scrollTop >= tab1.offsetHeight) {

        tab.scrollTop-=tab2.offsetHeight;

    }else{

        tab.scrollTop+=1;

    }

}

var MyMar=setInterval(Marquee,speed);

},1500);

//隐藏头尾空白行

setTimeout(function(){        

document.getElementById("r-1-0").style.height=0;

},100);

补充说明:

不能悬停,是因为没进行重复和冻结设置,设置完后可以了。。。

但出现了另一问题,鼠标放在另一个报表块时,跑马灯也停了。。。

有人可以帮忙看一下代码吗?

在代码里,我试着增加了指定模块代码,增加了悬停就失效了,不增加是可以悬停,但鼠标移到report2报表块上时,就停了,移开又动了。。。

又有新发现,就是report2报表块内容我是点击地图的区域块后会相应显示内容,初始化时显示的是所有数据,此时移到报表块report2、report3时,report3跑马灯都会有悬停效果;问题来了,当我点击地图的区域块显示相应内容后,鼠标再移到report2时,悬停效果就没有了(本该是这样的)。。。。。有点神奇,有点懵圈,大神救命!

setTimeout(function() {

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

        window.flag = false;

    });

    //鼠标离开,继续滚动

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

        window.flag = true;

    });

image.png

chyou 发布于 2022-5-17 23:19 (编辑于 2022-5-18 16:54)
1min目标场景问卷 立即参与
回答问题
悬赏:4 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
axingLv6专家互助
发布于2022-5-18 00:07

这个选择器没选对

image.png

  • chyou chyou(提问者) 我改成了这个代码,可以滚动,但还是不能实现悬停,能具体说明一下吗? setTimeout(function(){ //鼠标悬停,滚动停止 $(\\\"div[widgetname=report3]\\\").find(\\\".frozen-center\\\").mouseover(function() { window.flag = false; }); //鼠标离开,继续滚动 $(\\\"div[widgetname=report3]\\\").find(\\\".frozen-center\\\").mouseleave(function() { window.flag = true; });
    2022-05-18 09:47 
最佳回答
1
chyouLv4见习互助
发布于2022-5-18 21:56

在代码里,我增加了指定模块代码,此前REPORT3我用了小写,结果就造成了上面的问题,改成大写后就正常了,汗

  • 2关注人数
  • 468浏览人数
  • 最后回答于:2022-5-18 21:56
    请选择关闭问题的原因
    确定 取消
    返回顶部