求助JS鏈?zhǔn)絼?dòng)畫(huà),寫(xiě)在opacity之前的動(dòng)畫(huà)可以鏈?zhǔn)綀?zhí)行,但是一旦有這個(gè)屬性之后,后面的就不執(zhí)行了..求助
????function?startMove(obj,purpose,attr,fn){
????????var?target=0;
????????clearInterval(obj.timer);
????????obj.timer=setInterval(function(){
????????????var?speed?=?0;
????????????if(attr?==?'opacity'){
????????????????target?=?Math.round(parseFloat(getStyle(obj,attr))*100);
????????????????purpose=purpose*100;
????????????}else{
????????????????target=parseInt(getStyle(obj,attr));
????????????}
????????????speed?=?(purpose-target)/10;
????????????speed?=?speed>0?Math.ceil(speed):Math.floor(speed);
????????????
????????????if(target==purpose){
????????????????clearInterval(obj.timer);
????????????????if(fn){
????????????????????fn();
????????????????}
????????????}else{
????????????????target=target+speed;
????????????????if(attr?==?'opacity'){
????????????????????obj.style.opacity=target/100;
????????????????}else{
????????????????????obj.style[attr]=target+'px';
????????????????}
????????????}
????????},30)
????}
????function?getStyle(obj,attr){
????????if(obj.currentStyle){
????????????return?obj.currentStyle[attr];
????????}else{
????????????return?getComputedStyle(obj,false)[attr];
????????}
????}上面是js代碼,下面是html代碼
<!DOCTYPE?html>
<html>
<head>
????<meta?charset="UTF-8">
????<title>鏈?zhǔn)竭\(yùn)動(dòng)</title>
????<style?type="text/css">
????*{margin:?0;padding:?0;}
????ul{list-style:?none;}
????ul?li{width:200px;height:?100px;background:?yellow;opacity:?0.3;border:?3px?solid?green;}
????</style>
????<script?type="text/javascript"?src="js/script.js"></script>
????<script>
????window.onload=function(){
????????var?li?=?document.getElementsByTagName("li")[0];
????????li.onmouseover=function(){
????????????startMove(li,400,'width',function(){
????????????????startMove(li,1,'opacity');
????????????});
????????}
????}
????</script>
</head>
<body>
????<ul>
????????<li></li>
????</ul>
</body>
</html>這樣是可以鏈?zhǔn)綀?zhí)行的,但是吧上面的順序換一下就不行了,求幫助
2017-11-08
第17行
startMove(li,1,'opacity');
應(yīng)該是100
2017-08-21
這個(gè)改了之后還是有點(diǎn)問(wèn)題,我把那個(gè)三元表達(dá)式重寫(xiě)成if-else語(yǔ)句之后就好了......并不懂為什么,我的三元表達(dá)式有寫(xiě)錯(cuò)嗎T-T
2017-08-21
我把?purpose=purpose*100;刪掉了,然后把傳參換成了自己乘了100了就可以了,但是我不懂為什么,求個(gè)好心人解答一下,先謝謝了