リスト10. animate
var width510 = '10%';
function Sample510(){
width510 = (width510 == '100%') ? '10%' : '100%';
jQuery('.Sample510 .panel').animate(
{
width : width510,
opacity : 'toggle'
},
{
duration : 10000,
complete : function(){
alert('完了!');
},
step : function(rate){
var cnt = Math.floor( rate * 100 );
jQuery(this).text(cnt + '%');
},
queue : false
}
);
}
実装例
リスト11. stop()
var sw511 = true;
var vc511 = true;
function Sample511(){
if( sw511 ){
jQuery('.Sample511 button').text('リスト11の停止');
sw511 = false;
jQuery('.Sample511 .face').animate(
{
marginLeft : vc511 ? '+=300px' : '-=300px'
},
{
duration : 10000,
complete : function(){
jQuery('.Sample511 button').text('リスト11の実行');
vc511 = vc511 ? false : true;
sw511 = true;
}
}
);
}
else
{
jQuery('.Sample511 .face').stop();
jQuery('.Sample511 button').text('リスト11の実行');
sw511 = true;
}
}
実装例
リスト12. queue()
function Sample512(){
// アニメーションを実行
Queue512();
jQuery('.Sample512 .rest').animate({marginLeft:'+=100px'},'slow',Queue512);
jQuery('.Sample512 .rest').queue(function(){
// アニメーションを追加
jQuery(this).css('color','red');
$(this).dequeue();
Queue512();
});
jQuery('.Sample512 .rest').animate({marginTop:'+=10px'},'slow',Queue512);
jQuery('.Sample512 .rest').queue(function(){
// アニメーションを追加
jQuery(this).css('color','blue');
$(this).dequeue();
Queue512();
});
jQuery('.Sample512 .rest').animate({marginLeft:'-=100px'},'slow',Queue512);
jQuery('.Sample512 .rest').queue(function(){
// アニメーションを追加
jQuery(this).css('color','');
$(this).dequeue();
Queue512();
});
jQuery('.Sample512 .rest').animate({marginTop:'-=10px'},'slow',Queue512);
}
function Queue512(){
// キュー内の数をカウント
var q = jQuery(this).queue();
var n = q.length;
var s = 1;
if( n > 1 ){
s = 9 - n;
}
else
{
// キューをクリア
jQuery(this).queue([]);
}
jQuery(this).text('ステップ ' + s);
}
実装例