[英]IS it possible to set the width of a td at client side as well as server side?
我在服務器端和客戶端都設置元素的寬度時遇到問題。 在客戶端,css不會覆蓋服務器端應用的css。 我需要做的就是在服務器端將css添加到td,然后客戶端移除舊的css並應用新的css。
這是我的代碼
設計頁面
<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>
服務器端:
tdlblOverRideText.Attributes.Add(“ class”,“ OverRideText”);
客戶端:
$("#tdlblOverRideText").removeClass("OverRideText");
$("#tdlblOverRideText").addClass("OverRideTextHide");
的CSS
td.OverRideText {
font-style:italic;
text-align:right !important;
padding-right:1%;
}
td.OverRideTextHide {
font-style:italic;
text-align:right;
padding-right:10%;
}
由於它是延遲加載,因此我無法使用
ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "text", "jsmethod();", true);
因為這將在第二次加載而不是第一次頁面加載時調用js方法。
//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? 因為在html中以延遲加載方式插入相同的ID是不正確的。 另一個延遲加載技巧(模擬延遲加載)是以10秒的間隔插入具有該類的元素。
現在回到主要問題,您的延遲加載大部分是用ajax執行的,ajax get具有成功事件, 在成功事件中,您可以執行所需的動畫。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.