ホームページ > 記事 > ウェブフロントエンド > JS_javascript スキルに基づいてニュース リストのシームレスな上方向スクロールを実装するサンプル コード
ニュースが多く、前例のないほど制限されている場合は、スクロールを使用するのが良い選択です。この章では、コード例を使用してこの効果を実現する方法を紹介します。
コード例は次のとおりです:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.jb51.net/" /> <title>文字列表无缝向上滚动代码</title> <style type="text/css"> *{ margin:0px; padding:0px; border:0px; } body{font-size:12px} #demo{ overflow:hidden; height:80px; width:280px; margin:90px auto; position:relative; } #demo1{ height:auto; text-align:left; } #demo2{ height:auto; text-align:left; } #demo1 li{ list-style-type:none; height:22px; text-align:left; text-indent:15px; } #demo2 li{ list-style-type:none; height:22px; text-align:left; text-indent:15px; } </style> <script type="text/javascript"> var speed=40 window.onload=function(){ var demo=document.getElementById("demo"); var demo2=document.getElementById("demo2"); var demo1=document.getElementById("demo1"); demo2.innerHTML=demo1.innerHTML function Marquee(){ if(demo.scrollTop>=demo1.offsetHeight){ demo.scrollTop=0; } else{ demo.scrollTop=demo.scrollTop+1; } } var MyMar=setInterval(Marquee,speed) demo.onmouseover=function(){clearInterval(MyMar)} demo.onmouseout=function(){MyMar=setInterval(Marquee,speed)} } </script> </head> <body> <div id="demo"> <ul id="demo1"> <li><a href="#" target="_blank">脚本之家欢迎您的到来</a></li> <li><a href="#" target="_blank">只有努力才会有美好的明天</a></li> <li><a href="#" target="_blank">没有人一开始就是高手,都是从菜鸟开始</a></li> <li><a href="#" target="_blank">每一天都是新的需要好好珍惜</a></li> <li><a href="#" target="_blank">怨天尤人是没有任何作用的</a></li> <li><a href="#" target="_blank">今天你写代码了吗</a></li> <li><a href="#" target="_blank">分享的胸怀和互助的精神最终成就了你</a></li> </ul> <div id="demo2"></div> </div> </body> </html>
上記のコードはニュース リストのスクロール効果を実装しています。実装プロセスは以下に紹介されています。
1. 実装原則:
一般的な原則は次のとおりです。demo 要素には、demo1 と demo2 の 2 つのサブ要素があり、demo1 の内容は、demo2 が上にスクロールするときに、demo2 に格納されるようにするためです。それ以外の場合は、シームレス スクロールではなく、demo1 のコンテンツが完全にブロックされているとき、つまり、demo1 が完全に上にスクロールされているとき、demo2 は、demo1 がスクロールを開始する位置に正確に配置され、その後、scrollTop 値になります。のデモがリセットされ、スクロールがやり直しになり、シームレスなスクロール効果が得られます。これは、JS に基づいてニュース リストのシームレスな上方向スクロールを実装するサンプル コードです。実際のニーズに応じてこのコードを適用していただければ幸いです。