是否可以在客户端和服务器端设置td的宽度?

时间:2015-11-19 13:40:53

标签: javascript jquery html css asp.net

我在服务器端和客户端设置元素的宽度时遇到问题。在客户端,css不会覆盖服务器端应用的css。我需要做的就是在服务器端将tss添加到td,客户端删除旧的css并应用新的css。

这是我的代码

设计页面

--packages

服务器端:

tdlblOverRideText.Attributes.Add(" class"," OverRideText");

客户机侧:

 <td id="tdlblOverRideText" runat="server">
         <asp:Label ID="lblOverRideText" Text="Overridden charges are denoted by green background" runat ="server" Visible ="false" BackColor="#efffff"></asp:Label>    
     </td>

CSS

    $("#tdlblOverRideText").removeClass("OverRideText");
    $("#tdlblOverRideText").addClass("OverRideTextHide");

由于它的延迟加载我无法使用

td.OverRideText {
    font-style:italic;
    text-align:right !important;
    padding-right:1%;   
}
td.OverRideTextHide {
    font-style:italic;
    text-align:right;
    padding-right:10%;   
}

因为这将在第二次加载时调用js方法而不是第一次加载页面。

1 个答案:

答案 0 :(得分:0)

//check from 10 to 10 seconds if you have  you class somwhere on dom
var mytick = setInterval(animationFunction, 1000)


function animationFunction() {
  console.log("tick");
    if ($(".OverRideText").length > 0)
    {
       $(".OverRideText").removeClass("OverRideText").addClass("OverRideTextHide");
      
      //here you can destroy the loop if you want
      //clearTimeout(mytick)
    }
}

var step=0;
 setInterval(function() {
   step++;
  console.log("lazy load");
  $('#wrapper').append('<div class="OverRideText">Text ' + step + '</div>');
}, 1000);
.OverRideText {
    font-style:italic;
    text-align:right !important;
    padding-right:10%;   
}

.OverRideTextHide {
    font-style:italic;
    text-align:right;
    padding-right:50%;   
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>

<div id="wrapper">
  <div class="OverRideText">Text 0</div>
  </div>

我一直在使用javascript间隔执行来检查是否可以找到具有class ='OverRideText'的元素;为什么不id?因为插入延迟加载相同的id在html中是不正确的。另一个延迟加载技巧(模拟延迟加载)是以10秒的间隔插入该类的元素。

现在回到主要问题,你的懒人负载最多用ajax执行,ajax get有成功事件,在成功事件中你可以执行你喜欢的动画。