這篇文章給大家分享的是有關jQuery中progress的用法的內容。小編覺得挺實用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。
progress
Type: Function( Promise animation, Number progress, Number remainingMs )
每一步動畫完成后調用的一個函數,無論動畫屬性有多少,每個動畫元素都執行單獨的函數。(version added: 1.8)
Number progress:表示當前動畫進展程度0~1
Number remainingMs:就是變化到最終動畫屬性值還差多少
CSS代碼:
.block {
position: relative;
background-color: #abc;
width: 40px;
height: 40px;
float: left;
margin: 5px;
}
.wrap{position:relative;float:left;width:400px;}
#go{border:1px solid red;color:blue;cursor:pointer;}Html代碼:
<p>
<button id="go">Run>></button>
</p>
<p class="wrap">
<p class="block"></p>
<p class="block"></p>
<p class="block"></p>
<p class="block"></p>
<p class="block"></p>
<p class="block"></p>
</p>Javscript代碼:
var j=0,k=0;
$( "#go" ).one("click",function() {
$( ".block:first" ).animate(
{
left: 100,top:200
},
{
duration: 1000,
step: function( now, fx ){
k++;
if(k==1) console.log(fx);
$( ".block:gt(0)" ).css( fx.prop, now );//注意到prop的變化性
},
progress:function(a,p,r){
j++;
if(j==1){console.log(a);console.log(a.props)}
a.progress(function(){
console.log("Hi"+j);//注意progress的運行時機
});
console.log(p+"---"+r);//注意p,r的變化
}
});
});控制臺觀察輸出之后的值,你會有所得!
做個簡單的進度條動畫,開始是紅色,到30%時候變為綠色,到60%變為粉色,沒有用顏色變化插件,選擇的是替換class。讓大家對這個progress、step應用有個了解,愿此例拋磚引玉!
CSS代碼:
.progressBar {
float: left;
position: relative;
width: 500px;
height: 30px;
border: 1px solid orange;
background-color: #999;
}
.progressBar p {
padding: 0;
margin: 0;
position: absolute;
left: 0;
top: 0;
height: 30px;
}
.red {
background-color: red;
}
.green {
background-color: green;
}
.pink {
background-color: pink;
}Html代碼:
<p class="progressBar">
<p class="progress"></p>
</p>Javascript代碼:
$(".progressBar p").addClass("red").animate({
"width": 500
}, {
duration: 5000,
progress: function(a, p, r) {
if(p > 0.3 && !$(this).hasClass("green")) $(this).removeClass().addClass("green");
if(p > 0.6 && !$(this).hasClass("pink")) $(this).removeClass().addClass("pink");
}
});感謝各位的閱讀!關于jQuery中progress的用法就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。