JS運(yùn)動(dòng)改變單物體透明度的方法分析
本文實(shí)例講述了JS運(yùn)動(dòng)改變單物體透明度的方法。分享給大家供大家參考,具體如下:
除了通過改變物體的 寬,高,letf,top位置或者是運(yùn)動(dòng)方向來實(shí)現(xiàn)物體運(yùn)動(dòng)效果之外,改變物體的透明度,也是運(yùn)動(dòng)特效
<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,這四個(gè)方法,并沒有offsetAlpha這個(gè)方法。
問:那么我們?cè)趺磥?獲取當(dāng)前物體的透明度那??
我們可以自己定義一個(gè)變量 var alpha = 30;通過判斷這個(gè)變量 是否和目標(biāo)值是否相等,來繼續(xù)我們下一步的操作;
var alpha = 30; // 自定義一個(gè)變量
當(dāng)alpha 等目標(biāo)值得時(shí)候,清楚定時(shí)器,否則就改變透明度的值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>
更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《JavaScript切換特效與技巧總結(jié)》、《JavaScript動(dòng)畫特效與技巧匯總》、《JavaScript查找算法技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》、《JavaScript中json操作技巧總結(jié)》、《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)》及《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)》
希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。
- JavaScript實(shí)現(xiàn)多個(gè)物體同時(shí)運(yùn)動(dòng)
- JS實(shí)現(xiàn)多物體運(yùn)動(dòng)的方法詳解
- JS實(shí)現(xiàn)物體帶緩沖的間歇運(yùn)動(dòng)效果示例
- JS多物體實(shí)現(xiàn)緩沖運(yùn)動(dòng)效果示例
- js多個(gè)物體運(yùn)動(dòng)功能實(shí)例分析
- javascript多物體運(yùn)動(dòng)實(shí)現(xiàn)方法分析
- Javascript 多物體運(yùn)動(dòng)的實(shí)現(xiàn)
- JS實(shí)現(xiàn)多物體緩沖運(yùn)動(dòng)實(shí)例代碼
- JS多物體 任意值 鏈?zhǔn)?緩沖運(yùn)動(dòng)
- JS實(shí)現(xiàn)多物體運(yùn)動(dòng)
相關(guān)文章
js簡單實(shí)現(xiàn)用戶注冊(cè)信息的校驗(yàn)代碼
這篇文章介紹了js簡單實(shí)現(xiàn)用戶注冊(cè)信息的校驗(yàn)代碼,有需要的朋友可以參考一下2013-11-11
基于bootstrap-datetimepicker.js不支持IE8的快速解決方法
下面小編就為大家?guī)硪黄赽ootstrap-datetimepicker.js不支持IE8的快速解決方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-11-11
實(shí)現(xiàn)圖片首尾平滑輪播(JS原生方法—節(jié)流)
下面小編就為大家?guī)硪黄獙?shí)現(xiàn)圖片首尾平滑輪播(JS原生方法—節(jié)流)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-10-10
JavaScript使用二分查找算法在數(shù)組中查找數(shù)據(jù)的方法
這篇文章主要介紹了JavaScript使用二分查找算法在數(shù)組中查找數(shù)據(jù)的方法,較為詳細(xì)的分析了二分查找法的原理與javascript實(shí)現(xiàn)技巧,需要的朋友可以參考下2015-04-04
Bootstrap select實(shí)現(xiàn)下拉框多選效果
這篇文章主要為大家詳細(xì)介紹了Bootstrap select實(shí)現(xiàn)下拉框多選效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-12-12
Cropper.js進(jìn)階之固定寬高圖片裁切實(shí)現(xiàn)示例
這篇文章主要為大家介紹了Cropper.js進(jìn)階之固定寬高圖片裁切實(shí)現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05

