【番外編】ライトノベルで学ぶjQuery入門 【holdReadyの巻】
大掃除も終わり、大晦日の日、タラの白子鍋をやろうという話になり、いつもの部室で鍋パーティを行う運びになった。
「あー、このタラの精子鍋おいしいわ。冬の味覚って気がするわね」
真琴は鍋の具を口にし、満面の笑みを浮かべる。
「そういう言い方やめろ。食欲がなくなるだろ」
「まちがったこと言ってないでしょ。愛華だってそうでしょ?」
「そうですね。やっぱり北海道産を選んだのは正解でしたね」
愛華もやはり鍋の味に満足しているようだった。
「ところで、年明けは新年会に呼ばれてるから、かくし芸を用意しないとね」
真琴が自分の皿に具材を追加しながら言う。
「新年会?なんのことだ」
「新年会と言ったら新年会よ。商店街からぜひAV部の皆さんも来てってラブジュ…、じゃなかったラブコールが来てるのよ。DVDの在庫もさばけるかもだし、断る理由も無い!」
「で、かくし芸って何やるんだ?」
「二人羽織よ。でもただの二人羽織じゃなくて、二人羽織で手コキをするの。大丈夫、わたしが後ろからしごく役をやってあげるから、ありがたく思いなさい」
「おい、なんだそれ」
「かくし芸なのに、かくしてないだろ!ってのがコンセプトよ。意外性が狙えるわ」
「かくし芸面白そうですね!サイトのトップページでかくし芸特集を載せてみたいです」
「愛華までそういうことを言うか」
「ところで、サイト上でかくし芸特集を見たい人はトップページ全体がかくし芸っぽいノリになるようにjQueryで制御できないものなんですかぁ」
「いろんな方法はあると思うけど、あるボタンをクリックしたときだけ、$(document).readyを実行させる、なんて方法もあるわ。それを応用すれば」
「$(document).readyってサイトを表示した途端に嫌でもすぐ実行されるんじゃないのか?」
「そうでもないわ。holdReadyっていう関数を使う方法がある。サンプルはこんな感じよ」
…
<body>
<script type="text/javascript">
$.holdReady(true);
$(document).ready(function(){
alert('表示されました!');
});
</script>
<form action="">
<input type="button" value="かくし芸ページ表示" onclick="$.holdReady(false)">
</form>
</body>
…
確かに実行すると『かくし芸ページ表示』ボタンが表示されるだけで、$(document).readyの内容は実行されない。そしてクリックしてやっとalertが実行された。
「まずポイントは、 $.holdReady(true)を定義しておくこと。引数にtrueが入っていることで、$(document).readyの実行は保留されるの。そしてボタンをクリックしたら、$.holdReady(false)が実行される。つまり保留が解除されるから、alertが実行されるわけね」
「へぇ~、jQueryってこんなことまでできるんですね!これを応用したらトップページにコウタさん、真琴さんの『かくしてない』かくし芸のコンテンツを表示できそうです!」
「ノリノリだなww」
年が明けても思いやられそうな、我がAV部であった。