原生javascript實現的水平圖片無縫滾動效果
圖片水平無縫滾動效果在大量的網站都有應用,特別一些企業網站在展示產品的時候,因為是動態效果,能給網站增色不少,相比靜態圖片展示更能夠吸引使用者的注意力,下面就通過例項程式碼介紹一下如何實現此效果。
程式碼如下:
[HTML] 純文字檢視 複製程式碼<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style type="text/css"> #demo{ background:#FFF; overflow:hidden; border:1px dashed #CCC; width:500px; } #indemo{ float:left; width:2000px; } #indemo a{ width:100px; height:100px; float:left; background-color:blue; margin-left:5px; text-align:center; line-height:100px; color:red; text-decoration:none; } #demo1{float:left;} #demo2{float:left;} </style> <script type="text/javascript"> window.onload=function(){ var speed=10; var tab=document.getElementById("demo"); var tab1=document.getElementById("demo1"); var tab2=document.getElementById("demo2"); tab2.innerHTML=tab1.innerHTML; function Marquee(){ if(tab2.offsetWidth-tab.scrollLeft<=0){ tab.scrollLeft-=tab1.offsetWidth } else{ tab.scrollLeft++; } } var MyMar=setInterval(Marquee,speed); tab.onmouseover=function() {clearInterval(MyMar)}; tab.onmouseout=function() {MyMar=setInterval(Marquee,speed)}; } </script> </head> <body> <div id="demo"> <div id="indemo"> <div id="demo1"> <a href="#">螞蟻部落一</a> <a href="#">螞蟻部落二</a> <a href="#">螞蟻部落三</a> <a href="#">螞蟻部落四</a> <a href="#">螞蟻部落五</a> <a href="#">螞蟻部落六</a> </div> <div id="demo2"></div> </div> </div> </body> </html>
以上程式碼實現了我們要求,為了掩飾方便,將圖片替換為文字,實際應用中,只要稍加修改就可以了,程式碼很簡單,但是對於初學者來說可能就有點麻煩,下面就對它做一下注釋。
一.程式碼註釋:
1.window.onload=function(){},當文件內容完全載入完畢再去執行函式中的程式碼。
2.var speed=10,設定滾動的速度,值越小速度越快。
3.var tab=document.getElementById("demo"),根據id屬性值獲取物件。
4.tab2.innerHTML=tab1.innerHTML,複製一份內容給tab2.
5.function Marquee(){},此函式是滾動的核心實現。
6.if(tab2.offsetWidth-tab.scrollLeft<=0){tab.scrollLeft-=tab1.offsetWidth } ,判斷向左滾動的尺寸是否小於等於tab2或者tab1的寬度,如果小於等於,則說明一個完整的圖片佇列滾動完畢,這個時候是tab2的接續在tab1的後面,這個時候重新設定tab.scrollLeft為0,也就是重新開始滾動,這樣就實現了無縫滾動效果。
二.相關閱讀:
1.innerHTML屬性可以參閱js innerHTML一章節。
2.offsetWidth屬性可以參閱JavaScript offsetWidth一章節。
3.scrollLeft屬性可以參閱JavaScript scrollLeft一章節。
4.setInterval()函式可以參閱JavaScript setInterval()一章節。
5.clearInterval()函式可以參閱JavaScript clearInterval()一章節。
相關文章
- jQuery圖片無縫滾動效果jQuery
- CSS水平無縫滾動效果CSS
- JavaScript水平無縫滾動程式碼JavaScript
- JQuery實現圖片輪播無縫滾動jQuery
- JavaScript圖片橫向無縫滾動詳解JavaScript
- js、jQuery實現文字上下無縫輪播、滾動效果JSjQuery
- jQuery 圖片列表垂直間歇無縫滾動jQuery
- JavaScript無縫滾動 記錄JavaScript
- CSS實現迴圈無縫滾動CSS
- HTMl 中marquee標籤實現無縫滾動跑馬燈效果HTML
- 邏輯難理解版本的輪播圖(實現無縫滾動)
- react無縫滾動輪播圖React
- JavaFx 實現水平滾動文字(跑馬燈效果)Java
- js無縫滾動JS
- 直播系統原始碼,vue實現無縫滾動原始碼Vue
- 左右帶有按鈕圖片水平滾動
- jQuery 間歇的無縫滾動jQuery
- 原生JS利用transform實現banner的無限滾動JSORM
- 怎樣用原生js配合css的transition寫個無縫滾動JSCSS
- H5移動端獲獎無縫滾動動畫實現H5動畫
- js-字幕無縫滾動JS
- 前端實現文字滾動效果前端
- 向上無縫滾動--原理及思想
- JavaScript跟隨滑鼠移動的圖片效果JavaScript
- js實現圖片上下滾動background-positionJS
- 原生JS實現一個無縫輪播圖外掛(支援vue)JSVue
- 如何快速實現一個無縫輪播效果
- 原生JS實現輪播圖的效果JS
- 滾動載入圖片(懶載入)實現原理
- JavaScript 圖片放大鏡效果JavaScript
- 短視訊app原始碼,實現原生js圖片預覽效果APP原始碼JS
- 什麼是視差滾動?如何實現視差滾動的效果?
- 直播app開發搭建,純javascript實現圖片放大鏡效果APPJavaScript
- 巢狀滾動效果實現討論巢狀
- 一起來實現圖片滾動懶載入
- 直播軟體搭建,css實現多張圖片或logo左右無間隙滾動CSSGo
- 實現圖片染色效果的三種方式
- formData原生實現圖片上傳ORM
- 使用純 CSS 實現滾動陰影效果CSS