立即申请指示

时间:2014-02-04 16:36:23

标签: javascript css jquery-mobile optimization

在按钮单击处理程序上,我通过更改按钮的类来更改此按钮的外观。 就在那之后,我刷了一个包含数千件物品的清单,这需要一点时间(大约半秒钟)

我的问题是由于后面的漫长过程,按钮的外观不会立即更改。 (如果我删除后面的过程,则立即进行更改)

那么,是否有一种方法可以在完成其余功能之前强制执行第一条指令(更改按钮的外观)。

      this.stopLoading = function (){
         this.isLoading = false;
       this.updateButtonLoading();
         this.updateObservers();
         this.endUpdate();//if i remove this the aspect of the button is changed immediatly
        }

      this.updateButtonLoading = function(){
        if(oSvdQueryList.curSvdQuery == this){

                 $("#btnLoading").removeClass();
                if (this.isLoading){
                         $("#btnLoading").addClass('stopLoading');
                     $("#btnLoading").bind('click', function (){ oSvdQueryList.curSvdQuery.stopLoading(); });
                }else
                    {
                         $("#btnLoading").addClass('startLoading');
                     $("#btnLoading").bind('click', function (){ oSvdQueryList.curSvdQuery.startLoading(); });

                    }
        }


      this.endUpdate = function(){
      this.fUpdate --;
      if (this.fUpdate == 0 ){

        setTimeout((function(self) {
      return function() { self.displayNewRecords() };
    })(this), 1);

      }
  }
   this.displayNewRecords = function(){      
     if ($.mobile.activePage.is("#DspQry") && oSvdQueryList.curSvdQuery == this ){
         for(var i= this.nbDisplayed; i< this.nbRecords;i++){
             addItem(this,i);
         }
        $("#ListDspQry").listview("refresh");
     } 

   }

function addItem(oSvdQuery,index){
    var html = '<li><a href="javascript:showDetails(' + (index) +')">';
    var oRecord = [];
    for (i=0;i<oSvdQuery.fields.length;i++){
        if ( oSvdQuery.fields[i].hidden !="Y") {
        oField = oSvdQuery.fields[i];
        oRecord= oSvdQuery.allValues[index];
        html = html + oField.name + ' : ' + oRecord[oField.name] + '<br>'; 

        }
    }
    html = html +  '</a></li>';
    $("#ListDspQry").append(html);
    oSvdQuery.nbDisplayed ++;

}

0 个答案:

没有答案