js圖片淡入淡出效果程式碼例項
本章節分享一段程式碼例項,它實現了圖片的淡入淡出效果。
在分享之後會有詳細的實現說明,需要的朋友可以做一下參考。
程式碼如下:
[HTML] 純文字檢視 複製程式碼<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style type="text/css"> * { margin: 0px; padding: 0px; } #content-mid-top { width: 670px; height: 240px; background-color: #F5F5F5; position: absolute; } #content-mid-top li { list-style-type: none; width: 670px; height: 240px; } #content-mid-top img { filter: alpha(opacity:100); opacity: 1; } </style> <script type="text/javascript"> window.onload = function () { var oDiv = document.getElementById('content-mid-top'); var aLi = oDiv.getElementsByTagName('li'); for (var index = 0; index < aLi.length; index++) { aLi[index].timer = null; aLi[index].alpha = 100; aLi[index].onmouseover = function () { startMove(this, 100); } aLi[index].onmouseout = function () { startMove(this, 0); } } }; function startMove(obj, iTarget) { clearInterval(obj.timer); obj.timer = setInterval(function () { var ispeed = (iTarget - obj.alpha) / 10; ispeed = ispeed > 0 ? Math.ceil(ispeed) : Math.floor(ispeed); if (obj.alpha == iTarget) { clearInterval(obj.timer); } else { obj.alpha = obj.alpha + ispeed; obj.style.filter = 'alpha(opacity:' + obj.alpha + ')'; obj.style.opacity = obj.alpha / 100; } }, 30); } </script> </head> <body> <ul id="content-mid-top"> <li class="img-1"><img src="demo/js/img/small.jpg"/></li> </ul> </body> </html>
上面的程式碼實現了淡入淡出效果,下面介紹一下它的實現過程。
一.程式碼註釋:
(1).window.onload = function () {},當文件內容完全載入完畢再去執行函式中的程式碼。
(2).var oDiv = document.getElementById('content-mid-top'),獲取指定id的元素物件。
(3).var aLi = oDiv.getElementsByTagName('li'),元素物件下所有的li元素物件集合。
(4).for (var index = 0; index < aLi.length; index++) {
aLi[index].timer = null;
aLi[index].alpha = 100;
aLi[index].onmouseover = function () { startMove(this, 100); }
aLi[index].onmouseout = function () { startMove(this, 0); }
},遍歷li元素集合中的每一個元素。
然後為每一個元素新增一些自定義屬性。
aLi[index].timer用來儲存定時器函式的標識。
aLi[index].alpha透明度的一個初始值。
aLi[index].onmouseover定義滑鼠懸浮的時候,將透明度設定為不透明。
aLi[index].onmouseout定義滑鼠離開的時候,透明度設定為0.
(5).function startMove(obj, iTarget) {
clearInterval(obj.timer);
obj.timer = setInterval(function () {
var ispeed = (iTarget - obj.alpha) / 10;
ispeed = ispeed > 0 ? Math.ceil(ispeed) : Math.floor(ispeed);
if (obj.alpha == iTarget) {
clearInterval(obj.timer);
}
else {
obj.alpha = obj.alpha + ispeed;
obj.style.filter = 'alpha(opacity:' + obj.alpha + ')';
obj.style.opacity = obj.alpha / 100;
}
}, 30);
},實現了透明度設定的功能,並且實現瀏覽器相容。
二.程式碼註釋:
(1).getElementsByTagName()可以參閱document.getElementsByTagName()一章節。
(2).onmouseover事件可以參閱javascript mouseover事件一章節。
(3).onmouseout事件可以參閱javascript mouseout事件一章節。
(4).clearInterval()可以參閱clearInterval()一章節。
(5).setInterval()可以參閱setInterval()一章節
(6).Math.ceil()可以參閱javascript Math.ceil()一章節。
(7).Math.floor()可以參閱javascript Math.floor()一章節。
(8).js設定透明度可以參閱javascript實現的以漸變方式設定透明度一章節。
相關文章
- js淡入淡出效果例項程式碼JS
- js圖片碎片化效果程式碼例項JS
- javascript淡入淡出效果程式碼例項JavaScript
- 淡入淡出效果簡單程式碼例項
- div的淡入淡出效果程式碼例項
- javascript實現的淡入淡出效果程式碼例項JavaScript
- css實現圖片灰度效果程式碼例項CSS
- 圖片上傳預覽效果程式碼例項
- jQuery選項卡切換圖片效果程式碼例項jQuery
- 滑鼠滑過實現淡入淡出效果程式碼例項
- 圖片正反面翻轉效果程式碼例項
- js圖片緩衝載入程式碼例項JS
- 圖片滑過亮光光弧效果程式碼例項
- js重力球效果程式碼例項JS
- js煙花效果程式碼例項JS
- js鐘錶效果程式碼例項JS
- js秒錶效果程式碼例項JS
- 具有淡入淡出效果的下拉導航選單例項程式碼單例
- css實現圖片上下左右居中效果程式碼例項CSS
- html5拖動上傳圖片效果程式碼例項HTML
- 滑鼠滑過圖片出現光弧效果程式碼例項
- CSS3圖片邊框陰影效果程式碼例項CSSS3
- js圖片等比例放大縮小例項程式碼JS
- css圖片變黑白程式碼例項CSS
- 利用css切割圖片程式碼例項CSS
- js不重複抽獎效果程式碼例項JS
- js元素上下移動效果程式碼例項JS
- js table隔行變色效果程式碼例項JS
- js簡單日曆效果程式碼例項JS
- js小球拋物線效果程式碼例項JS
- js簡單摺紙效果程式碼例項JS
- js元素的震動效果程式碼例項JS
- js左右滑動選項卡效果程式碼例項JS
- js圖片切換例項JS
- js獲取上傳圖片尺寸和格式程式碼例項JS
- jQuery大圖跟隨效果程式碼例項jQuery
- js和css3實現的圖片立體滾動切換效果程式碼例項JSCSSS3
- 隨機漂浮圖片廣告例項程式碼隨機