2014-02-23 34 views
0

我想寫一個腳本,將開始褪色圖片到80%,然後60%等。一路下降到1%,但是當我打電話給事件(.click)我得到的是一個一次交易去哪裏,以我的設置不透明度。我怎麼能繼續它?提前致謝。這裏是我的代碼:jQuery - fadeTo() - 我怎麼讓它越來越褪色越來越多的事件被稱爲?

<html> 
<center><img 

src="image1.jpg" 
id="1"><br><img src="image2.jpg" 

width="500" height-"500" id="2" ></img></center> 

</html> 

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> 
<script> 


$(document).ready(function() { 

    $("#2").click(function() { 

     $("#1").fadeTo(500,.3); 


    }); 

}); 

</script> 

回答

0

您可以保留每增加它被稱爲時間變量的軌跡:

var x=1; 
$(document).ready(function() { 
    $("#2").click(function() { 
     if((x*.75)>(.01)){ 
     x=x*.75; //whatever desired pattern  
     } 
     $("#1").fadeTo(500, x); 
    }); 

}); 
+0

添加到不透明度與我所期望的相反。 –

+0

非常感謝asnwer,很快就會接受,但是想知道,是否有阻止x完全退出的方式?就像我想讓它去.1並停止? – user3342341

+0

是的,我相應地編輯了我的問題,只要它高於1%就會減少25%,然後停止。請注意,您可以通過更改'.75'值來更改減少的模式。 – ltalhouarne

0

事情是這樣的:

var opacity = 1; 

$("#2").click(function() { 
    opacity = opacity * .75; 

    $("#1").fadeTo(500, opacity); 
}); 

這將降低不透明度按每次點擊當前不透明度的25%。您可以修改計算來調整它每次消失的額外數量。

http://jsfiddle.net/MPd3x/1/

1

要麼通過jQuery經由可變跟蹤當前不透明度的,或獲取當前不透明度等,以便 變種不透明度= $(「elemFoo」)的CSS(「不透明度」);

然後將不透明度減少到期望的水平。

var opacity= $('elemFoo').css('opacity'); 
if(opacity > 0.2){ 
    $('elemFoo').faceTo(opacity - 0.2); 
} 
2

這應該可以做到。

$(document).ready(function() { 
    $("#2").click(function() { 
     if($("#1").css("opacity")>.2) { 
     $("#1").fadeTo(500,$("#1").css("opacity")-.2); 
     } else { 
     $("#1").fadeTo(500, .01); 
     $("#2").unbind("click"); 
     } 
    }); 
}); 
+0

按照他的要求,這不會停止在1%。 – ltalhouarne

+0

檢查我的編輯... –