FVS中现在实现了循环提示框,但是鼠标放上去悬停,离开接着循环,这个如何改呢

这个是循环的JS,这个如何改啊

"use document"; var array = [, , , ]; var i = ; const widget = duchamp.getWidgetByName("ttype"); setInterval(() {                widget.setValue(array[i]); duchamp.getWidgetByName("B01_1").refresh({ttype:array[i]}); (array[i] == ){  duchamp.getWidgetByName("SDI").setVisible(); duchamp.getWidgetByName("DWR").setVisible(); duchamp.getWidgetByName("DM").setVisible(); duchamp.getWidgetByName("INDEX").setVisible(); }(array[i] == ){  duchamp.getWidgetByName("SDI").setVisible(); duchamp.getWidgetByName("DWR").setVisible(); duchamp.getWidgetByName("DM").setVisible(); duchamp.getWidgetByName("INDEX").setVisible(); }(array[i] == ){  duchamp.getWidgetByName("SDI").setVisible(); duchamp.getWidgetByName("DWR").setVisible(); duchamp.getWidgetByName("DM").setVisible(); duchamp.getWidgetByName("INDEX").setVisible(); }(array[i] == ){  duchamp.getWidgetByName("SDI").setVisible(); duchamp.getWidgetByName("DWR").setVisible(); duchamp.getWidgetByName("DM").setVisible(); duchamp.getWidgetByName("INDEX").setVisible(); }       i++; (i >= array.length) {           i = ; // }   }, );

image.png

image.png

FineReport 酸菜 发布于 2024-12-6 09:43 (编辑于 2024-12-6 10:09)
1min目标场景问卷 立即参与
回答问题
悬赏:6 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
用户k6280494Lv6资深互助
发布于2024-12-6 09:46(编辑于 2024-12-6 11:03)

鼠标悬浮不显示,还是怎么了

"use document";

var array = [, , , ];

var i = ;

const widget = duchamp.getWidgetByName("ttype");

window.flag = true; //鼠标悬停,滚动停止

$("div[widgetname=REPORT0_1]").on("mouseover", ".frozen-center", function() {

window.flag = false;

});

//鼠标离开,继续滚动

$("div[widgetname=REPORT0_1").on("mouseleave", ".frozen-center", function() {

window.flag = true;

});

setInterval(() {

if (window.flag) {

widget.setValue(array[i]);

duchamp.getWidgetByName("B01_1").refresh({

ttype: array[i]

});

(array[i] == ) {

duchamp.getWidgetByName("SDI").setVisible();

duchamp.getWidgetByName("DWR").setVisible();

duchamp.getWidgetByName("DM").setVisible();

duchamp.getWidgetByName("INDEX").setVisible();

}(array[i] == ) {

duchamp.getWidgetByName("SDI").setVisible();

duchamp.getWidgetByName("DWR").setVisible();

duchamp.getWidgetByName("DM").setVisible();

duchamp.getWidgetByName("INDEX").setVisible();

}(array[i] == ) {

duchamp.getWidgetByName("SDI").setVisible();

duchamp.getWidgetByName("DWR").setVisible();

duchamp.getWidgetByName("DM").setVisible();

duchamp.getWidgetByName("INDEX").setVisible();

}(array[i] == ) {

duchamp.getWidgetByName("SDI").setVisible();

duchamp.getWidgetByName("DWR").setVisible();

duchamp.getWidgetByName("DM").setVisible();

duchamp.getWidgetByName("INDEX").setVisible();

}

i++;

(i >= array.length) {

i = ; // 

}

}

}, );

  • 酸菜 酸菜(提问者) 应该是鼠标放到提示框上就先暂停循环,现在没法让他暂停,鼠标离开接着循环
    2024-12-06 10:51 
  • 用户k6280494 用户k6280494 回复 酸菜(提问者) 参考 https://help.fanruan.com/finereport/doc-view-5479.html
    2024-12-06 10:53 
  • 酸菜 酸菜(提问者) 回复 用户k6280494 不行啊,完全不动弹了,
    2024-12-06 11:20 
  • 酸菜 酸菜(提问者) 回复 用户k6280494 这个是不是制定的鼠标放到的那个报表块,那这样,我让鼠标放到这4个报表块上,让定时刷新参数的那个文本框暂停,是这个逻辑吗?
    2024-12-06 11:22 
  • 用户k6280494 用户k6280494 回复 酸菜(提问者) 要改成你自己的报表块
    2024-12-06 11:23 
最佳回答
0
新用户胖虎是女生Lv2见习互助
发布于2024-12-6 09:51

"use strict";

// 假设这是您想要循环的提示信息数组

var array = ["提示1", "提示2", "提示3", "提示4"];

var i = 0; // 初始索引

var timer; // 定时器变量

const widget = duchamp.getWidgetByName("ttype");

const visibleWidgets = ["SDI", "DWR", "DM", "INDEX"].map(name => duchamp.getWidgetByName(name));

function updateWidget() {

    widget.setValue(array[i]);

    duchamp.getWidgetByName("B01_1").refresh({ ttype: array[i] });

    // 根据array[i]的值设置组件可见性

    if (array[i] === "特定提示") { // 替换"特定提示"为您实际的条件

        visibleWidgets.forEach(w => w.setVisible(true));

    } else {

        visibleWidgets.forEach(w => w.setVisible(false));

    }

    i = (i + 1) % array.length; // 更新索引并确保它循环回到数组的开始

}

// 启动循环提示

function startLoop() {

    timer = setInterval(updateWidget, 2000); // 每2秒更新一次

}

// 暂停循环提示

function pauseLoop() {

    clearInterval(timer);

}

// 监听鼠标事件以控制循环提示的暂停和启动

widget.onmouseenter = pauseLoop;

widget.onmouseleave = startLoop;

// 初始化循环

startLoop();

可以试试不知道行不行

  • 3关注人数
  • 78浏览人数
  • 最后回答于:2024-12-6 11:03
    请选择关闭问题的原因
    确定 取消
    返回顶部