2月 2009
29件の投稿
2タグ
jQuery UIで後から追加した要素へもドラッグ出来るようにする
sortableな要素同士をconnectWithで繋いでる場合、後から足した要素にsortableを適用するだけでは繋がりが更新されない。
Draggable + SortableデモのようにconnectToSortableでドラッグしてソートリストに要素を追加している場合も、後から足した要素へはドラッグ出来ない。
要素をappendした後にセッターでそれぞれconnectWithとconnectToSortableをアップデートしてあげればOK。
sortable_elem.sortable('option', 'connectWith', new_sortable_elem);
draggable_elem.draggable('option', 'connectToSortable', new_sortable_elem);
...
6タグ
JavaScript/CSS/Flash Tips
メモが出て来たので掲載。
Flash: swfのz-indexはwmode=transparentで維持出来る
transparentでは入力フォームでIMEが効かない問題がある
一番上だけはwindowを指定しても重なりは維持される
重なりを維持しつつ日本語入力したい場合は入力欄だけ別swfにして浮かせるような処理が必要。
Fx2: swf削除時にsetTimeoutすると落ちなくなる
setTimeout(function() {
$('#some-swf').remove();
}, 0);
普通に消すとブラクラ。
IE6: filter透過PNGはwidthかheightどちらかが指定されてないと表示されない
IE: absoluteな要素を後付けする時はtop、leftを指定しないと下に余白が出来る
よく覚えてない。
IE:...
1タグ
Tumblrとblosxomは似ている気がする。
3タグ
PHP用の$.param
を頼まれたので書いた。$.phparam^^^
http://gist.github.com/69013
ネストしたオブジェクトをパラメータに指定するとfoo[bar]=baz&...のような書式にします。例:
$.phparam({
foo: {
bar: 'barbar',
baz: {
'a': 'aa',
'b': 'bb'
}
},
hoge: 'hogehoge'
});
// "foo%5Bbar%5D=barbar&foo%5Bbaz%5D%5Ba%5D=aa&foo%5Bbaz%5D%5Bb%5D=bb&hoge=hogehoge"
...
2タグ
$.parents(expr)は配列の順序を保持しない
またjQueryか。
$.parentsに限らないけど、引数でフィルタリング出来るメソッドで複数の要素をセレクタで指定すると配列の順序が狂う。先祖の並びが欲しい時に困る。
<html>
<body>
<h1>Example</h1>
<div>
<ul>
<li class="self">A</li>
</ul>
</div>
</body>
</html>
何も指定しなければ親順になる。
$('.self').parents(); // [ul, div, body, html]...
ゴチャ☆
ジャンルに関係なく記事を詰め込んでいくのは迷惑な気がして来た。目を通さないと判別出来ないのは押し付けで、個人の興味とかどうでもいいのではないか。プログラムは他と混ぜるにはまだまだ特殊な感じがする。
フレーズ単位のTumblr文化的にはありなのかな。分けたくなったら分けます。
1タグ
String#replaceの置き換えパターンの挙動
$1 ←これ
JSのString#replaceメソッドの置き換えパターン「$1」の直後に数字を置いた場合どうなるのか疑問だったので調べた。
http://gist.github.com/67389
最大の括弧数までがパターンになる結果に。括弧が11個以上あれば「$11+数字」、なければ「$1+数字」として認識される。動作は各ブラウザで共通(Fx3、Safari3、Opera10、IE6)。
実際のところソースが非常に分かりにくくなるので、第二引数に関数指定するのがよさそう。他の言語みたいに括れればいいのにな。
replace - MDC
1タグ
JSのcharset属性と実際の文字コードが違う場合、エスケープシーケンスでなかったことにする
太古に作られたブログパーツのcharset属性がEUC-JP
時は過ぎUTF-8化したいお!
すでに発行されたタグは変えられない
\(^o^)/
http://codefairy.org/etc/different-charset.html
Unicodeのエスケープシーケンスや文字参照で書けば日本語でおkですね。
ToDo
^2ndlife: autopagerize されない
3タグ
1つのイベントでまとめて管理する
JSのイベント処理は遅いらしい。たくさんの子要素それぞれには何もせず、親に1つだけイベントを付加して管理したらどう変わるのか試してみた。
http://codefairy.org/etc/event-control.html
マウスムーブはおまけ。mouseoverだと一度mouseoutしないと次のイベントが発行されないのでmousemoveを使う方がよさそう。
iPhoneはおそい。
ああああああPixivこわい。
1タグ
trimming
久々にアイコン変えました。
吹き出しと合ってるのは後から気付いた。トリミング難しいね!
2タグ
$.roll
マウスオーバーで画像を変更するjQueryプラグイン。
$.cloneでイベントのコピーが出来ないのでloadで分離しないようにした
src属性のない要素だった場合、子のimgとボタンを探すようにした
変更箇所を書けないと不便。GitHubでやった方がいいのかな。ブラウザから編集しなければgit logで見れる。
http://gist.github.com/35445
2タグ
はてブのJSテストはTest.More
JSANとか久々にきいた!
JSAN - Test.More 0.21
MORE! MORE! MORE!
普通のテストだけで非同期なんかはやってなさそうだなー、とBookmark.js見て思ってたらやっぱ書いてないっぽい。ですよねー\(^o^)/。
クローリングしてるヒマがあるなら…絵描いたら?
1タグ
Tumblrで絵を公開すると楽しい
絵をリブログされて怒る人はTumblrで絵を公開してみるといいかもと思った。
Tumblrで公開したものがリブログされると、Dashboard(管理画面みたいなもの)には何が誰にリブログされたのかが表示される。これが結構うれしい。Tumblr使いのukixさんなどはDashboardが大変なことになってるんじゃないかと予想。うらやましい!
リブログは気に入ったものをローカルに保存する感覚に似ていると思う。そういうのは今まで可視化されてこなかったから、ちょっと面白い。
冒頭は無断転載の問題とはずれてますね。まあそう固くならずに、ぐらいで。
Photoshopは実装から見ると良く出来ているように見える
Photoshopで画像のトリミングをする際、トリミングツールが使いにくいので
選択
結合部分をコピー
新規キャンバス作成
ペースト
で作業することがあったのだけど、ある時ペースト後の画像の色がおかしくなることに気付いた。
調べるとコピーした画像と新規キャンバスのカラープロファイルが違う場合に再現する。つまり、ペースト時に新規キャンバスのカラープロファイルに合わせて色変換した結果おかしくなる。今となっては元々どうなるつもりで作業してたのかよく分からない納得の動作です。。
よかったのは実装から動作を見れるようになったこと。少しPhotoshopの見え方も変わった。案外良く出来てますね(ひどい)。
2タグ
$.extendは便利だなぁと思ったのに一番欲しかった機能を勘違いしてたのでまとめた意味ない
がおがお。
a = { foo: "foo", bar: { baz: "baz" } };
b = { foo: "foo2" };
c = { bar: { bazbaz: "bazbaz" } };
d = { foo: undefined };
マージ
a2 = $.extend(a, b);
alert(a.foo); // "foo2"
alert(a2 === a); // true
ディープコピー
a2 = $.extend({}, a);
alert(a2 === a); // false
再帰マージ
$.extend(true, a, c);
alert(a.bar.baz); // "baz"
alert(a.bar.bazbaz); // "bazbaz"
無視
$.extend(true, a, d);
alert(a.foo) //...
3タグ
Boot Camp後OS Xの時計が9時間ずれる問題
Boot CampでWinを使った後にMacに戻ると時計が9時間進んでいることがある。OS Xが標準時で管理しているのに対してWindows XPは地方時なのが原因みたい。
Windowsでレジストリに以下を追加して再起動すると直る:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation
DWORD値の「RealTimeIsUniversal」キーを追加
値に「1」をセット
Vistaでは休止時などに問題が起こるらしいので注意。
複数レイヤーにらくがきしまくる時の注意
新規のキャンバス開くのめんどいから新しいレイヤーにどんどん描く
いいのが描けたらその絵に合わせてトリミング
他のレイヤーの絵が切れる
/(^o^)\
あと途中で保存してください。
1タグ
2タグ
テスト書き始めた
JSのテスト書きをちょこちょこと実践中。テストに合わせてコードの方も書き方が変わってくるのが面白い。
ライブラリはJSSpecを使っています。非同期テストが出来ない!
1タグ
$(window).resize
ブラウザごとにイベントの発生の仕方が違うー。
Fx3はウィンドウリサイズが終わった時(マウスをドロップした時)に1度だけ呼ばれる。タイミングが極端に違うだけでドロップ前にも発生してた。IE6とSafari3、Opera10ではドロップ中リサイズすれば毎回イベント発生。違いが出て面白いですね!!!
今回はFxっぽい動作がよかったので、とりあえず下のようにして実行頻度を下げた。
var trigger = null;
$(window).bind('resize.foo', function() {
clearTimeout(trigger);
trigger = setTimeout(resizeHandler, 250);
});
1タグ
ナタリー - rei harakamiの豪華リミックスワークス2作品同時発売
楽しみでさっきからPoneばっかり聞いてる。
4タグ
2タグ
GreaseKitでGM_setValue/getValue
クッキーに保存すればいけるんじゃないかと思って書いてみた。
registerGM_value(名前空間, 保持期間(日));
すると使えるようになります(クッキーの制限はそのまま受ける)。サイトを荒らすので使わない方がいいと思いますね。
http://gist.github.com/56894
2タグ
縦型ピーラーは微妙な感じ
週末大根鍋を作った。大根をピーラーで薄くスライスして食べるとおいしい。のだけど、準備の時、以前冒険して買ってみた縦型のピーラーがあまりよくなかった。刃の部分に幅がなくて大きく切れないし、時間も掛かる。力を一定にするのも難しいからバラバラになるよー。
レビューでは慣れれば使いやすい、とあったけど慣れても普通のピーラーの方がいい気がするな。食材を置いて包丁みたいに使えるのはいいんだけど。
PipesのフィードをFriendFeedに登録しても更新反映されない!
たあああああああああんんく!!!!! YahooはFriendFeedばいしゅうしろ!