読者です 読者をやめる 読者になる 読者になる

jQueryのCSSセレクタAPIを高速に扱う方法

最近Androidとの抗争が激化しているago(@kyo_ago)です。 jQueryはCSSセレクタを多用する特徴がありますが、jQuery内では実行ブラウザやCSSセレクタの記述によって呼び出されるブラウザAPIが変わり、それによって実行速度にも影響が出ます。 この記事では「…

jQuery.stopのjumpToEnd引数が便利すぎてやばい(JavaScript Advent Calendar 2010 5日目)

JavaScript Advent Calendar 20105日目のago(@kyo_ago)です。 jQueryのソースを眺めててjQuery.stopに引数があることに気づいたので調べてみました。 まず、簡単なスライドダウンメニューを作ってみたいと思います。 jQuery.stop 1 - jsdo.it - share Java…

8行でjQueryのデバッグが楽になるjQuery.pの紹介

週末はオレ標準JavaScript勉強会のUstreamを眺めてました。ago(@kyo_ago)です。 以前jQuery使いが陥りやすい罠の中で「4 何でも一行で書こうとする」という点を上げたのですが、以下のようなmethodを定義することでmethod chainのデバッグが楽になるので紹…

DOM Ready前にイベントを設定する方法(jQuery.liveの紹介)

健康診断で身長伸びてました。agoです。 今開発中のサイトで$().liveを中心にした実装を行っているので簡単にまとめてみました。 $().liveって? jQuery 1.3系からサポートされた、イベントハンドラの設定用methodです。 $().bindとどこが違うの? $().bind…

IEでswfを複数読み込んでいる場合の$('object:first').find('param')が正常に動作しない件に関して

名字を検索するとサジェストに「読み方」が表示されます。agoです。 mist.jsでIEがswfを複数読み込んでいる場合に$('object').find('param').lengthが$('object:first').find('param').lengthと同じ値になる問題がありその内容に関して調査してみました。 症…

カーソルキーでエントリーを移動するjQuery pluginを作成しました

間食は大豆がメインです。agoです。 このブログでも使用している左右のカーソルキーでエントリーを移動するJSをjQuery pluginとして切り出したので紹介します。 使い方 jQueryと以下のJSを読み込んでください。 jQuery.keyscroll - GitHub 以下の内容をscrip…

jQuery1.4の新機能を1.4だけに14個

時が経つのは早いもので、ぼーとしてたらもう1月も終わりそうですね。外村です。 先日リリースされたjQuery1.4で新しく追加されたメソッドや新しい使い方ができるようになった機能を全部ではないですがいくつか紹介します。以下に変更点が全て掲載されている…

tech.kayac.comで公開されたjQuery関連記事まとめ(?2009年版)

最近、このブログの方向性に危機感を抱いています。agoです。 そろそろあちこちで「2009まとめ」的な記事が見られるようになってきましたが、tech.kayac.comでもjQueryに特化してまとめてみたいと思います。 jQueryを使ってphpで言うところのstrip_tagsとかh…

jQueryを使ってphpで言うところのstrip_tagsとかhtmlspecialcharsする方法

以下のコードは状況により脆弱性が発生する可能性があるため別の方法で実装ください。 先日始めてsquidの設定を行いました。agoです。 今日はjQueryを使ってphpで言うところのstrip_tagsとかhtmlspecialcharsする方法を紹介したいと思います。 普通jQueryを…

jQuery.liveをfirefoxで使うときの注意点

夢で医者にギブスくらい自分ではずせよと言われました。agoです。 昨日若手IT勉強会に参加させていただき、jQuery.live周辺とjsdeferredを読んできました。 そのとき気づいたのですが、Firefoxはdocument objectに対するclick eventが右クリック(event.butt…

JS制作に欠かせない3つのツール

週末始めて通報しました。agoです。 弊社FDがflashに関する情報をお届けしている_level0.KAYACというサイトがあるのですが、先月そこで「Flash制作に欠かせない3つのツール」というタイトルで各人がお気に入りのツールを紹介していたようです。 Flash制作に…

jQuery時代に生きるクロスブラウザ対応の知恵 8選

Auto Copyが移植されたらchromeへの移行を検討します。agoです。 var $j = $.noConflict(); jQueryを使用するようになってクロスブラウザを意識することは少なくなりましたが、それでもjQueryではカバーしきれない差異はそれなりにあります。 そこでjQueryを…

jQuery的なarray like objectの作り方

twitterはじめました。 agoです。 前回の記事(jQueryを読むために知っておきたい6つの知識)で「jQueryのthisはArray」と書いたところ、「正しくはArray likeではないか?」とのご指摘を頂きその点調査したのでご紹介したいと思います。 まず、通常javascri…

jQueryを読むために知っておきたい6つの知識

夏休みはタイ古式マッサージセミナーに参加してきました。agoです。 先週日曜日若手IT勉強会に参加させていただき、jQueryのコードリーディングを行ってきました。 そこでjQueryのコードを読むときの基礎知識に関して簡単にまとめてみたいと思います。 1 変…

jQueryを使い始めたときに感じる13の疑問

来週は私が夏休みなので更新はない予定です。agoです。 最近、人にjQueryを解説する機会があったので、昔を思い出してjQueryを使い始めた頃に感じる疑問を書いてみたいと思います。 1 そもそも何で使うの?いまでも困ってないよ 作成する内容にもよりますが…

jQuery言語入門

先月の社員PVランキングは91番目でした。agoです。 たまに他言語開発者から「JSは何となくわかるけど、jQueryが特殊すぎてよくわからない」という声を聞きます。 個人的にjQueryを使う場合、「JSの中でjQueryを使う」と言うより、「jQueryの中でJSを使う」と…

細かすぎて伝わらないjQueryの機能5選

実は技術部ではなく、演出部所属のagoです。 先日jQuery 1.3.2のソースを読む機会があり、そのときいくつか気づいたことがあったのでまとめてみました。 1 .addClass, removeClassはスペース区切りで複数のclassを渡せる .addClass, removeClassにはスペース…

イメージマップでhoverを実現する

Fxの拡張ではAutoCopyがお気に入りです。agoです。 今回はリニューアルしたwww.kayac.comからKAYACスタイルのページをご紹介したいとおもいます。 このページはぱっと見特殊な処理はないんですが、よく見ると画面下部の画像が斜めに切れており、それぞれ切れ…

リニューアル後のsitemapとjQuery-visitedとオチ

週末キーボードを水洗いしました。agoです。 すでにだいぶ時間が経ってしまいましたが、7/7にwww.kayac.comがリニューアルしました。 リニューアルに伴いtech.kayac.comでご紹介したい点がいくつかあるのですが、今日はその中からsitemapで使用しているjQuer…

jQuery使いが陥りやすい罠

肩こり歴20年のagoです。 社内でもjQueryを使う人間が増えてきたので、jQueryを使う人が陥りやすい罠をいくつかあげてみたいと思います。 (私が過去にはまったり、今はまっている罠です) 1 グローバルの名前空間を使わない jQueryはwindow objectの汚染が…

jQuery.jsとprototype.jsのロジックの組み方に関して

会社から駅まで2分を切れるようになりました。agoです。 先日社内で行った勉強会の資料を公開したいと思います。 Prototyperに贈るjQuerystからの手紙 内容は以下の通りです。 Prototype.jsとjQueryの差異 jQueryの考え方 よりよいjQueryの使い方 カヤックで…

jQuery、script.aculo.us、JSTweenerのアニメーションfps比較

スカイダイビングしてきました。agoです。 ちょっと気になったのでいくつかのアニメーションライブラリのFPSを調べてみました。 jQuery jQuery.fx.custom内でsetInterval(fn, 13);と定義されていました(4064行目) 1000 / 13で大体77FPSのようです。 script…

javascript libraryを作るときに便利な3つのfunction

社内で唯一(?)の8 tab派。agoです。 suzunari.js、sisso.jsと、最近いくつかJSのライブラリを公開する機会があったので、そのとき使ったライブラリを作るときに便利なコードを紹介したいと思います。 1 script tagからのパラメータ読み込み 外部からの指…

blogparts framework suzunariを作成しました。

ようやく会社のブラインドを閉める方法を発見しました。agoです。 弊社ではブログデコというブログパーツのポータルサイトを運営しており、かなりの数のブログパーツを作成しています。 このたび、そこで得られた様々なノウハウを集めて、ブログパーツフレー…

symfonyのJavascriptカレンダーの表示座標を修正する

もうすぐ新卒免許が失効する、渡邊です。はじめまして。 今回は、PHPのフレームワーク「symfony」のフォームヘルパー「input_date_tag」を、jqueryで補完します。 「input_date_tag」のリッチフォームは便利で、入力に関してUIとバリデーションの双方を支援…

jQuery Plugin作成時の3つの注意点

実家に帰ったら犬に威嚇されました。agoです。 jQuery Pluginに関しては、以前jQuery Pluginの書き方として基本的な部分をまとめたのですが、もう少し細かい部分に関して再度まとめてみようと思います。 1 $.dataの活用 以前jQuery.dataの使い方でも紹介した…

jQuery.opensocial_simple Pluginを作成しました。

昨日OpenSocial Hackathonに参加させていただきました。agoです。 Hackathonは終わってしまいましたが、jQueryからOpenSocialを簡単に扱うためのPluginを作成したので、jQuery.opensocial_simpleとして公開したいと思います。 opensocial、gadgetsのすべての…

jQueryを使うときに気をつけるべき8のポイント

DAHONのBoardwalkを修理しようとしておもいっきり壊してしまいました。agoです。 普段はjQueryをメインで使用しているのですが、使っていていくつか注意すべき点があったのでまとめてみました。 (一部jQueryではなく、DOMの仕様上の制限も含まれています) …

jQuery.ime_external Pluginを作成しました。

Microsoft Trackball Opticalの復活を切に希望中のagoです。 今年旅する支社として行ったイタリアで、Flash経由でJSからIMEを操作するプラグインを作成したのでjQuery.ime_externalとして公開したいと思います。 同種のJSは過去にもいくつかあったんですが、…

jQuery.autouploader Pluginを作成しました。

AutoHotKeyの設定ファイルが意味不明で困ってます。agoです。 このたび弊社ではにおい部 - においフェチに捧げるコミュニティとして、におい部をOPENしました。 今回はこのサイトで使用している、ファイル選択時の自動プレビューjavascriptをjQuery.autouplo…

jQuery.brbr Pluginを作成しました。

高知から帰ったら席がのっとられていたagoです。 このたび弊社ではYUREX™ - ビンボーゆすりを科学したコラボ・プロダクトを開発として、YUREX製品サイトをOPENしました。 今回はこのサイトで使用している、文字や画像のリンク部分を揺らすjavascriptをjQuery…

全画面ジャック型のblogpartsを1ファイルで作成する方法

手違いにより社員紹介ページから消滅中のagoです。 今日は全画面ジャック型のblogpartsを一つのswfのみで実装する方法を紹介したいと思います。 まず、一般的な全画面ジャック型blogpartsの場合、最初に表示されているsidebar swf(記事内に貼り付けるタイプ…

jQuery.dataの使い方

最近気づいたんですが、jQuery.dataが結構便利だと思うので紹介してみたいと思います。 (function($) { var name_space = 'name_space'; $.fn[name_space] = function(options) { var elements = this; var settings = $.extend({ }, options); elements.eac…

blogpartsでjQueryを使うときの読み込み方

最近blogpartsでもjQueryを使うようになったので、blogpartsでjQueryを使うときのコードをまとめてみました。 (function () { //script tagのsrcの先頭部分を記述(自分のscript tagを取得するのに使用) var domain = 'http://example.com/bp/'; //asから呼…

jQueryのイベントネームスペース

先日社内のPGに教えてもらったのですが、jQuery(1.2.0以降)ではイベントに名前空間を指定できるようです。 $('a').mouseover(function () { console.log('over!'); }); // -> a tagにカーソルを乗せるとconsoleに'over!'を出力 $('a').bind('mouseover.tmp',…

jQuery Pluginの書き方

最近いくつかjQueryPluginを書く機会があったのでちょっとまとめてみようと思います。 (function($) { //このPluginの名前 var name_space = 'basePlugin'; $.fn[name_space] = function(options) { //いったん退避 var elements = this; //設定情報の構築 v…