MediaWiki:Common.js:修订间差异
MediaWiki界面页面
更多操作
无编辑摘要 |
无编辑摘要 |
||
| 第37行: | 第37行: | ||
var total = (data.query.statistics['cirrussearch-article-words'] || 0); | var total = (data.query.statistics['cirrussearch-article-words'] || 0); | ||
// | // 缓动函数(ease-out):前快后慢 | ||
function easeOutQuad(t) { | |||
function easeOutQuad(t) { | |||
return t * (2 - t); | return t * (2 - t); | ||
} | } | ||
function | var duration = 2000; // 动画总时长 | ||
var startTime = null; | |||
function animate(timestamp) { | |||
if (!startTime) startTime = timestamp; | if (!startTime) startTime = timestamp; | ||
var | var time = timestamp - startTime; | ||
var progress = Math.min( | var progress = Math.min(time / duration, 1); | ||
var eased = easeOutQuad(progress); | var eased = easeOutQuad(progress); | ||
var | var currentVal = Math.floor(eased * total); | ||
$el.text( | $el.text(currentVal.toLocaleString()); | ||
if (progress < 1) { | if (progress < 1) { | ||
requestAnimationFrame(animate); | |||
requestAnimationFrame( | |||
} | } | ||
} | } | ||
requestAnimationFrame( | requestAnimationFrame(animate); | ||
}).fail(function () { | }).fail(function () { | ||
console.error('字数统计 API 请求失败'); | console.error('字数统计 API 请求失败'); | ||