suzrinブログ
HTML,CSS,Javascript,Nikon D5000での撮影記録あとPCパーツ大人のゲームなどなど
Javascriptのクロージャーの話
Jqueryを使っていると何でもかんでも変数に関数つっこんで書いておけば色々使い回しが出来て良いのですが、即実行で使い捨てのときなんか「クロージャー」の出番です。
たとえばページを開いたときにDBから各種データを読み込んでボタン作ったりプルダウンボックスするときとか。
何が良いかというと変数を隔離できること?
あとちょっとかっこいい。
var hoge = function (){
alert('piyo');
}
hoge();
とするところを
(function(){
alert('piyo');
})()
とするだけ。
たとえばページを開いたときにDBから各種データを読み込んでボタン作ったりプルダウンボックスするときとか。
何が良いかというと変数を隔離できること?
あとちょっとかっこいい。
var hoge = function (){
alert('piyo');
}
hoge();
とするところを
(function(){
alert('piyo');
})()
とするだけ。
PR
jqueryのdelegate
すっかり放置してましたねorz
久しぶりの更新はJavascriptネタで。
たとえば$.ajaxを使ってJSON形式でデータを受け取った後にforで展開するとかよくあると思いますが、
その時success内でイベントをバインドしないと実行されない。
というは当たり前ですが、実はlive()とdelegate()を使うとそんな事しなくても良いのです。
<div id="homu"></div>
の中に
$('#homu').html('<ul><li class="mado"></li></ul>');
するときに
$('#homu').delegate('.mado','click',function(){
なんとかかんとか
});
としておけば何個あとから.madoを追加してもイベントが自動的にバインドされるんですな。
というのを覚えた時には既にJQuery1.7のリリースで陳腐化していたというorz
bind(),live(),delegate()はon(),off()に統合されるようです。
詳しくは本家ドキュメントなどをどうぞ(´・ω・`)
久しぶりの更新はJavascriptネタで。
たとえば$.ajaxを使ってJSON形式でデータを受け取った後にforで展開するとかよくあると思いますが、
その時success内でイベントをバインドしないと実行されない。
というは当たり前ですが、実はlive()とdelegate()を使うとそんな事しなくても良いのです。
<div id="homu"></div>
の中に
$('#homu').html('<ul><li class="mado"></li></ul>');
するときに
$('#homu').delegate('.mado','click',function(){
なんとかかんとか
});
としておけば何個あとから.madoを追加してもイベントが自動的にバインドされるんですな。
というのを覚えた時には既にJQuery1.7のリリースで陳腐化していたというorz
bind(),live(),delegate()はon(),off()に統合されるようです。
詳しくは本家ドキュメントなどをどうぞ(´・ω・`)
ボックスをランダムでうろうろ動かすjavascript+jquery
自分用メモここまでやった
<script type="text/javascript">
$(document).ready(function(){
var setting = {
'tateidou': 100,
'yokoidou': 100
};
var qbMove = function(){
var moveDistance = function(hoge){
return Math.floor(Math.random() * hoge * 2) - hoge;
}
var positionX = $('#qbBox').position().left + moveDistance(setting['yokoidou']);
var positionY = $('#qbBox').position().top + moveDistance(setting['tateidou']);
if (positionX < 0) {
positionX = 0;
}
else
if (positionX > $('html').width()) {
positionX = $('html').width()
}
if (positionY < 0) {
positionY = 0;
}
else
if (positionY > $('html').height()) {
positionY = $('html').height()
}
$('#qbBox').animate({
'left': positionX,
'top': positionY
}, {
duration: 1000,
easing: 'swing',
complete: function(){
setTimeout(function(){
qbMove()
}, 2000)
}
});
}
qbMove();
})
</script>
<script type="text/javascript">
$(document).ready(function(){
var setting = {
'tateidou': 100,
'yokoidou': 100
};
var qbMove = function(){
var moveDistance = function(hoge){
return Math.floor(Math.random() * hoge * 2) - hoge;
}
var positionX = $('#qbBox').position().left + moveDistance(setting['yokoidou']);
var positionY = $('#qbBox').position().top + moveDistance(setting['tateidou']);
if (positionX < 0) {
positionX = 0;
}
else
if (positionX > $('html').width()) {
positionX = $('html').width()
}
if (positionY < 0) {
positionY = 0;
}
else
if (positionY > $('html').height()) {
positionY = $('html').height()
}
$('#qbBox').animate({
'left': positionX,
'top': positionY
}, {
duration: 1000,
easing: 'swing',
complete: function(){
setTimeout(function(){
qbMove()
}, 2000)
}
});
}
qbMove();
})
</script>
homuhomuの記事意味がわからないYO!ってつっこまれたので
前々回のエントリーhomuhomuの解説!
えーテキストエリアをクリックして何か文字が入っている状態で別の場所をクリックしてテキストエリアからフォーカスをはずすと何でもほむほむ語に変換してしまうほむほむ語変換機です(´・ω・`)
それだけ・・・
えーテキストエリアをクリックして何か文字が入っている状態で別の場所をクリックしてテキストエリアからフォーカスをはずすと何でもほむほむ語に変換してしまうほむほむ語変換機です(´・ω・`)
それだけ・・・
忙しい・・・・とりあえず神採り練金マイスターやってますがy=ー( ゚д゚)・∵. ターン
エウシュリーさんは戦女神2のころからメーカー買いしちゃってるんですが、相変わらず時間泥棒ですね!
同システムで全作のダンジョンマイスターも全然クリアー出来てなかったので
(こういうSLG以外と苦手なのか?ラングリッサーは得意だったけど微妙に違うんだよね・・・)
気合い入れて取りあえず一週目ユエラでクリアーしましたよ\(>ヮ<)/
えー二週目の遣り込みは封印して残り二人ルートを流しプレイしつつ適当に進めたい・・・
同システムで全作のダンジョンマイスターも全然クリアー出来てなかったので
(こういうSLG以外と苦手なのか?ラングリッサーは得意だったけど微妙に違うんだよね・・・)
気合い入れて取りあえず一週目ユエラでクリアーしましたよ\(>ヮ<)/
えー二週目の遣り込みは封印して残り二人ルートを流しプレイしつつ適当に進めたい・・・
homuhomu
ほむほむまじほむほむ
カレンダー
| 01 | 2012/02 | 03 |
| S | M | T | W | T | F | S |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 7 | 8 | 9 | 10 | 11 | |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 |
ブログ内検索
ツイッター
フリーエリア
18歳未満には不適切な内容がある場合が有ります閲覧にはご注意ください。
詳しくはりーどみーをご覧くださいお願いします
blogに関する連絡はこちらまで"suzrinあっとまーくmail.goo.ne.jp"
blogに関する連絡はこちらまで"suzrinあっとまーくmail.goo.ne.jp"
カテゴリー
最新記事
(02/06)
(01/22)
(11/19)
(06/01)
(05/09)
(05/07)
(05/07)
(03/19)
(03/19)
(03/12)
最新トラックバック
カウンター






