改善Jquery Mobile的滑块性能

时间:2014-04-26 14:48:36

标签: jquery jquery-mobile

我在我的Phonegap Build应用程序中使用jquery mobile 1.3.2。我想提高滑块输入的性能:因为当你尝试在手机上滑动它时,它非常慢,因为我在移动滑块后进行了大量的UI操作。 特别是我需要尽快更新滑块轨道上显示的值($(“#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);
        });
    });

1 个答案:

答案 0 :(得分:1)

我也使用滑块来做同样的事情,但是我正在使用jQM 1.4.0并且它很好但不慢。事实上,手机上的一切都更顺畅,更快。

你有没有理由使用旧版本的jQM?