2010-01-01から1年間の記事一覧

Lightbox風モーダルウィンドウの作り方

今回はjQueryで「モーダルウィンドウ」を作成する方法を解説します。モーダルウィンドウとは、表示中に他のウィンドウの操作を受け付けないウィンドウのことで、Webサイトにおいては一般的に、半透明のレイヤーを重ねてWebページを暗くした上に表示するウィ…

多階層ドロップダウンメニュー

これは使いそうだよなぁ〜!では早速コードを! ちなみにここに記載されているCSSコードをそのまま使用してもダメだったので注意。かなり悩んでしまった。。 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta http-equiv="Content-Style-Type" content="text/css" /> <meta http-equiv="Content-Script-Type" content="text/javascript" /> </meta></meta></meta></head></html>

透過PNGのロールオーバーを作る(IE6対応)

これはなんかヤダなぁ。。以前書いたエントリでも、「スターハック」とかゆーIE用のCSSの記述について少し触れたエントリ書いたけど、今回のなんて完全に「ブラウザ」を判別して分岐することでクロスブラウザ対応してるんだもの。if文使って。 もし、実際の…

ロールオーバー(プリロード対応版)

ロールオーバーて意味がわからんかった。「画像にマウスカーソルを重ねたときに自動的に別の画像に表示を切り替える効果」だって。 今回はメニューバーに見立てたタグ群にこのロールオーバーを実装してみるらしい。 <html> <head> <style> li{ display:inline; /* 横に一列に並</style></head></html>…

オリジナルツールチップの作成

今度はツールチップ(何かにマウスオーバーしたときにその説明をマウス付近にポップアップ表示するヤツ)を作成する。ツールチップ自体は、title属性やimg要素のalt属性にテキストを記述すれば表示されるが、表示のデザインや挙動がブラウザーによって違う上…

タブパネルを作る

お次はタブパネルを作るチュートリアル。さぁ、サクサクいこう。 <html> <head> <style> #container{ width:500px; margin:50px auto; } ul.tab{ padding:0; } ul.tab li{ list-style-type:none; width:100px; height:40px; float:left; } ul.tab li a{ outline:none; /* 下部に</head></html>…

アコーディオンパネルUIの自作

続いてアコーディオンパネルUIを自作してみる。まずは基本的な動作の部分から。 <html> <head> <style> dl{ width:800px; } dt{ line-height:35px; font-size:large; text-indent:3em; font-weight:bold; color:white; height:35px; background:url("http://editors.ascii.jp/m-</head></html>…

画像ギャラリーの製作

今度は実際に使える(?)アプリケーションを作ってみる。今までまとめてきたjQueryのトピックを使って画面遷移しない画像ギャラリーアプリケーションを製作していく。概要としては、左側にサムネイルのリストを表示し、そこで選択した画像を、右側のメイン…

CSS3のセレクターで作るストライプテーブル

隔行、隔列で異なる背景色を持たせるテーブル(ストライプテーブル)を作ってみる回。 ストライプテーブルを作る場合、CSS2の機能だけでは苦労していたらしいが、CSS3の機能を使うとすんごい簡単にできるそうな。 過去のエントリで試行錯誤してそれっぽいの…

アニメーションエフェクト

SICPの方、かなり切りが悪いけどここで久々にjQueryに復帰。(理由は秘密。) さて、第11はアニメーションについて。いろいろ出てきますね〜。 メソッド 概要 アニメーションの仕方 show([スピード[, コールバック関数]]) ○スピード:"slow"|"norma"|"fast…

scheme の hashtable について

「データ主導化」のセクションに入ってからの傾向として「実験」をしていない。何故かというと、このテーマを扱う上で肝となる手続きである get 手続きと put 手続きの実装が具体的に定義されてなくて、実行のしようにも不可能だから。 この傾向はまずい。。…

FetchImi

会社でインターネッツをするときはFirefoxを使っている。 英語の記事を読んだりする時、マウスオーバー辞書をよく使うんだが、いろいろ試した結果、FetchImiというプラグインが一番使いやすいと思った。 んが、このFetchImi、Firefox 3.6 からインストールで…

SICP 問題 2.74(実際に存在しそうなシステムでデータ主導プログラミング)

問題 アキナイ有限責任会社(Insatiable Enterprises, Inc)は全世界に存在する多数の独立事業所を持つ超分散型の多国籍企業である。この会社の計算機システムは、全体のネットワークがどの利用者にも一つの計算機と見えるような、賢いネットワークインター…

SICP 問題 2.73(記号微分のデータ主導化)

問題 2.3.2節で記号微分を行うプログラムを述べた。 (define (deriv exp var) (cond ((number? exp) 0) ((variable? exp ) (if (same-variable? exp var) 1 0)) ((sum? exp) (make-sum (deriv (addend exp) var) (deriv (augend exp) var))) ((product? exp)…

SICP §2.4(データ主導プログラミングと加法性 その3[データ主導プログラミングと加法性])

前エントリで紹介した手法は、 ①汎用インタフェース手続きは全ての実装レベルの手続きを知らなければならず、 ②しかもその実装レベルの手続きが増減した場合、その都度汎用インタフェース手続きの修正が必要というかなり困った手法だ。(汎用インタフェース…

SICP §2.4(抽象データの多重表現 その2[タグつきデータ])

前エントリでは、複素数を直交座標形式と極座標形式の2種の表現で表してみた。が、この2種は一つのシステム内で混在させることはできない。なぜなら、ある複素数オブジェクトを渡されたとしてもそれがどちらの概念で生成された複素数オブジェクトなのか判…

SICP §2.4(抽象データの多重表現 その1[複素数の表現])

いつもセクションの情報をまとめるときは、全体をざっと読んでからまとめ方の方向性何かを決めているんだけど、今回はちょっと長くて全部読んでない。 でもとりあえずまとめられそうなのでアウトプットしちゃおうと思う。 最初は「複素数」を題材にして、「…

SICP 問題 2.72(特殊なケースの探査ステップ数を求める)

問題 問題 2.68 で設計した符号化手続きを考える。記号を符号化するのに必要なステップ数の増加の程度は何か。各節で記号のリストを探索するのに必要なステップ数を忘れないように。 この問題に一般的に答えるのは難しい。n 個の記号の相対頻度が問題 2.71 …

SICP 問題 2.71(数式に従って生成されるシンボルと頻度のペアでHuffman木を生成)

問題 n 記号のアルファベットの Huffman 木があるとし、記号の相対頻度が、 としよう。 n = 5, n = 10 の木を描け。 (一般の n の)こういう木で、最高頻度の記号を符号化するのに必要なビット数はいくらか。 最低頻度の記号ではどうか。 解答 まずは入力さ…

SICP 問題 2.70(記号は、別に文字1コじゃなくてもいいんだぜ。)

問題2.70 次の8記号のアルファベットと相対頻度は、1950年代ロックの歌の叙情詩を効率よく符号化するよう設計された。(「アルファベット」の「記号」は必ずしも個々の文字ではないことに注意) A2 BOOM1 GET2 JOB2 NA16 SHA3 YIP9 WAH1 (問題 2.69の)gen…

大瀬崎でシュノーケリング

毎年恒例の友人主催のクルージングにうちの奥さんが行けなかったので、二人だけで大瀬崎にシュノーケリングに行った。 つっても行ったのは昨日の2010/08/28。 備忘録 海岸線の道路で大瀬崎の看板が見えたら海の方へ降りていくんだが、途中で右折する箇所があ…

ジェルマット

あまりの暑さに夫婦共々ちゃんと睡眠がとれていない。 これはマズイということで、二人で整体に行く車の中で対策を練る。 エアコン買うか、ジェルマット買うかという2本に絞られたが、 とにかく背中が暑いんじゃヴォケ! という理由で、ジェルマットの購入…

SICP 問題 2.69(Huffman木の生成)

問題 次の手続きは引数として記号と頻度の対のリストをとり、(どの記号も一つの対以外には現れない。)Huffmanアルゴリズムに従い、Huffman木を生成する。 (define (generate-huffman-tree pairs) (successive-merge (make-leaf-set pairs))) make-leaf-set…

SICP 問題 2.68(語頭符号の符号化処理)

なんでうまくいかねーのかさっぱりわからねぇ。。 (※2010/08/24追記:アホだった。。エラー情報をよく見れ!!) 問題 encode 手続は引数として通信文と木をとり、符号化された通信文のビットのリストを作る。 (define (encode message tree) (if (null? me…

SICP 問題2.67(語頭符号の復号化処理)

お〜っし、久々の問題ゾーンです。 問題 符号化木と例題の通信文を定義する。 (define sample-tree (make-code-tree (make-leaf 'A 4) (make-code-tree (make-leaf 'B 2) (make-code-tree (make-leaf 'D 1) (make-leaf 'C 1))))) (define sample-message '(0…

SICP §2.3.4(Haffman 符号化木 その5 [重み付き要素の集合])

う〜ん、このセクション何を言いたいのかいまいち確信が持てない。。 とりあえずコードを写経してコメントを付加していってみよう。 (define (adjoin-set x set) (cond (;母体となるリストが空なら新規生成する。 (null? set) (list x)) (;「挿入したい枝の…

SICP §2.3.4(Haffman 符号化木 その4 [復号化手続き])

昨日は会社のキックオフ会で帰宅が遅くなってしまったのでアップできなんだ。。では前エントリを元に、「語頭符号」のコードをどうやって「復号化」するかを考えていこう。 (define (decode bits tree) (define (decode-1 bits current-branch) (if (null? b…

SICP §2.3.4(Haffman 符号化木 その3 [Haffman 木の表現])

次はそのHuffman木の表現だ。Haffman木は2種類のオブジェクトで構成されている。 葉「記号」と「重み」を持つ、枝の終端に相当するオブジェクト 枝「葉」または「枝」がぶら下がるようにして構成されるオブジェクト。 自分にぶら下がっている「記号」の集合…

SICP §2.3.4(Haffman 符号化木 その2 [Haffman 木の生成])

前エントリで作成した Haffman 木、及び各記号(アルファベット)に割り当てる符号についてだけど、これは一体どうやって作るのか。本セクションでは割り当てる符号の最適性は割愛されているが、Haffman 木の構成方法についてはまとめられていたので俺もまと…

SICP §2.3.4(Huffman 符号化木 その1)

可変長の符号化体系をどう処理するかというお話。通信リソースが貴重だった昔は重要だったかもしれんが、インフラ的に恵まれた環境になってきた事と、標準が重視されている現代ではあんまり役にたたなさそうな話題。それとも他に応用できる場面があるんだろ…