2014-04-26 4 views
0

J'utilise jquery mobile 1.3.2 pour mon application Phonegap Build. Je voudrais améliorer les performances de l'entrée du curseur: parce que lorsque vous essayez de le faire glisser sur un téléphone, il est très lent, car je fais beaucoup de manipulations de l'interface utilisateur après le déplacement du curseur. En particulier, j'ai besoin de mettre à jour la valeur affichée sur la piste du curseur ($ ("# cursortext")) le plus rapidement possible.améliorer les performances du curseur Jquery Mobile

Aussi, est-il possible de faire tout ce qui est $(document).on("slidestop","#levelrange", function() { asynchrone de sorte que si l'utilisateur peut changer le curseur pendant que cela s'exécute si nécessaire.

Pouvez-vous m'aider à réaliser cela?

Voici ce que j'ai maintenant pour Comme:

HTML:

<input id="levelrange" data-theme="a" type="range" min="0" max="10" value="5" name="userlevel" /> 

JS:

$("div.ui-slider div.ui-slider-track .ui-btn-text").attr('id', 'cursortext'); //for speed, see below 
    $(document).on("change","#levelrange", function() { 
     var newValue = parseInt($('#levelrange').val()); 
     $("#cursortext").text(newValue); //displays the range value on the slider 
     $(document).on("slidestop","#levelrange", function() { 
      setLevelText(newValue); 
      setTimeout(function() { //do the long thing afterwards 
    console.log('avant resetListsModelsOn funfeatureOn '+funfeatureOn);   
       resetListsModelsOn(prodata, funfeatureOn,0); 
       //add images to selects 
       addProImagesInSelect(); 
       addBrandImagesInSelect(); 
       clearInterval(animationFactor); 
       $("#blink").removeClass('active'); 
       clearInterval(animationWeight); 
       $("#weightdata .ui-block-a").removeClass('active'); 
       $("#weightdata #number1").removeClass('active'); 
       $("#number2").removeClass('active'); 
       localStorage.setItem("userLevel", newValue.toString()); 
      }, 9); 
     }); 
    }); 

Répondre

1

J'utilise aussi des curseurs pour la même chose, mais je suis en utilisant jQM 1.4.0 et c'est bien et pas lent. En fait, tout est plus fluide et plus rapide sur les téléphones.

Y a-t-il une raison pour laquelle vous utilisez une ancienne version de jQM?

+0

Merci d'avoir répondu, j'utilise 1.3.2 juste parce que la migration vers 1.4 me semble compliquée, ce qui implique beaucoup de tests par la suite. – Louis

Questions connexes