js实现简单易用的上下无缝滚动效果
<!doctype html> <html> <head> <meta charset="utf-8"> <title></title> <meta name="description" content=""> <meta name="keywords" content=""> <style> *{margin:0;padding:0} #slide{position:absolute;height:300px;width:260px;color:#FA8E93;overflow:hidden;border:1px solid #ccc} #slide p{height:34px;line-height:34px;overflow:hidden} #slide span{float:right} </style> </head> <body> <div id="slide"> <div id="slide1"> <p><span>领取了烈焰双11礼包</span>1、dqx5***</p> <p><span>领取了烈焰双11礼包</span>2、s376***</p> <p><span>领取了街机三国双11礼包</span>3、sdk1***</p> <p><span>领取了烈火战神双11礼包</span>4、说好〃不沋伤</p> <p><span>领取了街机三国双11礼包</span>5、说好〃不沋伤</p> <p><span>领取了烈焰双11礼包</span>6、gao6***</p> <p><span>领取了街机三国双11礼包</span>7、ando***</p> <p><span>领取了街机三国双11礼包</span>8、6813***</p> <p><span>领取了烈焰双11礼包</span>9、lais***</p> </div> <div id=slide2></div> </div> <script> var speed=80 var slide=document.getElementById("slide"); var slide2=document.getElementById("slide2"); var slide1=document.getElementById("slide1"); slide2.innerHTML=slide1.innerHTML function Marquee(){ if(slide2.offsetTop-slide.scrollTop<=0) slide.scrollTop-=slide1.offsetHeight else{ slide.scrollTop++ } } var MyMar=setInterval(Marquee,speed) slide.onmouseover=function(){clearInterval(MyMar)} slide.onmouseout=function(){MyMar=setInterval(Marquee,speed)} </script> </body> </html>
不过css样式上有个需要注意的地方,#slide{position:absolute}。作者说测试发现如果盒子#slide上面还有很多内容的话,滚动效果只会持续一次,不会连续。盒子#slide加上样式position:absolute即可解决。
本文转载自:https://www.cnblogs.com/naokr/archive/2013/11/10/3416532.html
还有一款插件滚动效果差不多:https://www.jq22.com/jquery-info6631