点击跳转后,鼠标悬停失效,该如何解决?

var reportarray = ["REPORT0"];

//根据实际情况设置跑马灯报表块的名称,名称大写。

window.fobject = {};

for (i = 0; i < reportarray.length; i++) {

    fobject["flag" + i] = true;

}

 

for (i = 0; i < reportarray.length; i++) {

    $("div[widgetname='" + reportarray[i] + "']").ready(function() {

        //function

        var index = i;

        let part;

        var self = '$("div[widgetname="' + reportarray[i] + ']")';

        var name = reportarray[i];

        console.log(name)

        setTimeout(function() {

            if ($('.scrollDiv').length == 0) 

            //判断是否安装了自定义滚动条插件

            {

 

                if ($("div[widgetname=" + name + "]").find(".frozen-center").length == 1) 

                //没安装,报表块有没有设置冻结

                {

                    part = $("div[widgetname=" + name + "]").find(".frozen-center"); 

                    //设置了冻结时

                    $("div[widgetname=" + name + "]").find(".frozen-north").css("overflow", "hidden");

                    $("div[widgetname=" + name + "]").find(".frozen-north").css("overflow-y", "hidden");

                } else {

                    part = $("div[widgetname=" + name + "]").find(".reportContent"); 

                    //没设置冻结时

                }

            } else {

 

                part = $("div[widgetname=" + name + "]").find(".scrollDiv"); 

                //如果安装了插件,所有元素都是.scrollDiv

            }

            part.css("overflow", "hidden"); //去除滚动条

            part.css("overflow-x", "hidden");

            part.css("overflow-y", "hidden"); //兼容IE的去除滚动条

            part.mouseover(function() {

                fobject["flag" + index] = false;

            });

            //鼠标离开,继续滚动 

            part.mouseleave(function() {

                fobject["flag" + index] = true;

            });

            var old = -1;

            setInterval(function() {

                if (fobject["flag" + index]) {

                    currentpos = part[0].scrollTop;

                    if (currentpos == old) {

                        part[0].scrollTop = 0;

                    } else {

                        old = currentpos;

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

                        part[0].scrollTop = currentpos + 1.5;

                    }

                }

            }, 25);

        }, 300)

    })

}

柒年呀 发布于 2021-8-17 10:16 (编辑于 2021-8-17 11:52)
1min目标场景问卷 立即参与
回答问题
悬赏:4 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共1回答
最佳回答
0
梦想的初衷Lv7初级互助
发布于2021-8-17 10:24

用这个试一下

setTimeout(function() {

       //隐藏报表块report0的滚动条(此报表块名为report0,根据具体情况修改)

    $("div[widgetname=REPORT1]").find(".frozen-north").css({

        'overflow-x':'hidden',

        'overflow-y':'hidden'

    });

    $("div[widgetname=REPORT1]").find(".frozen-center").css({

        'overflow-x':'hidden',

        'overflow-y':'hidden'

    });

 

},1000);

 

window.flag1 = true;

var self1 = this;

//鼠标悬停,滚动停止

setTimeout(function() {

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

        window.flag1 = false;

    });

 

    //鼠标离开,继续滚动

    $("div[widgetname=REPORT1]").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=REPORT1]").find(".frozen-center")[0].scrollTop;

            if (currentpos1 == old && 0!=currentpos1) {

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

            } else {

                old = currentpos1;

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

                $("div[widgetname=REPORT1]").find(".frozen-center")[0].scrollTop = currentpos1 + 1;

            }

        }

    },

    300);

},

1000);

  • 柒年呀 柒年呀(提问者) 这个,跳转后会出现滚动条,悬停还是会失效
    2021-08-17 10:32 
  • 柒年呀 柒年呀(提问者) alert(1); setTimeout(function() { //隐藏报表块report0的滚动条(此报表块名为report0,根据具体情况修改) $(\"div[widgetname=REPORT0]\").find(\".frozen-north\").css({ \'overflow-x\':\'hidden\', \'overflow-y\':\'hidden\' }); $(\"div[widgetname=REPORT0]\").find(\".frozen-center\").css({ \'overflow-x\':\'hidden\', \'overflow-y\':\'hidden\' }); },1000); window.flag1 = true; var self1 = this; //鼠标悬停,滚动停止 setTimeout(function() { $(\"div[widgetname=REPORT0]\").find(\".frozen-center\").mouseover(function() { window.flag1 = false; }); //鼠标离开,继续滚动 $(\"div[widgetname=REPORT0]\").find(\".frozen-center\").mouseleave(function() { window.flag1 = true; }); var old = -1; var interval = setInterval(function() { if (!self1.isVisible()) { return; } setTimeout(function() { //隐藏报表块report0的滚动条(此报表块名为report0,根据具体情况修改) $(\"div[widgetname=REPORT0]\").find(\".frozen-north\").css({ \'overflow-x\':\'hidden\', \'overflow-y\':\'hidden\' }); $(\"div[widgetname=REPORT0]\").find(\".frozen-center\").css({ \'overflow-x\':\'hidden\', \'overflow-y\':\'hidden\' }); },1000); $(\"div[widgetname=REPORT0]\").find(\".frozen-center\").mouseover(function() { window.flag1 = false; }); //鼠标离开,继续滚动 $(\"div[widgetname=REPORT0]\").find(\".frozen-center\").mouseleave(function() { window.flag1 = true; }); if (window.flag1) { currentpos1 = $(\"div[widgetname=REPORT0]\").find(\".frozen-center\")[0].scrollTop; if (currentpos1 == old && 0!=currentpos1) { $(\"div[widgetname=REPORT0]\").find(\".frozen-center\")[0].scrollTop = 0; } else { old = currentpos1; //以25ms的速度每次滚动1.5PX $(\"div[widgetname=REPORT0]\").find(\".frozen-center\")[0].scrollTop = currentpos1 + 1.5; } } }, 25); }, 1000);
    2021-08-17 19:02 
  • 2关注人数
  • 314浏览人数
  • 最后回答于:2021-8-17 11:52
    请选择关闭问题的原因
    确定 取消
    返回顶部