本机滚动事件和JS执行

时间:2014-03-06 13:02:10

标签: javascript jquery css3 dom mobile

对于初学者来说,我知道这有点重复(JS event independent of finger pressure)。

我对更深入的答案感兴趣。

据我所知,大多数设备(如果不是所有设备)都会暂停执行JS和DOM操作。但是我想知道为什么会发生这种情况,并且可能会就如何解决这个问题提出一些建议。

我有以下内容:

DataBar.prototype = {
    init: function(){
        this.percentage = this.getPercentage(this.used);
    },
    getPercentage: function(used){
        return (this.total.match(/unlimited/i)) ? 100 : 100 - ( (100 / parseInt(this.total)) * parseInt(used) );
    },
    setUsage: function(used){
        var t = this;
        if( used || used === 0){
            this.percentage = this.getPercentage( used );
        }

        //*******ANIMATION BLOCK*********//
        if(this.CSStransition){
            this.bar[0].style.width = this.percentage+'%';
            this.bar.one('transitionend',transitionEnd);
        } else {
            this.bar.animate({
                width: t.percentage+'%'
            }, t.opts.speed, transitionEnd);
        }
        //*******ANIMATION BLOCK*********//

        function transitionEnd(){
            t.ele[ t.percentage > 20 ? 'removeClass' : 'addClass']('warn');
        }
        this.remaining.text(this.getRemaining());
    },
    getRemaining: function(){
        if( this.total.match(/unlimited/i) ){
            return 'unlimited';
        }
        return (~~this.total - ~~this.used) + (this.name === 'data' ? 'Mb' : '') + ' left';
    }
};

专注于动画块,有什么建议吗?

我需要以某种方式强制动画继续,这是我理解不可能的。但由于显示器的性质,我无法承受动画在滚动时暂停。

在这里拍摄不可能的事情,但有没有办法继续触摸动画拖动?

0 个答案:

没有答案