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

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

綜合了透明和多物體運動效果但是還是有點問題能幫我看一下嗎?

<title>多物體運動</title>

<style>

body,ul,li{

padding:0;

margin:0;

}

ul,li{

list-style:none;

}

ul li{

width:200px;

height:100px;

background:#FF0;

margin-bottom:20px;

filter:alpha(opacity:30);

? ? opacity:0.3;

}

</style>

<script>

? ? window.onload= function(){

var aLi= document.getElementsByTagName('li');

for(var i=0;i<aLi.length;i++){

aLi[i].timer=null;

aLi[i].alpha=30;

aLi[i].onmouseover=function(){

startMove(this,400,100)

}

aLi[i].onmouseout=function(){

startMove(this,200,30)

}

}

}

//var timer=null;

function startMove(obj,iTarget,style){

clearInterval(obj.timer);

obj.timer=setInterval(function(){

var speed = (iTarget-obj.offsetWidth)/8;

speed = speed>0?Math.ceil(speed):Math.floor(speed);?

if(obj.offsetWidth == iTarget){

clearInterval(obj.timer);

}

else{

obj.style.width = obj.offsetWidth+speed+'px';

}

var app = 0;

? ? ? ? ? ? if(obj.alpha>style){

? ? ? ? ? ? ? ? app = -10;

? ? ? ? ? ? }

? ? ? ? ? ? else{

? ? ? ? ? ? ? ? app = 10;

? ? ? ? ? ? }

? ? ? ? ? ? if(obj.alpha == style){

? ? ? ? ? ? clearInterval(obj.timer)

? ? ? ? ? ? }

? ? ? ? ? ? else{

? ? ? ? ? ? obj.alpha+=app;

? ? ? ? ? ? obj.style.opacity = obj.alpha/100

? ? ? ? ? ? }

},30);

}

</script>

</head>


<body>

<ul>

? ? <li></li>

? ? <li></li>

? ? <li></li>

</ul>

</body>

</html>

物體的長度還是有問題,鼠標碰了過后有的會變長

正在回答

3 回答

其實是你的透明度變得比長度快,所以關閉了整個計時器,長度還沒變回來

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

初心未泯 提問者

非常感謝!一下就解惑了,謝謝了
2015-06-10 回復 有任何疑惑可以回復我~
#2

Ripple07 回復 初心未泯 提問者

那怎么解決的?
2015-06-28 回復 有任何疑惑可以回復我~

<!DOCTYPE html>
<html>
<head>
?? ?<meta chsrset="utf-8" />
?? ?<title>11</title>
<style>
?? ?body,ul,li{
?? ??? ?padding:0;
?? ??? ?margin:0;
?? ?}

?? ?ul,li{
?? ??? ?list-style:none;
?? ?}

?? ?ul li{
?? ??? ?width:200px;
?? ??? ?height:100px;
?? ??? ?background:#FF0;
?? ??? ?margin-bottom:20px;
?? ??? ?filter:alpha(opacity:30);
?? ??? ?opacity:0.3;
}
</style>
<script>
??? window.onload= function(){
?? ??? ?var aLi= document.getElementsByTagName('li');
?? ??? ?for(var i=0;i<aLi.length;i++){
?? ??? ??? ?aLi[i].timer1=null;
?? ??? ??? ?aLi[i].timer2=null;
?? ??? ??? ?aLi[i].alpha=30;
?? ??? ??? ?aLi[i].onmouseover=function(){
?? ??? ??? ??? ?startMove(this,400,100)
?? ??? ??? ?}
?? ??? ??? ?aLi[i].onmouseout=function(){
?? ??? ??? ??? ?startMove(this,200,30)
?? ??? ??? ?}
?? ??? ?}
?? ?}


?? ?function startMove(obj,iTarget,style){
?? ??? ?clearInterval(obj.timer1);
?? ??? ?clearInterval(obj.timer2);
?? ??? ?obj.timer1=setInterval(function(){
?? ??? ??? ?var speed = (iTarget-obj.offsetWidth)/8;
?? ??? ??? ?speed = speed>0?Math.ceil(speed):Math.floor(speed);
?? ??? ??? ?if(obj.offsetWidth == iTarget){
?? ??? ??? ??? ?clearInterval(obj.timer1);
?? ??? ??? ?}
?? ??? ??? ?else{
?? ??? ??? ??? ?obj.style.width = obj.offsetWidth+speed+'px';
?? ??? ??? ?}
?? ??? ?},30);

?? ??? ?obj.timer2=setInterval(function(){
?? ??? ??? ?var app = 0;
??????????? if(obj.alpha>style){
??????????????? app = -10;
??????????? }
??????????? else{
??????????????? app = 10;
??????????? }
??????????? if(obj.alpha == style){
?????????? ??? ?clearInterval(obj.timer2);
??????????? }
??????????? else{
????????? ??? ??? ?obj.alpha+=app;
?????????? ??? ?obj.style.opacity = obj.alpha/100;
??????????? }
?? ??? ?},30)
?? ?}
</script>
</head>
<body>
<ul>
??? <li></li>
??? <li></li>
??? <li></li>
</ul>
</body>
</html>


這樣可以。

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

當然會變了 你自己給加了樣式

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

舉報

0/150
提交
取消

綜合了透明和多物體運動效果但是還是有點問題能幫我看一下嗎?

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

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

幫助反饋 APP下載

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

公眾號

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