表单环境中,在其中一个报表块的初始化代码中加入了下面的代码,实现了,当用户点击的时候,当前行会变色。现在的情况是,我在表单中的四个报表块都加上去了,就出错了,出现换行点不会消失那个色,还有如果报表块是动态参数出来的话,代码无效。
请问该如何改?
- setTimeout(function(){
- var background_color = "#0b1f2c";
- var frozen_back_color = new Array();
- var back_color = new Array();
- var $last_tr;
- var i = 0;
- $(".x-table tr").bind("mousedown", function () {
- if (typeof($last_tr) != "undefined") {
- if (typeof($(this).attr("id")) != "undefined") {
- if (typeof($("#content-container #frozen-west").attr("id")) != "undefined") {
- $("#content-container #" + $last_tr.attr("id")).each(function () {
- $(this).children("td").each(function () {
- $(this).css("background-color", frozen_back_color[i][$(this).index()]);
- });
- i = i + 1;
- });
- i = 0;
- }
- else {
- $last_tr.children("td").each(function () {
- $(this).css("background-color", back_color[$(this).index()]);
- });
- }
- frozen_back_color = [];
- back_color = [];
- }
- }
- if (typeof($(this).attr("id")) != "undefined") {
- if (typeof($("#content-container #frozen-west").attr("id")) != "undefined") {
- $("#content-container #" + $(this).attr("id")).each(function () {
- frozen_back_color[i] = new Array();
- $(this).children("td").each(function () {
- frozen_back_color[i][$(this).index()] = $(this).css("background-color");
- $(this).css("background-color", background_color);
- });
- i = i + 1;
- });
- i = 0;
- }
- else {
- $(this).children("td").each(function () {
- back_color[$(this).index()] = $(this).css("background-color");
- $(this).css("background-color", background_color);
- });
- }
- }
- });
- $(".x-table tr").bind("mouseup", function () {
- if (typeof($(this).attr("id")) != "undefined") {
- $last_tr = $(this);
- }
- });
- },1000);
复制代码
|