javascript - 滑动标志 - 最好的方法

标签 javascript performance slider

我正在创建事件页面,并在底部放置了许多 Logo 。它从右向左滑动。我不使用 jQuery,只使用纯 Javascript,我只是想知道最佳性能。我的代码有效,但也许有更好的方法来做到这一点?我认为这个“动画”有时会变慢。

var banners = [],
    links = [];

links[0] = 'http://...',
banners[0] = 'img/logo1.png',
...

var banLenght = banners.length,
    banContent = "<div id='bannersBack'><div id='banners' style='display:inline-block;'>";

for (var ii =0; ii < banLenght; ii++){
    banContent += "<a target='_blank' href='"+links[ii]+"'><img src='"+banners[ii]+"'></a>";
}
banContent += "</div></div>";
document.getElementById('sliding-logos').innerHTML = banContent;

var actual = document.getElementById('banners');
var move = function(){
    position = actual.offsetLeft;
    position -= 1;
    actual.style.left = position +"px";

    // 3000 is sum of banner's width                
    if (position > -3000) { 
        setTimeout( move, 20);
    }else {
        actual.style.left = "0px";
        move();
    }
};
move();

最佳答案

  • 单个图像 Sprite 而不是多个图像
  • CSS 转换而不是 JS。 CSS 是浏览器引擎的一部分,不需要修改 DOM 的属性,因此应该更快

这是一个示例(但它不适用于所有浏览器) http://css-tricks.com/infinite-all-css-scrolling-slideshow/

关于javascript - 滑动标志 - 最好的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18831268/

相关文章:

javascript - 硬币 slider : $ is not defined

javascript - 使用 jquery 将项目附加到选择框,同时转义引号

javascript - 我的下拉菜单压低了其他所有内容

javascript - 从包含的 php 文件中刷新查询结果

javascript - 在组件已卸载后,如何取消解析 promise 的状态更改?

c - 什么时候汇编比 C 快?

c++ - 解释两种几乎相同算法的性能差异

asp.net - .Net iSeries 提供商的 AS 400 性能

JavaFX Slider : Track length? 刻度标签颜色?

java - 当 jSlider 为 100 时如何启用 jButton?