Я использую jQuery mobile 1.3.2 для своего приложения PhoneGap Build. Я хотел бы улучшить производительность ввода ползунка: потому что, когда вы пытаетесь сдвинуть его по телефону, он работает очень медленно, так как я делаю много манипуляций с пользовательским интерфейсом после перемещения слайдера. В частности, мне нужно обновить значение, отображаемое на дорожке слайдера ($ ("# cursortext")), как можно быстрее.
Кроме того, возможно ли сделать все, что есть $(document).on("slidestop","#levelrange", function() {
асинхронно, так что если пользователь может изменить слайдер, когда это выполняется, если это необходимо.
Можете ли вы мне помочь?
Вот что я заработал сейчас:
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);
});
});
Я также использую слайдеры для одной и той же вещи, но я использую jQM 1.4.0, и это хорошо и не медленно. На самом деле все становится более плавным и быстрым на телефонах с ним.
Есть ли причина, почему вы используете более старую версию jQM?