翾
  • 发布:2015-05-08 17:33
  • 更新:2015-05-09 16:12
  • 阅读:7643

【报Bug】mui中的 mui.scrollTo 方法有缺陷。

分类:MUI

mui中的 mui.scrollTo 方法有缺陷,比如调用 mui.scrollTo(573,500);结果不是定位到 573的位置,有可能在这个位置上下有一定的 offset距离。尤其是连续调用两次明显位置不一样。我看了一下mui.js的源码,发现有一个除法操作,这个有一定的影响。而且scroll(duration - 10);中的duration 如果是小于10的一个数值,则直接会跳出scroll 函数。剩下的距离就没有滚动了。

$.scrollTo = function(scrollTop, duration, callback) {  
        duration = duration || 1000;  
        var scroll = function(duration) {  
            if (duration <= 0) {  
                callback && callback();  
                return;  
            }  
            var distaince = scrollTop - window.scrollY;  
            setTimeout(function() {  
                window.scrollTo(0, window.scrollY + distaince / duration * 10);  
                scroll(duration - 10);  
            }, 16.7);  
        };  
        scroll(duration);  
    };

如果在 if (duration <= 0) {}中的callback && callback();之前增加:window.scrollTo(0, scrollTop);就不会出现这个问题。
请官方大神们修复这个问题吧。

2015-05-08 17:33 负责人:无 分享
已邀请:
DCloud_UNI_FXY

DCloud_UNI_FXY

确认为BUG,

下个版本修复此问题

  • (作者)

    好的,谢谢了。

    2015-05-11 10:35

该问题目前已经被锁定, 无法添加新回复