javascript - 通过改变div的背景图像来实现动画

标签 javascript html

我们试图通过一系列图像更改 div 元素的背景来模拟动画并重复循环。有四个 533x800 8 位 PNG 图像,每个图像大小约为 110KB。 JavaScript 函数通过 setInterval 运行,并且每 300 毫秒将 div 背景更改为下一个图像。我认为这对于浏览器来说并不是一项繁重的任务,但事实证明有太多的延迟。尤其是在移动设备上。您建议采取什么更好的方法来实现这一目标? 下面是改变背景的JS(jquery)函数。谢谢

function changeBackground() {
    if ( typeof changeBackground.counter == 'undefined' ) {
        changeBackground.counter = 1;
        changeBackground.backObject = $('#body');
    }

    if ( changeBackground.counter == 5 )
        changeBackground.counter = 1;

    changeBackground.backObject.css( 'background-image', "url(graphics/" + changeBackground.counter + ".png)" );
    ++changeBackground.counter;
}

最佳答案

通过将所有四个图像彼此相邻放置来创建一个大型复合背景图像。然后每 300 毫秒加载背景并更改其位置(因此它显示四个“帧”之一),而不是每次加载新背景

关于javascript - 通过改变div的背景图像来实现动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12217688/

相关文章:

javascript - 在removeClass ('disabled'之后jquery链接不起作用)

javascript - 无法添加属性 "X",对象不可扩展 Angular 9

javascript - 在 AngularJS 的表格上使用分页

html mailto 不发送电子邮件

javascript - Dojo Ajax post 发送非表单数据

javascript - 如何在 javascript 中使用 getHours() (在本例中)?

javascript - 通过javascript将图像路径添加到css中的过滤器

html - 对于小分辨率屏幕,网页底部的 Bootstrap 导航选项卡不会停留在底部

html - 如果鼠标在固定 block 上方,则滚动不起作用

javascript - MathJax 在 MathML 中呈现 HTML 输入字段