JavaScript中的长文本滚动

时间:2014-08-18 12:00:10

标签: javascript html css

我需要在一行(从右到左)中滚动长文本i JavaScript。

目前我通过改变保证金来做到这一点 - 留下计时器。

        //Change Margin
    $('#sliderContentText').css('margin-left', -sliderOptions.currentMargin);
    sliderOptions.currentMargin=sliderOptions.currentMargin+sliderOptions.marginSpeed;

还有其他方法吗?

问题是如果我每隔10毫秒更改一次余量,那么CPU消耗很多。

1 个答案:

答案 0 :(得分:1)

你不应该为此目的使用保证金(see why)......你可以使用relative position ......

或最佳解决方案: relative position + css transitions

<强> JS

var s = $('#sliderContentText');

setInterval(function(){
  s.toggleClass('moveleft');
},1000);

<强> CSS

#sliderContentText {
  position: relative;
  transition: left 1s;
  left: 0;
}
#sliderContentText.moveleft {
  left: 50px;
}

你应该总是将jquery元素存储在函数循环之外以避免内存消耗