报错:window. reques tAnimationFrame 替换一下代码就好了(把最后的代码替换)
原始代码```javascript
(function () {
var lastTime = 0;
var vendors = ['webkit', 'moz'];
for (var x = 0; x < vendors.length && !window.requestAnimationFrame; ++x) {
window.requestAnimationFrame = window[vendors[x] + 'RequestAnimationFrame'];
window.cancelAnimationFrame =
window[vendors[x] + 'CancelAnimationFrame'] || window[vendors[x] + 'CancelRequestAnimationFrame'];
}
if (!window.requestAnimationFrame)
window.requestAnimationFrame = function (callback, element) {
var currTime = new Date().getTime();
var timeToCall = Math.max(0, 16 - (currTime - lastTime));
var id = window.setTimeout(function () { callback(currTime + timeToCall); },
timeToCall);
lastTime = currTime + timeToCall;
return id;
};
if (!window.cancelAnimationFrame)
window.cancelAnimationFrame = function (id) {
clearTimeout(id);
};
}());
替换
```javascript
uni.requestAnimationFrame = function (callback) {
var lastTime=0;
var currTime = new Date().getTime();
var timeToCall = Math.max(0, 16 - (currTime - lastTime));
var id = setTimeout(function () { callback(currTime + timeToCall); }, timeToCall);
lastTime = currTime + timeToCall;
return id;
};
uni.cancelAnimationFrame = function (id) {
clearTimeout(id);
};
(function () {
var lastTime = 0;
var vendors = ['webkit', 'moz', 'ms', 'o'];
for (var x = 0; x < vendors.length && !uni.requestAnimationFrame; ++x) {
uni.requestAnimationFrame = uni[vendors[x] + 'RequestAnimationFrame'];
uni.cancelAnimationFrame =
uni[vendors[x] + 'CancelAnimationFrame'] || uni[vendors[x] + 'CancelRequestAnimationFrame'];
}
if (!uni.requestAnimationFrame)
uni.requestAnimationFrame = function (callback) {
return setTimeout(callback, 16);
};
if (!uni.cancelAnimationFrame)
uni.cancelAnimationFrame = function (id) {
clearTimeout(id);
};
})();
这样就可以用了 记得把调用的那两个事件也换一下
就在start里面更换成 uni.requestAnimationFrame(update) 原来的替换一下! 即可使用
start() {
let update = () => {
this.process = this.process + (this.max - this.min) / 100
if (this.process > this.value) {
cancelAnimationFrame(update)
} else {
this.draw()
uni.requestAnimationFrame(update)
}
}
uni.requestAnimationFrame(update);
}
1 个回复
l***@163.com
优秀