基于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.dbjr.com.cn/" />
<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)文章
利用JavaScript實(shí)現(xiàn)仿京東放大鏡效果
這篇文章主要為大家詳細(xì)介紹了如何利用JavaScript實(shí)現(xiàn)仿京東放大鏡特效,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03
js+html5通過(guò)canvas指定開(kāi)始和結(jié)束點(diǎn)繪制線條的方法
這篇文章主要介紹了js+html5通過(guò)canvas指定開(kāi)始和結(jié)束點(diǎn)繪制線條的方法,涉及html5屬性的操作技巧,需要的朋友可以參考下2015-06-06
javascript實(shí)現(xiàn)移動(dòng)的模態(tài)框效果
這篇文章主要為大家詳細(xì)介紹了javascript實(shí)現(xiàn)移動(dòng)的模態(tài)框效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-09-09
微信公眾號(hào)weixin-js-sdk使用方法總結(jié)
最近做了一個(gè)活動(dòng)頁(yè)面,需要自定義微信分享的標(biāo)題、詳情、縮略圖和url,使用到了jssdk,這篇文章主要給大家介紹了關(guān)于微信公眾號(hào)weixin-js-sdk使用方法的相關(guān)資料,需要的朋友可以參考下2022-12-12
前端date.locale?is?not?a?function錯(cuò)誤的簡(jiǎn)單解決辦法
這篇文章主要給大家介紹了關(guān)于前端date.locale?is?not?a?function錯(cuò)誤的簡(jiǎn)單解決辦法,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下2023-09-09
ES6模塊化的import和export用法方法總結(jié)
這篇文章主要介紹了ES6模塊化的import和export用法方法總結(jié),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-08-08
javascript 通用loading動(dòng)畫(huà)效果實(shí)例代碼
這篇文章主要介紹了javascript 通用loading動(dòng)畫(huà)效果實(shí)例代碼,有需要的朋友可以參考一下2014-01-01
JS中的函數(shù)與對(duì)象的創(chuàng)建方式
這篇文章主要介紹了JS中的函數(shù)與對(duì)象的創(chuàng)建方式,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-05-05

