[ABI 5.1] 文本悬停变色脚本如何写(急)

13824
11

datamining_2019 小试身手Lv3

发表于2019-11-1 10:18

悬赏100

已解决

楼主
本帖最后由 datamining_2019 于 2019-11-1 10:22 编辑

求助在ABI中,富文本要做到鼠标悬停变色的代码应该怎么写?
去网上搜索代码放到文本的代码编辑界面也不匹配(BI工具可以直接设置悬停变色,但ABI应该如何设置呢)

最近看过此主题的会员

tonyzhao

不如相忘

esen_4UIBLD8PRN4M

leiz

hhdtest

txl

wukongsky

pandabuxizao

yangqh

Gardenia

13560327322

13430212034

咏之

迷途小生

keer_

chestnut

小张同学

最佳答案
关贴总结:直接在代码态那边加个css,用span:hover,指定容器就可以了。
11个回答

只看楼主

一笑伊人 小试身手Lv3

发表于2019-11-1 10:28

只看该作者

取消 关注该作者的回复

沙发

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:33

只看该作者

取消 关注该作者的回复

板凳

一笑伊人 发表于 2019-11-1 10:28
var HIGHLIGHT_COLOR = "#48BBD8";   //定义高亮显示的颜色值
var plugin = rptpage.plugin;
if( plugin ){ ...

这个代码要放在富文件插件的哪里呢?

看起来有点像是表格? 富文本可以应用到吗?

一笑伊人 小试身手Lv3

发表于2019-11-1 10:40

只看该作者

取消 关注该作者的回复

地板

本帖最后由 一笑伊人 于 2019-11-1 10:44 编辑

datamining_2019 发表于 2019-11-1 10:33
这个代码要放在富文件插件的哪里呢?

看起来有点像是表格? 富文本可以应用到吗? ...

是报表模板吗 还是酷屏?

datamining_2019 小试身手Lv3

发表于2019-11-1 10:44

只看该作者

取消 关注该作者的回复

5#

一笑伊人 发表于 2019-11-1 10:40
是报表模板吗 还是酷屏?

酷屏,在这个地方要怎么写代码

一笑伊人 小试身手Lv3

发表于2019-11-1 10:55

只看该作者

取消 关注该作者的回复

6#

datamining_2019 发表于 2019-11-1 10:44
酷屏,在这个地方要怎么写代码

这个应该要写js脚本,我这边还真没有现成的,需要自己写

datamining_2019 小试身手Lv3

发表于2019-11-1 10:57

只看该作者

取消 关注该作者的回复

7#

一笑伊人 发表于 2019-11-1 10:55
这个应该要写js脚本,我这边还真没有现成的,需要自己写66.gif

(;′⌒`)伤心

一笑伊人 小试身手Lv3

发表于2019-11-1 17:57

只看该作者

取消 关注该作者的回复

8#

脚本写出来了吗~  要不您这边具体描述一下您的需求,是富文本鼠标悬停文本底色变色还是文字变色,尽量描述的详细,看能不能找同事帮您写一下

datamining_2019 小试身手Lv3

发表于2019-11-4 09:56

只看该作者

取消 关注该作者的回复

9#

写出来啦。直接在代码态那边加个css,用span:hover,指定容器就可以了。谢谢

一笑伊人 小试身手Lv3

发表于2019-11-4 10:21

只看该作者

取消 关注该作者的回复

10#

datamining_2019 发表于 2019-11-4 09:56
写出来啦。直接在代码态那边加个css,用span:hover,指定容器就可以了。谢谢
  ...

好的 厉害!~

小亿 管理员

发表于2019-11-5 15:24

只看该作者

取消 关注该作者的回复

11#

问题是否有得到解决呢?解决之后可以设置最佳答案关帖哟~

上一页12下一页共2页

登录后可回答问题,请登录注册

小时

全天响应

分钟

快速处理问题

工程师强势助力

明星产品
解决方案
联系合作

400咨询:400-0011-866

技术支持QQ:400-0011-866(工作日9:00-18:00)

产品建议邮箱yixin@esensoft.com

关注我们

扫TA学习更多干货

一对一专家交流