您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關JS中如何動態改變單物體透明度的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
具體如下:
除了通過改變物體的 寬,高,letf,top位置或者是運動方向來實現物體運動效果之外,改變物體的透明度,也是運動特效
<script> window.onload = function () { var oDiv = document.getElementById('div1'); oDiv.onmousemove = function () { startMove(100); } oDiv.onmouseout = function () { startMove(30); } } var timer = null; function startMove(iTarget) { clearInterval(timer); var oDiv = document.getElementById('div1'); timer = setInterval(function(){ if(oDiv.offsetAlpha == iTarget){ .... } },30); } </script>
但是在js中只有offsetLeft/Top ,offsetWidth/Height,這四個方法,并沒有offsetAlpha這個方法。
問:那么我們怎么來 獲取當前物體的透明度那??
我們可以自己定義一個變量 var alpha = 30;通過判斷這個變量 是否和目標值是否相等,來繼續我們下一步的操作;
var alpha = 30; // 自定義一個變量
當alpha 等目標值得時候,清楚定時器,否則就改變透明度的值alpha
if(alpha == iTarget){ clearInterval(timer); }else{ alpha += iSpeed; oDiv.style.opacity = alpha/100; oDiv.style.filter = 'alpha(opacity:'+alpha+')'; }
完整的代碼如下:
<div id="div1"></div>
css樣式部分:
<style> #div1{ width: 100px;height: 100px; background: green; opacity:0.3; filter:alpha(opacity:30);/*兼容低版本IE*/ } </style>
js部分:
<script> window.onload = function () { var oDiv = document.getElementById('div1'); oDiv.onmousemove = function () { startMove(100); } oDiv.onmouseout = function () { startMove(30); } } var timer = null; var alpha = 30; function startMove(iTarget) { clearInterval(timer); var oDiv = document.getElementById('div1'); var iSpeed = 0; timer = setInterval(function(){ if(alpha>iTarget){ iSpeed = -10; }else{ iSpeed = 10; } if(alpha == iTarget){ clearInterval(timer); }else{ alpha += iSpeed; oDiv.style.opacity = alpha/100; oDiv.style.filter = 'alpha(opacity:'+alpha+')'; } },30); } </script>
感謝各位的閱讀!關于“JS中如何動態改變單物體透明度”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。