JavaScript代碼實現(xiàn)圖片循環(huán)滾動效果
1.概述
循環(huán)滾動圖片,不僅可以增添Web頁面的動態(tài)效果,而且可以節(jié)省頁面空間,有效地保證在有限的頁面中顯示更多的圖片。
2.技術(shù)要點
主要應(yīng)用setTimeout()方法實現(xiàn)圖片的循環(huán)滾動效果。setTimeout()方法的語法格式如下:
setTimeout(function,milliseconds,[arguments])
參數(shù)說明:
a. function:要調(diào)用的JavaScript自定義函數(shù)名稱。
b. Milliseconds:設(shè)置超時時間(以毫秒為單位)。
功能:經(jīng)過超時時間后,調(diào)用函數(shù)。此值可以用clearTimeout()函數(shù)清除。
3.具體實現(xiàn)
(1)在頁面的合適位置添加一個id屬性為demo的<div>標記,并在該標記中添加表格及要要滾動顯示的圖片。關(guān)鍵代碼如下:
<div id="demo" style=" overflow: hidden; width: 455px; height: 166px;">
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top" id="marquePic1">
<!-- 要循環(huán)滾動的圖片 -->
<table width="455" border="0" align="center" cellpadding="0" cellspacing="0" >
<tr align="center">
<%for(int i=1;i<8;i++){%>
<td> <img src="Images/<%=i%>.jpg" width="118" height="166" border="1"> </td>
<%}%>
</tr>
</table>
</td>
<td id="marquePic2" width="1"></td>
</tr>
</table>
</div>
(2)編寫自定義的JavaScript函數(shù)move(),用于實現(xiàn)無間斷的圖片循環(huán)滾動效果。speed數(shù)值越大圖片滾動的越快,具體代碼如下:
<script language="javascript">
var speed=30 ; //設(shè)置間隔時間
marquePic2.innerHTML=marquePic1.innerHTML;
var demo=document.getElementById("demo"); //獲取demo對象
function Marquee(n){ //實現(xiàn)圖片循環(huán)滾動的方法
if(marquePic1.offsetWidth-demo.scrollLeft<=0){
demo.scrollLeft=0;
}
else{
demo.scrollLeft=demo.scrollLeft+n;
}
}
var MyMar=setInterval("Marquee(5)",speed);
demo.onmouseover=function() { //停止?jié)L動
clearInterval(MyMar);
}
demo.onmouseout=function() { //繼續(xù)滾動
MyMar=setInterval("Marquee(5)",speed);
}
</script>
知識點補充:javascript實現(xiàn)頁面的自動循環(huán)滾動
首先html代碼
<div id="content"> <ol id="EG-CN-1">EG-CN-1 <li type="none">aatox</li> <li type="none">akari</li></ol> <ol id="EG-CN-10">EG-CN-10<li type="none">rakan</li></ol> <ol id="EG-CN-7">EG-CN-7<li type="none">riven</li> <li type="none">darius</li></ol> <ol id="EG-CN-8">EG-CN-8<li type="none">fiora</li> <li type="none">jayce</li> <li type="none">noc</li></ol> <ol id="EG-CN-2">EG-CN-2<li type="none">leesin</li></ol></div>
這是一個通過js自動添加list的div容器,隨著名單的長度增加會自動增加scrollheight,而整個div是固定的寬高,通過css的overflow:scroll屬性自動將多出的內(nèi)容隱藏在scrollview里面
css代碼如下,這里同時使用::-webkit-scrollbar 將滾動條隱藏以保證美觀性
#content{
width:430px;height:490px;
position:absolute; top:180px;left:40%;
font-size:20px;overflow:scroll;
}
#content::-webkit-scrollbar{display:none}
ol{font-size:35px}
li{font-size:25px}
接下來就是實現(xiàn)自動循環(huán)滾動的js代碼
原理就是先讀取div元素的高度以及div內(nèi)部內(nèi)容的高度即clientHeight和scrollHeight屬性來確定滾動條到頂部的最大距離h=clientHeight-scrollHeight,然后通過setInterval來實現(xiàn)滾動條到頂部的距離scrollTop屬性的從0開始遞增直到達到最大距離h,然后再將scrollTop歸零,重新開始滾動
$(document).ready(function(){
content=document.getElementById('content')
clientheight=content.clientHeight
offsetheight=content.scrollHeight
h=offsetheight-clientheight
var position=0
function startscroll(){
if(content.scrollTop<h){position++;content.scrollTop=position}
if(content.scrollTop>=h){content.scrollTop=0;position=0}
}
setInterval(startscroll,100)
console.log(clientheight)
console.log(offsetheight)
})
總結(jié)
以上所述是小編給大家介紹的JavaScript代碼實現(xiàn)圖片循環(huán)滾動效果的相關(guān)知識,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
Javascript+XMLHttpRequest+asp.net無刷新讀取數(shù)據(jù)庫數(shù)據(jù)
Javascript+XMLHttpRequest+asp.net無刷新讀取數(shù)據(jù)庫數(shù)據(jù)2009-08-08
JS根據(jù)json數(shù)組多個字段排序及json數(shù)組常用操作
這篇文章主要介紹了js根據(jù)json數(shù)組多個字段排序及json數(shù)組常用操作,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值 ,需要的朋友可以參考下2019-06-06
three.js中點對象(Point)和點材質(zhì)(PointsMaterial)的具體使用
本文主要介紹了three.js中點對象(Point)和點材質(zhì)(PointsMaterial)的具體使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-07-07

