先来一波核心 scroll.js
// JavaScript Document scroll.js
(function($){
$.fn.myScroll = function(options){
//默认配置
var defaults = {
speed:40, //滚动速度,值越大速度越慢
rowHeight:24 //每行的高度
};
var opts = $.extend({}, defaults, options),intId = [];
function marquee(obj, step){
obj.find("ul").animate({
marginTop: '-=1'
},0,function(){
var s = Math.abs(parseInt($(this).css("margin-top")));
if(s >= step){
$(this).find("li").slice(0, 1).appendTo($(this));
$(this).css("margin-top", 0);
}
});
}
this.each(function(i){
var sh = opts["rowHeight"],speed = opts["speed"],_this = $(this);
intId[i] = setInterval(function(){
if(_this.find("ul").height()<=_this.height()){
clearInterval(intId[i]);
}else{
marquee(_this, sh);
}
}, speed);
_this.hover(function(){
clearInterval(intId[i]);
},function(){
intId[i] = setInterval(function(){
if(_this.find("ul").height()<=_this.height()){
clearInterval(intId[i]);
}else{
marquee(_this, sh);
}
}, speed);
});
});
}
})(jQuery);
紧接着,接上HTML
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<title>文字无缝滚动</title>
<style>
* { margin: 0; padding: 0;}
.myscroll { width: 300px; height: 60px; margin: 0 auto; /*border: 1px solid #ccc;*/ line-height: 26px; font-size: 12px; overflow: hidden;}
.myscroll li { height: 26px; margin-left: 25px;}
.myscroll a { color: rgba(163,163,163,1); text-decoration: none;}
.myscroll a:hover { color: #ED5565; text-decoration: underline;}
</style>
<script src="http://cdn.staticfile.org/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript" src="js/scroll.js"></script>
<script type="text/javascript">
$(function(){
$('.myscroll').myScroll({
speed: 40, //数值越大,速度越慢
rowHeight: 26 //li的高度
});
});
</script>
</head>
<body>
<div class="myscroll">
<ul>
<li>安徽省 合肥市 肥东县A</li>
<li>安徽省 合肥市 肥东县B</li>
<li>安徽省 合肥市 肥东县C</li>
<li>安徽省 合肥市 肥东县D</li>
</ul>
</div>
</body>
</html>