Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何避免jquery中的闪烁?_Jquery_Flicker - Fatal编程技术网

如何避免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

我正在将jquery与asp.net webforms一起使用。。。。。我正在使用asp.net pagemethods和jquery

我正在清空一个div,点击锚标签,并用新内容填充它。。。。当我的新数据加载到div时,它会闪烁。。。在jquery中如何避免这种情况? 我能为这个…使用任何效果吗

<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&nbsp;:</span>&nbsp;
    <span class="resultfieldvalues"></span>
    <br />  
    <br />
    <span id="SalaryBasis" class="resultfields">Salary Basis&nbsp;:</span>&nbsp;<span class="resultfieldvalues"></span>
    <span class="resultfields" style="padding-left:25px;">Salary&nbsp;:</span>&nbsp;
    <span class="resultfieldvalues">' + employee.FixedSalary + '</span>
    <span style="font-size:110%;font-weight:bolder;padding-left:25px;">Address&nbsp;</span>&nbsp;
    <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&nbsp;:</span>&nbsp;<span class="resultfieldvalues">' + employee.Desig_Name + '</span><br /><br /><span id="SalaryBasis" class="resultfields">Salary Basis&nbsp;:</span>&nbsp;<span class="resultfieldvalues">' + employee.SalaryBasis + '</span><span class="resultfields" style="padding-left:25px;">Salary&nbsp;:</span>&nbsp;<span class="resultfieldvalues">' + employee.FixedSalary + '</span><span style="font-size:110%;font-weight:bolder;padding-left:25px;">Address&nbsp;:</span>&nbsp;<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&nbsp;:</span>&nbsp;
    <span class="resultfieldvalues"></span>
    <br />  
    <br />
    <span id="SalaryBasis" class="resultfields">Salary Basis&nbsp;:</span>&nbsp;<span class="resultfieldvalues"></span>
    <span class="resultfields" style="padding-left:25px;">Salary&nbsp;:</span>&nbsp;
    <span class="resultfieldvalues">' + employee.FixedSalary + '</span>
    <span style="font-size:110%;font-weight:bolder;padding-left:25px;">Address&nbsp;</span>&nbsp;
    <span class="resultfieldvalues"></span>
</div>')