HTML, CSS, JavaScriptの最近のブログ記事

jQueryでtooltip

| コメント(0) | トラックバック(0)

自分用メモ。とりあえず手軽にtooltipを使いたくてちょっと調べてみた。

(念のため書くけど、tooltipって対象となるテキスト(別に画像でも何でも良いけど)の上にマウスを置くと、説明文とかがちょこっと出てくる奴。)

jQuery + tooltip で検索すると、「jQueryで使えるtooltipのプラグイン30」みたいなサイトが結構出てくるんだけど、正直どれを選んで良いかよく分からない。しかし、このサイト(英語)はコードサンプルやデモなども載っていてかなり分かりやすい。

自分はSimpletipというのにした。

 

 

Firefoxの場合はFirebugという高機能なJavaScriptデバッガがあるので困らないけど、Internet Explorerの場合は昔懐かしのMicrosoft Script Debugger位しか無いのかなぁと思ってたら、IE8からは標準でツールが付いていて、F12キーでいつでも呼び出せる事に気づいた。

これは便利。

AJAXでは、以下のようにサーバーから返されたJSONをevalで元に戻すみたいな事を良くやると思う。

var result = eval("(" + responseText + ")");

サーバー側で何らかのエラーが発生して、responseTextにエラーメッセージが書かれてたりすると以下のようなエラーが発生する。

エラー: 構文エラーです。

最初は「構文的には何もおかしくないんだけどなぁ…」と結構悩んだけど、そこに書かれているJavaScriptの構文ではなくて、evalしている文字列がJavaScriptの構文じゃないって事だって分かった時は少し感動。

引き続きJoomla!のコンポーネント作成中。

MooToolsのリファレンスを見つつ、以下のようなJavaScriptを書いた。

var foovalue = $('footextbox').get('value')

そしたら $('foo').get is not a function ってエラーが出た。(FirefoxのプラグインFirebugを使ってるのでIEだと違うエラーかもしれないけど。)

$('foo')で取得できるのはgetElementByIdで取得するのと同じくDOMオブジェクトなので、以下のように普通にDOMのエレメントを使えばいいらしい。

var foovalue = $('footextbox').value

getやその他のMooToolsのメソッドを使うにはそのDOMオブジェクトへの参照を取得すればいいっぽい。

MooTools

| コメント(0) | トラックバック(0)

Joomla!ではMooToolsというJavaScriptのフレームワークを使っているらしい。

コンポーネント作成しててビューをいじってる時にJHTMLのコードを見てて気づいた。$('element')とかの記法はprototype.jsと同じだし取っつきやすい。

他のフレームワークとの比較とかはよく分からないけど、Joomlaのコンポーネントを作るなら覚える必要がありそう。とはいえ、それ程多機能でもないし、リファレンスを見ながらやれば問題無さそう。

久々にAJAX

| コメント(0) | トラックバック(0)

最近、とあるプロジェクトにヘルプで関わる事になった。一言で言うとPHPのWebシステム。

前職ではWeb系のシステムの開発をメインでやっていたけど、ここ1年半くらいはインフラ周りがメインで、PHPのシステムにもちょっと関わったけど、symfonyをちょろっと使うくらい。しかし、今回のシステムは結構AJAXがバリバリ使われている今時のWebシステム。

前職ではAJAXも使っていたけど、当時(設計は2年以上前)はprototype.js+自前のライブラリでガリガリやっていて、それでも便利だなぁとは思ってたんだけど、今回のプロジェクトではjQueryなる物を使ってるらしい(日本語ページ)。

ちょっと見たところ結構便利。やっぱり2年も経つと随分色々便利になってるなぁと思った。

使ってみて、何かネタがあったらこのブログにもちょっと書こうかと思う。

自分用メモ

1~2年前、とあるWebシステムのプロジェクトで、オンラインヘルプ機能を付ける事になった。ボタンとか値の入力テキストボックスとかに「?」ボタンを表示して、その上にマウスを乗っけると吹き出しが表示されてヘルプのテキストが表示されるというもの。

その時見つけたのが以下の2つ。今はもっとカッコいいのとか簡単なのとかが色々ありそうだけど。

最近、こういうのはあまり触らなくなったなぁ。

以下のようなCSSの複数のクラスが指定されたタグを考える。
<div class="foo bar" >

あるクラスを指定されたタグを取得するには
prototype.jsのdocument.getElementsByClassName
を使えばいいけど、複数クラスを指定されている場合には上手く行かなかった(最近のバージョンでは違うかもしれないけど)。

なので、このページに書かれていることを参考にした。

Webシステムでよくあるのが、2つのプルダウンメニューを連動させるヤツ。1つめのプルダウンが国名で、それで「日本」を選択すると2番目のプルダウンが47都道府県になり、「アメリカ」を選択すると50州になるというもの。

それをJavaScriptで実現する方法が簡単にまとまっていたページ。そしてそれを若干改良したページ

要は、2次元の連想配列を用意して、その値を用いてJavaScriptで動的に2番目のプルダウンの中身を変えるという物。特に難しい事はやってない。

以前、JavaScriptのデバッグに関して、MicrosoftのScript Debuggerを紹介した

その後、MSから提供されている別のツールを見つけた。Internet Explorer Developer Toolbarというやつで、その名の通りIEのツールバーとして動作する。

機能的にはDOMツリーを表示したり、特定のHTMLエレメントを非表示にしたり、tableの枠線の表示を動的に切り替えられたりとか。まぁまぁ便利だと思うので、一度試してみるといいかも。

ダウンロードはここから。

このブログの作者

名前:kazu
仕事:IT関係の何でも屋
メール:kazu 後幕 kazu どと tv
詳しくはこの辺

このアーカイブについて

このページには、過去に書かれたブログ記事のうちHTML, CSS, JavaScriptカテゴリに属しているものが含まれています。

次のカテゴリはJavaです。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

ウェブページ