javascript緩衝彈性方式設定元素的尺寸
設定元素的尺寸當然是非常簡單,但是普通的方式稍顯粗暴不夠美觀,元素的尺寸瞬間完成。
而彈性方式則人性化很多,下面就是一段這樣的程式碼例項,需要的朋友可以做一下參考。
程式碼例項如下:
[HTML] 純文字檢視 複製程式碼<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style type="text/css"> *{ margin:0; padding:0; } body{ margin:5px auto; text-align:center; background:#f0f0f0; } #box{ position:absolute; top:100px; left:20px; width:100px; height:60px; border:1px solid #808; } #st{ cursor:pointer; background:#ccf; margin:5px; } </style> <script type="text/javascript"> var sw=100; var ew=580; var p=10; var t=20; function done(){ var cw = parseInt(getStyle(box,'width')); if(cw<ew){ box.style.width = cw + Math.ceil((ew-cw)/p) + 'px'; setTimeout('done()', t); } else{ box.style.width=ew+'px'; } } function getStyle(elem,name){ if(elem.style[name]){ return elem.style[name]; } else if(elem.currentStyle){ return elem.currentStyle[name]; } else if(document.defaultView && document.defaultView.getComputedStyle){ name=name.replace(/([A-Z])/g,"-$1"); name=name.toLowerCase(); var s=document.defaultView.getComputedStyle(elem,""); return s && s.getPropertyValue(name); } else {return null;} } window.onload=function(){ var st = document.getElementById('st'); st.onclick=function(){done()} } </script> </head> <body> <div id="box"> <span id="st">檢視效果</span> </div> </body> </html>
上面的程式碼實現了我們的要求,下面介紹一下它的實現過程。
一.程式碼註釋:
(1).var sw=100,元素的最初寬度。
(2).var ew=580,元素的最大寬度。
(3).var p=10,用來計算元素尺寸每次增長尺寸的一個值。
(4).var t=20,規定定時器函式延遲執行的時間。
(5).function done(){},此方法是實現緩衝運動的核心。
(6).var cw = parseInt(getStyle(box,'width')),獲取元素的width屬性值。
(7).if(cw<ew){
box.style.width = cw + Math.ceil((ew-cw)/p) + 'px';
setTimeout('done()', t);
},如果當前的寬度小於最大寬度。
那麼繼續設定元素的寬度值,當然是逐步增加,但是由於ew-cw越來越小,那麼增長的速度就越慢。
最後通過定時器函式遞迴的不斷執行函式done。
(8).else{
box.style.width=ew+'px';
},否則的話設定元素的寬度等於最大寬度。
(9).getStyle()的用法可以參閱相關閱讀。
二.相關閱讀:
(1).parseInt()方法可以參閱javascript parseInt()一章節。
(2).Math.ceil()方法可以參閱javascript Math.ceil()一章節。
(3).setTimeout()方法可以參閱setTimeout()一章節。
(4).getStyle()方法可以參閱getComputedStyle()和currentStyle屬性的用法一章節。
相關文章
- javascript div元素彈性緩衝運動程式碼例項JavaScript
- JavaScript 動畫方式設定元素尺寸和透明度JavaScript動畫
- css設定span元素的尺寸CSS
- 原生javascript如何設定元素的屬性JavaScript
- javascript使用style方式設定元素的樣式JavaScript
- 如何設定檔案的緩衝
- JavaScript元素上下彈性運動JavaScript
- jQuery動態設定div元素的尺寸jQuery
- javascript使用style方式如何設定和獲取元素的float浮動屬性JavaScript
- JavaScript與CSS3動畫方式改變元素尺寸JavaScriptCSSS3動畫
- javascript實現的多元素緩衝運動程式碼例項JavaScript
- JavaScript 緩衝運動JavaScript
- javascript實現的設定和獲取元素屬性JavaScript
- 設定display:none無法獲取元素的尺寸None
- js實現的div元素尺寸彈性縮放效果程式碼例項JS
- javascript中獲取元素尺寸JavaScript
- JavaScript拖動調整元素的尺寸JavaScript
- 將python stdout設定為不緩衝Python
- jquery動態設定元素的尺寸程式碼例項jQuery
- 偽元素需要將其設定為塊級元素或者塊級內聯元素才能設定尺寸
- JavaScript WebGL 幀緩衝區物件JavaScriptWeb物件
- JavaScript 拖動調整元素尺寸JavaScript
- js style方式設定元素的樣式JS
- javascript學習之路之元素獲取和設定屬性JavaScript
- JavaScript水平緩衝運動詳解JavaScript
- JavaScript設定元素透明度JavaScript
- JavaScript設定元素float浮動JavaScript
- CSS3動畫方式改變div元素的尺寸CSSS3動畫
- 瀏覽器/元素尺寸相關的屬性瀏覽器
- CSS與canvas屬性設定畫布尺寸CSSCanvas
- CSS 與 canvas 屬性設定畫布尺寸CSSCanvas
- 行內元素屬性設定
- JavaScript設定屬性JavaScript
- jQuery動畫方式設定元素的透明度jQuery動畫
- 以動畫方式設定元素的透明度動畫
- jQuery如何設定元素的屬性值jQuery
- javascript緩衝運動程式碼例項JavaScript
- javascript緩衝運動框架程式碼分析JavaScript框架