今天我注意到 Chrome 下载页面 ( chrome ) 上的悬停效果图标。很酷。我注意到使用css3结合js来实现这个效果,如下代码:
function maskImg() {
var requestAnimationFrame = window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame,
startTime = window.mozAnimationStartTime || Date.now();
var MAX = 138, img = this, maxTime = 1500;
requestAnimationFrame(function (timestamp) {
var drawStart = (timestamp || Date.now()),
diff = drawStart - startTime;
img.style.cssText = ['-webkit-mask: -webkit-gradient(radial, 17 17, ' ,
Math.floor(diff * MAX / maxTime) ,
', 17 17, ' ,
Math.floor(diff * MAX / maxTime) +15,
', from(rgb(0, 0, 0)), color-stop(0.5, rgba(0, 0, 0, 0.2)), to(rgb(0, 0, 0)));'].join('');
if (maxTime > diff)requestAnimationFrame(arguments.callee);
});
}
我想知道我是否可以使用 webkit-animation 和 @-webkit-keyframes 和 -webkit-mask 实现相同的目的,但是我失败了,就像link上的代码一样。
我在问为什么以及如何做到这一点。如果你能告诉我这背后的原因,那就太好了。
我的英语很差,很抱歉。