亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

為什么這里設置透明度時用opacity,50而不是用opacity,0.5,在程序第四十步cur=Math.round(parseFloat(getStyle(obj,attr))*100);里不是已經乘了100了嗎?

<!DOCTYPE??HTML>
<html?>
<head>
<meta?http-equiv="Content-Type"?content="text/html;?charset=utf-8"?/>
<title>鏈式運動</title>
<style>
div{width:200px;height:200px;background-color:yellow;margin:10px;float:left;}
</style>
<script?type="text/javascript">
???window.onload=function()
????{
?????var?oDiv1=document.getElementById('div1');
	?
	???oDiv1.onmouseover=function()
	???{
	?????startMove(this,'height',400,function()
		?{
		??startMove(oDiv1,'opacity',50);
		?});
	???};
	???oDiv1.onmouseout=function()
	???{
	?????startMove(this,'height',200);
	???};
	??
????}
??function?getStyle(obj,attr){
?????if(obj.currentStyle){
	???return?obj.currentStyle[attr];}
	?else{
	???return?getComputedStyle(obj,false)[attr];}
??}
??function?startMove(obj,attr,iTarget,fn)
??{
	?clearInterval(obj.timer);
	?obj.timer=setInterval(function(){
	?var?cur=0;
	?if(attr=='opacity')
	?{
	????cur=Math.round(parseFloat(getStyle(obj,attr))*100);
	?}
	?else?{?cur=parseInt(getStyle(obj,attr))};?
	?var?speed=(iTarget-cur)/6;
	?speed=speed>0?Math.ceil(speed):Math.floor(speed);
	????if?(cur==iTarget)
		{
		???clearInterval(obj.timer);
		???if(fn){
		???fn();
		???}
		}
	????else
		{
		???if(attr=='opacity')
		???{
		?????obj.style.filter='alpha(opacity:'+(cur+speed)+')';
			?obj.style.opacity=(cur+speed)/100;
		???}
		???else{obj.style[attr]=cur+speed+'px';}
????????}
	?},30);
??}
</script>
</head>
<body>
<div?id=div1></div>
</body>
</html>


正在回答

1 回答

currentStyle的結果在)到1之間,所以cur要x100;

使用50是為了和width和height保持一致。來計算speed

0 回復 有任何疑惑可以回復我~
#1

冰中何人知 提問者

非常感謝!
2016-01-11 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

為什么這里設置透明度時用opacity,50而不是用opacity,0.5,在程序第四十步cur=Math.round(parseFloat(getStyle(obj,attr))*100);里不是已經乘了100了嗎?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號