ホームページ  >  記事  >  ウェブフロントエンド  >  JS_javascript スキルに基づいてニュース リストのシームレスな上方向スクロールを実装するサンプル コード

JS_javascript スキルに基づいてニュース リストのシームレスな上方向スクロールを実装するサンプル コード

WBOY
WBOYオリジナル
2016-05-16 15:18:531208ブラウズ

ニュースが多く、前​​例のないほど制限されている場合は、スクロールを使用するのが良い選択です。この章では、コード例を使用してこの効果を実現する方法を紹介します。

コード例は次のとおりです:

<!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 に基づいてニュース リストのシームレスな上方向スクロールを実装するサンプル コードです。実際のニーズに応じてこのコードを適用していただければ幸いです。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。