>웹 프론트엔드 >JS 튜토리얼 >JS_javascript 기술을 기반으로 뉴스 목록의 원활한 위쪽 스크롤을 구현하는 예제 코드

JS_javascript 기술을 기반으로 뉴스 목록의 원활한 위쪽 스크롤을 구현하는 예제 코드

WBOY
WBOY원래의
2016-05-16 15:18:531236검색

뉴스가 많고 전례 없이 제한적인 경우 스크롤을 사용하는 것이 좋은 선택입니다. 이 장에서는 코드 예제를 통해 이러한 효과를 얻는 방법을 소개합니다.

코드 예시는 다음과 같습니다.

<!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. 구현 원칙:

일반적인 원리는 다음과 같습니다. 데모 요소에는 데모1과 데모2라는 두 개의 하위 요소가 있으며, 데모1의 내용은 데모2에 저장됩니다. 이렇게 하는 이유는 위로 스크롤할 때 데모2가 데모1을 따라갈 수 있도록 하기 위함입니다. 그렇지 않으면 원활한 스크롤이 아닌 원활한 스크롤이 됩니다. 데모1의 콘텐츠가 완전히 차단되면, 즉 데모1이 완전히 위로 스크롤되면 데모2는 정확히 데모1이 스크롤을 시작하는 위치에 있게 되고 그 다음에는 scrollTop 값이 표시됩니다. 데모가 재설정되면 스크롤을 다시 시작하여 원활한 스크롤 효과를 얻을 수 있습니다.

JS를 기반으로 뉴스 목록의 원활한 상향 스크롤을 구현하는 예제 코드입니다. 실제 필요에 따라 이 코드를 적용할 수 있기를 바랍니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.