我已经读过<marquee>
标签要在html5中返回...但是,我需要一个可以在IE6中运行的解决方案......所以说的是,我给了自己的简要说明使用符合标准的代码重新实现Marquee标记,并对其进行增强,以便文本不断循环。
我对javascript的了解非常基础,所以我把它作为一种自学手段。
我的第一次尝试使用了jQuery的动画功能...它非常流畅,但导致CPU出现峰值,页面上的任何其他脚本运行得非常慢。
所以我的第二次尝试是基于http://jqueryfordesigners.com/fun-with-overflows/
但是,我抱怨说我的新实施不够顺利......
http://darren.primarysite.net/marqueeTest/
我花了几个星期的时间在我的业余时间进出,试图改进它。但是,我很难过。有谁知道如何让这更顺畅/更快等?
我已将代码放入pastebin中 - 因此很容易查看。
并在脑海中......
<script type="text/javascript">
$(document).ready(function() {
$('#marQueeContainer').marQuee({gap: 5});
$('#marQueeContainer1').marQuee();
});
</script>
以及身体中的以下......
<div id="marQueeContainer">An Example with a 5px text gap...</div>
<div id="marQueeContainer1">An example with defaults...</div>
谢谢,
罗布
答案 0 :(得分:0)
尝试更改scrollLeft的增量大小并降低setInterval延迟 - 当我在jsfiddle中测试它时,似乎更顺畅。还尝试尽可能缓存值。
答案 1 :(得分:0)
我会用这样的东西:
var line = " My line ";
function marque() {
$("#line").val(line);
line=line.substring(1, line.length) + line.substring(0, 1);
setTimeout(marque, 200);
}
marque();
HTML
<input id="line" value="" />