1 Star 1 Fork 3

楼教主/svga

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
app.js 1.43 KB
一键复制 编辑 原始数据 按行查看 历史
楼教主 提交于 2020-05-19 06:47 . init
const app = document.getElementById('app');
function clean({ el, player } = {}) {
if (player) {
player.stopAnimation();
player.clear();
player.clearDynamicObjects();
}
if (el) {
el.remove();
}
}
function render(file) {
// clean(render.stage);
const el = document.createElement('div');
const span = document.createElement('span');
const player = new SVGA.Player(el);
const parser = new SVGA.Parser(el);
el.classList.add('svga');
app.appendChild(el);
el.appendChild(span);
el.svga = { el, span, player };
parser.load(file, function(videoItem) {
const { width, height } = videoItem.videoSize;
el.style.width = width + 'px';
el.style.height = height + 'px';
span.innerText = `${width}x${height} - ${file.size / 1024 | 0}kb`;
player.setVideoItem(videoItem);
player.startAnimation();
});
}
app.addEventListener('dragover', function (e) {
e.preventDefault();
});
app.addEventListener('drop', function (e) {
const { files } = e.dataTransfer;
for (let i = 0; i < files.length; i++) {
const file = files[i];
if (/\.svga/i.test(file.name)) {
render(file);
console.log(files[i]);
}
}
e.preventDefault();
}, false);
const colors = document.querySelectorAll('.color');
[...colors].forEach((it) => {
const bgc = getComputedStyle(it).backgroundColor;
it.addEventListener('click', () => {
document.body.style.setProperty('--svga-color', bgc);
}, false);
});
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/cik/svga.git
git@gitee.com:cik/svga.git
cik
svga
svga
master

搜索帮助