列表记录自动逐条高亮显示

通常我们在浏览网页的时候经常会看到多行热点信息列表数据,会每隔几秒钟在页面上就会顺次高亮显示链接标题的效果。

gif

这种效果在我们的业务系统中也比较常见,比如企业仪表盘中部分区块的列表数据,网格式报表中。

gif

在报表展现的页面中,如何能让所有数据行在指定的时间间隔内自动顺次高亮显示呢?还有如何做到无闪烁刷新页面来改变行的颜色呢?

下面我以设计器下报表实例网格式报表.rpx 为例具体说下实现方法。

1png

这张报表原来有静态的隔行异色的设置,为了更方便看到我们实现的最终效果,这里我删除了原报表中第 5 行的背景色表达式的设置。

在报表展现的页面 showReport.jsp 中增加标签属性 generateCellID=”yes”, 目的是让报表在页面生成的时候每个格子都带有 ID,我们可以通过 ID 来获取到对应的格子来改变格子的样式效果。

2png

在页面中增加 JS 方法。

浏览式报表初次加载的时候我们从数据区的第一行开始改变,当前行的行号也会自动增加,将变化的行号使用 setAttribute 保存,通过 JS 中的 setTimeout()每隔 3 秒钟回调 changeColor(),通过 getAttribute 取到变化的行号,再顺次改变当前行的颜色,当到最后一行后,再从数据区的第一行开始改变颜色。

<script language="javascript">
	var hcolor = "CornflowerBlue";
	function changeColor(){
		var tbl = document.getElementById("report1");
		var currow = tbl.getAttribute( "currow" );

		if( currow != null ) {
			currow = parseInt( currow );
			
            var colLen = tbl.rows[currow].cells.length;
            for( var i = 0; i < colLen; i++ ){
                tbl.rows[currow].cells[i].style.backgroundColor = "white";
				tbl.rows[currow].cells[i].style.color="black"
            }
        }
        else currow = 3;
        currow++;
        if( currow == tbl.rows.length ) currow = 4;
        var cols = tbl.rows[currow].cells.length;
        for( var i = 0; i < cols; i++ ){
            tbl.rows[currow].cells[i].style.backgroundColor = hcolor;
			tbl.rows[currow].cells[i].style.color="white"
        }
        tbl.setAttribute( "currow", currow + "" );
        setTimeout( changeColor, 3000 );
   }
   changeColor();
</script>

通过以上步骤我们就已经实现了列表式报表每隔三秒钟从第一行数据区到最后一行顺次的高亮显示,在页面中可以方便用户避免看错行能更准确的看到列表数据,这样的效果在多区块的页面中也可以有效的引导用户查看。


GIF20200306153210gif
除了上面介绍的这种页面自动高亮显示列表记录的效果外,还有静态的隔行异色的效果,具体实现可以参考文 页面表格怎么实现隔行异色、隔行变色 ;如果不想页面记录自动来高亮显示,还可以参考这篇文 鼠标移入报表时高亮显示所在行 ,实现鼠标指向时数据高亮显示的效果哦!

要在Jupyter中实现高亮显示功能,可以通过安装插件来实现。首先,可以使用Anaconda Prompt打开命令行,并逐条执行以下命令来安装插件: pip install jupyter_contrib_nbextensions pip install jupyter_nbextensions_configurator jupyter contrib nbextension install --user jupyter nbextensions_configurator enable --user \[1\]。 在代码中,可以使用highlight_max()函数来高亮显示最大值,使用highlight_min()函数来高亮显示最小值。例如,可以使用以下代码来高亮显示数据中的最小值: data.style.hide_index()\ .hide_columns(\["机构","ID"\])\ .format(format_dict)\ .format(None,na_rep='--')\ .highlight_min("年龄",color = "green",axis=0)\ .highlight_min(subset = \["属性3","属性4","属性5"\],axis = 1) #axis=1 是按行进行统计 \[2\]。 另外,还可以使用highlight_null()函数来高亮显示空值。例如,可以使用以下代码来高亮显示数据中的空值: data.style.hide_index()\ .hide_columns(\["机构","ID"\])\ .format(format_dict,na_rep='--')\ .highlight_max("年龄",axis=0,props="color:black;background-color:#99ff66")\ .highlight_min(subset = \["属性3","属性4","属性5"\],axis = 1,props='color:black;background-color:#ee7621')\ .highlight_null(props='color:white;background-color:darkblue') \[3\]。 通过安装插件和使用相应的函数,可以在Jupyter中实现所选变量的高亮显示效果。 #### 引用[.reference_title] - *1* [Jupyter变量高亮显示(亲测有效)](https://blog.csdn.net/weixin_43374508/article/details/102994992)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [Jupyter 中的表格样式 高亮设置](https://blog.csdn.net/DD18203614685/article/details/121497475)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值