基于JS實(shí)現(xiàn)新聞列表無(wú)縫向上滾動(dòng)實(shí)例代碼
當(dāng)新聞?shì)^多,并且空前有限的時(shí)候,使用滾動(dòng)是一個(gè)不錯(cuò)的選擇,本章節(jié)就通過(guò)代碼實(shí)例介紹一下如何實(shí)現(xiàn)此效果。
代碼實(shí)例如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="author" content="http://www.dhdzp.com/" />
<title>文字列表無(wú)縫向上滾動(dòng)代碼</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">腳本之家歡迎您的到來(lái)</a></li>
<li><a href="#" target="_blank">只有努力才會(huì)有美好的明天</a></li>
<li><a href="#" target="_blank">沒(méi)有人一開(kāi)始就是高手,都是從菜鳥(niǎo)開(kāi)始</a></li>
<li><a href="#" target="_blank">每一天都是新的需要好好珍惜</a></li>
<li><a href="#" target="_blank">怨天尤人是沒(méi)有任何作用的</a></li>
<li><a href="#" target="_blank">今天你寫(xiě)代碼了嗎</a></li>
<li><a href="#" target="_blank">分享的胸懷和互助的精神最終成就了你</a></li>
</ul>
<div id="demo2"></div>
</div>
</body>
</html>
以上代碼實(shí)現(xiàn)了新聞列表滾動(dòng)效果,下面介紹一下實(shí)現(xiàn)過(guò)程:
一.實(shí)現(xiàn)原理:
大致原理如下,demo元素中有兩個(gè)子元素demo1和demo2,并且將demo1中的內(nèi)容存入demo2中,之所以這樣做,是為了當(dāng)向上滾動(dòng)的時(shí)候,demo2能夠接在demo1的后面,否則將不是無(wú)縫滾動(dòng),而是有縫滾動(dòng)了,當(dāng)demo1的內(nèi)容完全被遮擋之后,也就是demo1完全滾動(dòng)上去的時(shí)候,demo2會(huì)恰好位于demo1開(kāi)始滾動(dòng)的位置,然后再重新設(shè)置demo的scrollTop值,讓滾動(dòng)就重新來(lái)過(guò),這樣就實(shí)現(xiàn)了無(wú)縫滾動(dòng)效果。
基于JS實(shí)現(xiàn)新聞列表無(wú)縫向上滾動(dòng)實(shí)例代碼就給大家介紹到這里,希望大家根據(jù)自己的實(shí)際需求應(yīng)用此段代碼。
- Vue.js 無(wú)限滾動(dòng)列表性能優(yōu)化方案
- 原生JS實(shí)現(xiàn)列表內(nèi)容自動(dòng)向上滾動(dòng)效果
- JS實(shí)現(xiàn)的新聞列表自動(dòng)滾動(dòng)效果示例
- js實(shí)現(xiàn)文字列表無(wú)縫滾動(dòng)效果
- JS觸摸屏網(wǎng)頁(yè)版仿app彈窗型滾動(dòng)列表選擇器/日期選擇器
- JS實(shí)現(xiàn)超精簡(jiǎn)的鏈接列表在固定區(qū)域內(nèi)滾動(dòng)效果代碼
- js實(shí)現(xiàn)Select列表內(nèi)容自動(dòng)滾動(dòng)效果代碼
- javascript實(shí)現(xiàn)列表滾動(dòng)的方法
- js實(shí)現(xiàn)列表向上無(wú)限滾動(dòng)
相關(guān)文章
深入理解事件冒泡(Bubble)和事件捕捉(capture)
下面小編就為大家?guī)?lái)一篇深入理解事件冒泡(Bubble)和事件捕捉(capture)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-05-05
js單獨(dú)獲取一個(gè)checkbox看其是否被選中
這篇文章主要與大家分享js獲取一個(gè)checkbox看其是否被選中的具體實(shí)現(xiàn),很簡(jiǎn)單,但很實(shí)用,需要的朋友可以參考下2014-09-09
js實(shí)現(xiàn)的頁(yè)面加載完畢之前l(fā)oading提示效果完整示例【附demo源碼下載】
這篇文章主要介紹了js實(shí)現(xiàn)的頁(yè)面加載完畢之前l(fā)oading提示效果,結(jié)合完整實(shí)例形式分析了js頁(yè)面加載時(shí)顯示loading效果的實(shí)現(xiàn)技巧,需要的朋友可以參考下2016-08-08
7個(gè)讓JavaScript變得更好的注意事項(xiàng)
這篇文章主要介紹了7個(gè)讓JavaScript變得更好的注意事項(xiàng),十分詳盡,需要的朋友可以參考下2015-01-01
9個(gè)讓JavaScript調(diào)試更簡(jiǎn)單的Console命令
這篇文章主要為大家詳細(xì)介紹了9個(gè)讓JavaScript調(diào)試更簡(jiǎn)單的Console命令,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-11-11
js正則表達(dá)exec與match的區(qū)別說(shuō)明
本篇文章主要是對(duì)js正則表達(dá)exec與match的區(qū)別進(jìn)行了介紹,需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助2014-01-01

