jQuery API の fadeTo( duration, opacity, callback ) は、指定した要素を、opacity に指定した不透明度になるまで、duration に指定した速度で、透明度を徐々に変更し、その後、callback に指定した関数を実行するメソッド。
記述方法
jQuery( セレクター ) . fadeTo( 速度, 不透明度, コールバック関数 );
「セレクター」の要素を、「不透明度」に指定した不透明度になるまで、「速度」に指定した速度で、透明度を徐々に変更し、その後、「コールバック関数」に指定した関数を実行する。
「速度」は、ミリ秒単位の数字、もしくは、'slow'、'normal'、'fast' の文字列で指定できる。
「不透明度」は、0~1の整数及び小数で指定する。例えば、「0.25」は、25%の不透明度を表す。
実装例(サンプル)
fadeTo( 2000, 0.25 ) / fadeTo( 2000, 1 ) ボタンをクリックすると:
①
②
fadeTo( 'fast', 0.25 ) / fadeTo( 'fast', 1 ) ボタンをクリックすると:
①
②
実装例(サンプル)の動作について
- 「 fadeTo( 2000, 0.25 ) / fadeTo( 2000, 1 ) 」ボタンをクリックすると、青色のボックスを、不透明度が「0.25」になるまで、2秒間のアニメーションでフェードアウトし、その後、赤色のボックスを、不透明度が「0.25」になるまで、2秒間のアニメーションでフェードアウトする。
- 「 fadeTo( 2000, 0.25 ) / fadeTo( 2000, 1 ) 」ボタンを再度クリックすると、青色のボックスを、不透明度が「1」になるまで、2秒間のアニメーションでフェードインし、その後、赤色のボックスを、不透明度が「1」になるまで、2秒間のアニメーションでフェードインする。
- 「 fadeTo( 'fast', 0.25 ) / fadeTo( 'fast', 1 ) 」ボタンをクリックすると、青色のボックスを、不透明度が「0.25」になるまで、速いアニメーションでフェードアウトし、その後、赤色のボックスを、不透明度が「0.25」になるまで、速いアニメーションでフェードアウトする。
- 「 fadeTo( 'fast', 0.25 ) / fadeTo( 'fast', 1 ) 」ボタンを再度クリックすると、青色のボックスを、不透明度が「1」になるまで、速いアニメーションでフェードインし、その後、赤色のボックスを、不透明度が「1」になるまで、速いアニメーションでフェードインする。
実装例(サンプル)のソースコード
JavaScript
<script>
<!--
jQuery( function() {
jQuery( '#jquery-api-fadeTo' ) . toggle(
function() {
jQuery( '#jquery-api-fadeTo-contents' ) . fadeTo(
2000,
0.25,
function() {
jQuery( '#jquery-api-fadeTo-contents-2' ) . fadeTo( 2000, 0.25 );
}
);
},
function() {
jQuery( '#jquery-api-fadeTo-contents' ) . fadeTo(
2000,
1,
function() {
jQuery( '#jquery-api-fadeTo-contents-2' ) . fadeTo( 2000, 1 );
}
);
}
);
jQuery( '#jquery-api-fadeTo-fast' ) . toggle(
function() {
jQuery( '#jquery-api-fadeTo-fast-contents' ) . fadeTo(
'fast',
0.25,
function() {
jQuery( '#jquery-api-fadeTo-fast-contents-2' ) . fadeTo( 'fast', 0.25 );
}
);
},
function() {
jQuery( '#jquery-api-fadeTo-fast-contents' ) . fadeTo(
'fast',
1,
function() {
jQuery( '#jquery-api-fadeTo-fast-contents-2' ) . fadeTo( 'fast', 1 );
}
);
}
);
} );
// -->
</script>
<!--
jQuery( function() {
jQuery( '#jquery-api-fadeTo' ) . toggle(
function() {
jQuery( '#jquery-api-fadeTo-contents' ) . fadeTo(
2000,
0.25,
function() {
jQuery( '#jquery-api-fadeTo-contents-2' ) . fadeTo( 2000, 0.25 );
}
);
},
function() {
jQuery( '#jquery-api-fadeTo-contents' ) . fadeTo(
2000,
1,
function() {
jQuery( '#jquery-api-fadeTo-contents-2' ) . fadeTo( 2000, 1 );
}
);
}
);
jQuery( '#jquery-api-fadeTo-fast' ) . toggle(
function() {
jQuery( '#jquery-api-fadeTo-fast-contents' ) . fadeTo(
'fast',
0.25,
function() {
jQuery( '#jquery-api-fadeTo-fast-contents-2' ) . fadeTo( 'fast', 0.25 );
}
);
},
function() {
jQuery( '#jquery-api-fadeTo-fast-contents' ) . fadeTo(
'fast',
1,
function() {
jQuery( '#jquery-api-fadeTo-fast-contents-2' ) . fadeTo( 'fast', 1 );
}
);
}
);
} );
// -->
</script>
CSS
<style>
<!--
#jquery-api-fadeTo-contents,
#jquery-api-fadeTo-contents-2,
#jquery-api-fadeTo-fast-contents,
#jquery-api-fadeTo-fast-contents-2 {
float: left;
padding: 10px;
width: 200px;
text-align: center;
color: white;
border: 1px solid gray;
border-radius: 10px;
}
#jquery-api-fadeTo-contents,
#jquery-api-fadeTo-fast-contents {
background-color: blue;
}
#jquery-api-fadeTo-contents-2,
#jquery-api-fadeTo-fast-contents-2 {
background-color: red;
}
-->
</style>
<!--
#jquery-api-fadeTo-contents,
#jquery-api-fadeTo-contents-2,
#jquery-api-fadeTo-fast-contents,
#jquery-api-fadeTo-fast-contents-2 {
float: left;
padding: 10px;
width: 200px;
text-align: center;
color: white;
border: 1px solid gray;
border-radius: 10px;
}
#jquery-api-fadeTo-contents,
#jquery-api-fadeTo-fast-contents {
background-color: blue;
}
#jquery-api-fadeTo-contents-2,
#jquery-api-fadeTo-fast-contents-2 {
background-color: red;
}
-->
</style>
HTML
<p><button id="jquery-api-fadeTo">fadeTo( 2000, 0.25 ) / fadeTo( 2000, 1 )</button></p>
<p>fadeTo( 2000, 0.25 ) / fadeTo( 2000, 1 ) ボタンをクリックすると:</p>
<div id="jquery-api-fadeTo-contents">
<p>①</p>
</div>
<div id="jquery-api-fadeTo-contents-2">
<p>②</p>
</div>
<div style="clear:left;"></div>
<p><button id="jquery-api-fadeTo-fast">fadeTo( 'fast', 0.25 ) / fadeTo( 'fast', 1 )</button></p>
<p>fadeTo( 'fast', 0.25 ) / fadeTo( 'fast', 1 ) ボタンをクリックすると:</p>
<div id="jquery-api-fadeTo-fast-contents">
<p>①</p>
</div>
<div id="jquery-api-fadeTo-fast-contents-2">
<p>②</p>
</div>
<div style="clear:left;"></div>
<p>fadeTo( 2000, 0.25 ) / fadeTo( 2000, 1 ) ボタンをクリックすると:</p>
<div id="jquery-api-fadeTo-contents">
<p>①</p>
</div>
<div id="jquery-api-fadeTo-contents-2">
<p>②</p>
</div>
<div style="clear:left;"></div>
<p><button id="jquery-api-fadeTo-fast">fadeTo( 'fast', 0.25 ) / fadeTo( 'fast', 1 )</button></p>
<p>fadeTo( 'fast', 0.25 ) / fadeTo( 'fast', 1 ) ボタンをクリックすると:</p>
<div id="jquery-api-fadeTo-fast-contents">
<p>①</p>
</div>
<div id="jquery-api-fadeTo-fast-contents-2">
<p>②</p>
</div>
<div style="clear:left;"></div>