JavaScript 動畫方式設定元素尺寸和透明度
使用javascript設定元素的尺寸和透明度非常的簡單。
不過使用動畫方式實現就更加美觀和人性化一些,下面就分享一段程式碼例項,它實現了這樣的功能。
程式碼如下:
[HTML] 純文字檢視 複製程式碼執行程式碼<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style type="text/css"> body, div{ margin: 0; padding: 0; font-size: 12px; } table { border-collapse: collapse; border-spacing: 0; } ul { list-style: none; } .odiv { position: relative; } .odiv ul li { width: 200px; height: 100px; background: yellow; margin-bottom: 20px; border: 2px solid #000; } #li1 { opacity: 0.3; filter: alpha(opacity:30); } </style> <script language="javascript"> window.onload = function () { var li1 = document.getElementById('li1'); li1.onmouseover = function () { startMov(li1, 400, 'width', function () { startMov(li1, 200, 'height', function () { startMov(li1, 100, 'opacity'); }); }); }; li1.onmouseout = function () { startMov(li1, 30, 'opacity', function () { startMov(li1, 100, 'height', function () { startMov(li1, 100, 'width'); }); }); }; li1.timer = null; function startMov(obj, itarget, attr, fn) { clearInterval(obj.timer); obj.timer = setInterval(function () { var icur = 0; if (attr == 'opacity') { icur = Math.round(parseFloat(getStyle(obj, attr)) * 100); } else { icur = parseInt(getStyle(obj, attr)); } var speed = 0; speed = (itarget - icur) / 8; speed = speed > 0 ? Math.ceil(speed) : Math.floor(speed); if (icur == itarget) { clearInterval(obj.timer); if (fn) { fn(); } } else { if (attr == 'opacity') { obj.style.filter = 'alpha(opacity:' + (icur + speed) + ')'; obj.style.opacity = (icur + speed) / 100; } else { obj.style[attr] = icur + speed + 'px'; } } }, 30); } function getStyle(obj, attr) { if (obj.currentStyle) { return obj.currentStyle[attr]; } else { return getComputedStyle(obj, false)[attr]; } } } </script> </head> <body> <div id="odiv" class="odiv"> <ul> <li id="li1"></li> </ul> </div> </body> </html>
相關文章
- JavaScript設定元素透明度JavaScript
- JavaScript與CSS3動畫方式改變元素尺寸JavaScriptCSSS3動畫
- CSS3動畫方式改變div元素的尺寸CSSS3動畫
- jQuery動態設定div元素的尺寸jQuery
- JavaScript動畫方式控制div元素的隱藏和顯示JavaScript動畫
- JavaScript 拖動調整元素尺寸JavaScript
- JavaScript設定元素float浮動JavaScript
- JavaScript拖動調整元素的尺寸JavaScript
- CSS 動畫方式改變 div 尺寸CSS動畫
- JavaScript動態設定元素背景圖片JavaScript
- css設定canvas畫布尺寸與width和height設定的區別CSSCanvas
- CSS和canvas標籤設定畫布尺寸區別CSSCanvas
- CSS3漸變方式設定透明度CSSS3
- CSS max-width/min-width設定元素尺寸CSS
- CSS 與 canvas 屬性設定畫布尺寸CSSCanvas
- CSS與canvas屬性設定畫布尺寸CSSCanvas
- XamarinAndroid元件教程設定自定義子元素動畫(二)NaNAndroid元件動畫
- XamarinAndroid元件教程設定自定義子元素動畫(一)NaNAndroid元件動畫
- SVG 填充、描邊和透明度設定SVG
- canvas 設定透明度Canvas
- jQuey設定透明度
- CSS 透明度設定CSS
- canvas設定透明度Canvas
- JavaScript 動畫方式彈出圓角框JavaScript動畫
- 如何設定列印尺寸?
- CSS 設定邊框透明度CSS
- 元素的尺寸 offsetWidth和clientWidth的區別client
- 設定連結<a>的尺寸
- JavaScript動態新增和刪除div元素JavaScript
- JavaScript動態設定float浮動JavaScript
- JavaScript獲取瀏覽器、元素、螢幕的寬高尺寸JavaScript瀏覽器
- ppt動畫出現順序怎麼設定 PPT設定動畫文字順序動畫
- canvas預設畫布的尺寸是多大?怎樣設定才能不會變形?Canvas
- js元素尺寸和位置,包含clientWidth、offsetWidth、scrollWidth等JSclient
- JavaScript元素抖動效果JavaScript
- 滑鼠懸浮div動畫改變尺寸動畫
- XamarinAndroid元件教程設定動畫的設定插值器NaNAndroid元件動畫
- Jquery如何獲取和設定元素內容?jQuery
- 設定和獲取元素固有屬性值