原生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()一章節。
相關文章
- 原生javascript實現的圖片無縫滾動程式碼分析JavaScript
- js程式碼實現的圖片水平無縫滾動JS
- jQuery圖片無縫滾動效果jQuery
- CSS水平無縫滾動效果CSS
- JavaScript水平無縫滾動程式碼JavaScript
- css3水平無縫滾動效果CSSS3
- JQuery實現圖片輪播無縫滾動jQuery
- JS圖片滾動(無縫、平滑、上下左右滾動)效果JS
- JavaScript圖片橫向無縫滾動詳解JavaScript
- CSS 水平無縫滾動CSS
- jquery實現的垂直或者水平無縫滾動外掛jQuery
- javascript實現圖片滾動JavaScript
- js、jQuery實現文字上下無縫輪播、滾動效果JSjQuery
- jQuery 圖片列表垂直間歇無縫滾動jQuery
- JavaScript無縫滾動 記錄JavaScript
- js實現的單行文字不間斷無縫滾動效果JS
- CSS實現迴圈無縫滾動CSS
- HTMl 中marquee標籤實現無縫滾動跑馬燈效果HTML
- 邏輯難理解版本的輪播圖(實現無縫滾動)
- js滑鼠移動實現圖片立體滾動效果JS
- react無縫滾動輪播圖React
- JavaScript 垂直新聞公告無縫滾動JavaScript
- JavaFx 實現水平滾動文字(跑馬燈效果)Java
- javascript實現滑鼠懸浮圖片實現抖動效果JavaScript
- js無縫滾動JS
- 直播系統原始碼,vue實現無縫滾動原始碼Vue
- JavaScript垂直新聞公告無縫滾動詳解JavaScript
- 無縫迴圈滾動
- 左右帶有按鈕圖片水平滾動
- jQuery 間歇的無縫滾動jQuery
- 怎樣用原生js配合css的transition寫個無縫滾動JSCSS
- 原生JS利用transform實現banner的無限滾動JSORM
- H5移動端獲獎無縫滾動動畫實現H5動畫
- js-字幕無縫滾動JS
- vue.js無縫滾動Vue.js
- Android開發之TextView文字水平滾動效果實現AndroidTextView
- 左右無縫輪播圖的實現
- 向上無縫滾動--原理及思想