如何避免jquery中的闪烁?
我正在将jquery与asp.net webforms一起使用。。。。。我正在使用asp.net pagemethods和jquery 我正在清空一个div,点击锚标签,并用新内容填充它。。。。当我的新数据加载到div时,它会闪烁。。。在jquery中如何避免这种情况? 我能为这个…使用任何效果吗如何避免jquery中的闪烁?,jquery,flicker,Jquery,Flicker,我正在将jquery与asp.net webforms一起使用。。。。。我正在使用asp.net pagemethods和jquery 我正在清空一个div,点击锚标签,并用新内容填充它。。。。当我的新数据加载到div时,它会闪烁。。。在jquery中如何避免这种情况? 我能为这个…使用任何效果吗 <script type="text/javascript"> $(document).ready(function() { getRecordsp
<script type="text/javascript">
$(document).ready(function() {
getRecordspage(1, 5);
$("a.page-numbers").click(function() {
$("#ResultsDiv").empty();
getRecordspage($(this).text(), 5)
});
});
</script>
您应该尝试在循环中首先构建Html,并且只将它附加一次到dom中。这样,您就不会为每个员工重新绘制 编辑:
我将是一个变量,在其中存储每个雇员
插入的空白HTML行。 var allEmployees;
var empLine = $('<div class="resultsdiv">
<br />
<span class="resultName"></span>
<span class="resultfields" style="padding-left:100px;">Category :</span>
<span class="resultfieldvalues"></span>
<br />
<br />
<span id="SalaryBasis" class="resultfields">Salary Basis :</span> <span class="resultfieldvalues"></span>
<span class="resultfields" style="padding-left:25px;">Salary :</span>
<span class="resultfieldvalues">' + employee.FixedSalary + '</span>
<span style="font-size:110%;font-weight:bolder;padding-left:25px;">Address </span>
<span class="resultfieldvalues"></span>
</div>')
var所有员工;
变量empLine=$('
类别:
工资基础:
薪金:
“+employee.FixedSalary+”
地址
')
然后,在循环中,使用jquery选择器和函数将员工的所有数据插入html块的正确位置,并将此行附加到allemplye变量
循环完成后,可以将样式添加到这些行(例如偶数行和奇数行),最后,将保存所有结果的allEMployee变量注入页面。
我认为应该这样做。。。但我不是jquery高手,只是个初学者:)如果这需要一些时间,那么您可能应该显示一个ajax加载程序gif,重要的是显示您的应用程序正在执行某些操作,否则您的用户将在等待时开始四处单击
function getRecordspage(curPage, pagSize) {
$.ajax({
type: "POST",
url: "Default.aspx/GetRecords",
data: "{'currentPage':" + curPage + ",'pagesize':" + pagSize + "}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(jsonObj) {
var strarr = jsonObj.d.split('##');
var jsob = jQuery.parseJSON(strarr[0]);
$.each(jsob.Table, function(i, employee) {
$('<div class="resultsdiv"><br /><span class="resultName">' + employee.Emp_Name + '</span><span class="resultfields" style="padding-left:100px;">Category :</span> <span class="resultfieldvalues">' + employee.Desig_Name + '</span><br /><br /><span id="SalaryBasis" class="resultfields">Salary Basis :</span> <span class="resultfieldvalues">' + employee.SalaryBasis + '</span><span class="resultfields" style="padding-left:25px;">Salary :</span> <span class="resultfieldvalues">' + employee.FixedSalary + '</span><span style="font-size:110%;font-weight:bolder;padding-left:25px;">Address :</span> <span class="resultfieldvalues">' + employee.Address + '</span></div>').appendTo('#ResultsDiv');
});
$(".resultsdiv:even").addClass("resultseven");
$(".resultsdiv").hover(function() {
$(this).addClass("resultshover");
}, function() {
$(this).removeClass("resultshover");
});
}
});
}
var allEmployees;
var empLine = $('<div class="resultsdiv">
<br />
<span class="resultName"></span>
<span class="resultfields" style="padding-left:100px;">Category :</span>
<span class="resultfieldvalues"></span>
<br />
<br />
<span id="SalaryBasis" class="resultfields">Salary Basis :</span> <span class="resultfieldvalues"></span>
<span class="resultfields" style="padding-left:25px;">Salary :</span>
<span class="resultfieldvalues">' + employee.FixedSalary + '</span>
<span style="font-size:110%;font-weight:bolder;padding-left:25px;">Address </span>
<span class="resultfieldvalues"></span>
</div>')