-
datamining_2019 小试身手Lv3
发表于2019-11-1 10:18
悬赏100
已解决
求助在ABI中,富文本要做到鼠标悬停变色的代码应该怎么写?
去网上搜索代码放到文本的代码编辑界面也不匹配(BI工具可以直接设置悬停变色,但ABI应该如何设置呢)
11个回答
var HIGHLIGHT_COLOR = "#48BBD8"; //定义高亮显示的颜色值
var plugin = rptpage.plugin;
if( plugin ){//插件显示方式
//设置某行颜色
function setMouseOverRowHeight(rowIndex){
var f=false;
if (rowIndex && (rowIndex > 0)) {
plugin.doCommand2("setproperty bkcolor type=row;name=" + rowIndex + ";value="+HIGHLIGHT_COLOR);
}
else{
plugin.doCommand2("setproperty bkcolor");//清空背景色
}
}
var _defaultEvent = rptpage.callFromActivex;//插件原始默认执行事件
rptpage.callFromActivex = function(cmd, param) {//重载插件执行事件
var _param;
if ( param && typeof(param)=="string" ) {
_param = new Map(param, "\t");//插件上事件参数都是采用制表符作为分隔符的
}
if ( cmd == "cellmouseover" ) {
var rowIndex = _param.get("row");
setMouseOverRowHeight(rowIndex);
}
_defaultEvent(cmd, param);
return;
}
}
else{//纯Web显示方式
var cancelHighlightFunc = function(evt){
if( window.lastSelCells ){
try{
for(var i=0;i<window.lastSelCells.length;i++ ){
window.lastSelCells.style.backgroundColor = "";
}
}catch(e){}
}
}
var highlightFunc = function(evt){
try{
cancelHighlightFunc();//先取消上次高亮的行颜色显示。
var rptTable = document.getElementById(rptName);
var evt = evt||window.event;
if( (isie && evt.button == 1) || (!isie && evt.button == 0) )
return;//鼠标左键按下时不高亮,让给框选动作
var objTd=evt.srcElement||evt.target;
if( !objTd ) return;
var objTr= null;
if( objTd.tagName == 'TR' )
objTr = objTd;
else
objTr = objTd.parentElement;
if( objTr && objTr.tagName!='TR' )
objTr=objTr.parentElement;
if( objTr && objTr.tagName!='TR' )
objTr=objTr.parentElement;
if( objTr.tagName=='TR' ){
var td = objTr.children.length>0?objTr.children[0]:null;
if( td &&!td.getAttribute("cn") || !td.getAttribute("ct") )
return;//检测鼠标所在行是不是数据表所在表格。数据表的表元都有cn和ct属性。不是则不高亮
var rowIndex=objTr.rowIndex;
var cells = rptTable.rows[rowIndex].cells;
if( !cells ) return;
for(var i=0;i<cells.length;i++ ){
cells.style.backgroundColor = HIGHLIGHT_COLOR;
}
window.lastSelCells = cells;//记下当前高亮的行表元
}
}catch(e){}
}
//注册表格鼠标移动事件,鼠标悬停在某一行上时,该行高亮色显示。
addEvent(document.body,"mousemove",highlightFunc,false);
}
看对不对
-
datamining_2019 小试身手Lv3
一笑伊人 发表于 2019-11-1 10:28
var HIGHLIGHT_COLOR = "#48BBD8"; //定义高亮显示的颜色值
var plugin = rptpage.plugin;
if( plugin ){ ...
这个代码要放在富文件插件的哪里呢?
看起来有点像是表格? 富文本可以应用到吗?
本帖最后由 一笑伊人 于 2019-11-1 10:44 编辑
datamining_2019 发表于 2019-11-1 10:33
这个代码要放在富文件插件的哪里呢?
看起来有点像是表格? 富文本可以应用到吗? ...
是报表模板吗 还是酷屏?
脚本写出来了吗~ 要不您这边具体描述一下您的需求,是富文本鼠标悬停文本底色变色还是文字变色,尽量描述的详细,看能不能找同事帮您写一下
-
datamining_2019 小试身手Lv3
写出来啦。直接在代码态那边加个css,用span:hover,指定容器就可以了。谢谢