<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>5am! Web Illusions</title>
	<atom:link href="http://5am.jp/feed/" rel="self" type="application/rss+xml" />
	<link>http://5am.jp</link>
	<description>札幌でWebデザイナーをやっているRINの勉強ブログ。Web Design/PHP/CSS/写真メイン</description>
	<lastBuildDate>Sat, 14 Nov 2009 19:52:49 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>あなたの制作人生を「速記コーディング」で豊かにする、Texterを使ったアウトプット術</title>
		<link>http://5am.jp/lifehack/texter/</link>
		<comments>http://5am.jp/lifehack/texter/#comments</comments>
		<pubDate>Tue, 27 Oct 2009 18:47:23 +0000</pubDate>
		<dc:creator>rin316</dc:creator>
				<category><![CDATA[Lifehack]]></category>

		<guid isPermaLink="false">http://5am.jp/?p=240</guid>
		<description><![CDATA[

	Texterのダウンロード(日本語化済み)
	Texterの初期設定
	単語登録の方法
	おすすめ単語登録リスト
	トラブルシューティング
	毎日積み重なっていくモノの力は凄い



人生で、何万回も同じ操作で同じ文字を打つ必要はありますか？
よく使う日本語・同じようなコードを、何万回も同じ操作で打つ必要ってあるのかな。
頭ではコードが組み終わっているのに、それを全てキーボードで打つなんて無駄な気がする。
思考した事がそのままアウトプットできれば生産性はもっと高まるはず。
コードを打っているとき、自分はいつもそう感じていた。

Texterというソフトに出会ってから日常が少し変わった。
キーを打ったことを忘れて、
頭の中で浮かんだことがそのまま目の前に現れるような感覚、
まるで、「速記」を自動展開しているような心地良さを味わえた。

書くのが遅くなったけど、
今回はSACSS vol.5のライトニングトークでお話しさせて貰った「Texter」を紹介。
このTexterを使うようになってから、打つことが革命的に早く・楽しくなった！
効率化を追求している人にはお勧めのツール。


Texterって何ができるの？
Texterを一言で説明すると「英語圏の辞書登録ソフト」。
設定したトリガー、例えば[yrq]を入力した瞬間に、

yrq → 宜しくお願いいたします。
maq → margin: &#124;カーソルキー&#124;0px 0px 0px 0px;

上のように、トリガーを登録した単語に瞬時に置換してくれる。
しかも置換後のカーソルの位置が指定できる。
実際に下の動画を見て貰うと分かりやすいと思う。



Lifehacker Code: Texter (Windows) &#8211; Clips &#8211; Lifehacker

Windowsの辞書登録とはココが違う
これだけ見ると、IMEの単語登録と変わらないと思う人もいると思う。
一般的な単語登録とTexterとの違いをまとめてみた。


	改行やTab、カーソルキー・修飾キー(Shift,Ctrl,Altなど)を含めて登録できる。
	複数行入力が可能。
	変換後のカーソルキーの位置を自由に設定可能。
	ローマ字をトリガーにして登録可能 = 変換キーを押さずに置換可能。
	インストール不要のexeファイルなので、Dropboxなどのオンラインストレージに入れれば、
	自宅や職場のPCなどで、同じ環境で使用可能！
	Dreamweaver以外のテキストエディタやブラウザ上など、
	「文章を打てる全てのスペース」で快適にアウトプットができるようになる。



作者はLife Hacker
Texterの作者は、ライフハックで有名なLife Hackerの本家、英語版。
MACで使われていた単語登録ソフト、「Text Expander」に影響を受けて、
Windows版を目指して作ったらしい。
さすがLife Hacker、人生をハックしてくれる！


Texterのダウンロード(日本語化済み)
前置きが長くなったけど、早速Texterのダウンロードと使い方。
GNUライセンスなので少し改造して公開。


	日本語化してみた。
	日本語を表示出来るよう、最初から「Compatibility mode」を「Clipboard mode」に変更。
	使いやすいようにサンプルコードを仕込んでみた。


Life Hackerの公開ソースには、右クリックでhotstringを変更する際にバグがあったため、
Exe2Ahkを使用し、実行ファイルを逆コンパイル、
includes/GUI/management_GUI.ahkの31～39行目に関数[EDITNAME]を追加。


まずはTexterをダウンロード。


ソース
オリジナル版(Life Hacker &#8211; Texter)



Texterの使い方
早速使ってみる。
日本語化Texterをダウンロードした人は、テキストエディタで
yrq
と打ってみよう！
[diq][ulq][dlq][imq][taq][h11][12q][scjq][$q][ [q ][phq][ifq]とか色々設定してみた。
入力した瞬間に文字が置換されて、カーソルが設定箇所に来ているはず。

自分は初めてTexterを使って置換された時、すごい感動した！
永年続くであろうキーボード入力の呪縛から開放されたような気分。




Texterの初期設定(オリジナル版のみ必要)



Texter日本語化版は初期設定は一切不要！
オリジナル版は、そのままだと日本語が文字化けしてしまうので下記の変更が必要。
「Compatibility mode (default)」を
「Clipboard mode (Faster,but less compatible)」に変更。

その他の項目は、全てチェックを外してしまってOK。

	Run Texter at start up
	OS起動時にTexterを起動。
	
	Check for updates at launch?
	Texter起動時にアップデートを確認する。

	Enable Universal Spelling AutoCorrect?
	最初からセットされている英単語をオートコレクトする。
	(英単語が何万語かセットされている)
	
	Play sound when replacement triggered?
	置換された瞬間に音を出す。
	
	Make Texter compatible across [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://5am.jp/wp-content/uploads/2009/10/texter_main1.jpg" alt="texter_main1" title="texter_main1" width="520" height="347" class="alignnone size-full wp-image-242" /></p>
<ul class="sourceCode">
	<li><a href="#download_texter" class="liinternal">Texterのダウンロード(日本語化済み)</a></li>
	<li><a href="#startup" class="liinternal">Texterの初期設定</a></li>
	<li><a href="#kotu" class="liinternal">単語登録の方法</a></li>
	<li><a href="#recomend" class="liinternal">おすすめ単語登録リスト</a></li>
	<li><a href="#trouble" class="liinternal">トラブルシューティング</a></li>
	<li><a href="#everyday" class="liinternal">毎日積み重なっていくモノの力は凄い</a></li>
</ul>


<h3>人生で、何万回も同じ操作で同じ文字を打つ必要はありますか？</h3>
<p>よく使う日本語・同じようなコードを、何万回も同じ操作で打つ必要ってあるのかな。<br />
頭ではコードが組み終わっているのに、それを全てキーボードで打つなんて無駄な気がする。<br />
思考した事がそのままアウトプットできれば生産性はもっと高まるはず。<br />
コードを打っているとき、自分はいつもそう感じていた。</p>

<p>Texterというソフトに出会ってから日常が少し変わった。<br />
キーを打ったことを忘れて、
頭の中で浮かんだことがそのまま目の前に現れるような感覚、<br />
まるで、「速記」を自動展開しているような心地良さを味わえた。</p>

<p>書くのが遅くなったけど、<br />
今回は<a href="http://h2ham.seesaa.net/article/125028393.html" class="liexternal">SACSS vol.5</a>のライトニングトークでお話しさせて貰った「Texter」を紹介。<br />
このTexterを使うようになってから、打つことが革命的に早く・楽しくなった！<br />
効率化を追求している人にはお勧めのツール。</p>


<h3>Texterって何ができるの？</h3>
<p>Texterを一言で説明すると「英語圏の辞書登録ソフト」。<br />
設定したトリガー、例えば[yrq]を入力した瞬間に、</p>

<p class="sourceCode">yrq → 宜しくお願いいたします。<br />
maq → margin: |カーソルキー|0px 0px 0px 0px;</p>

<p>上のように、トリガーを登録した単語に瞬時に置換してくれる。<br />
しかも置換後のカーソルの位置が指定できる。<br />
実際に下の動画を見て貰うと分かりやすいと思う。</p>


<a href="http://www.youtube.com/watch?v=xtXZQsr1M2A" ><img src="http://img.youtube.com/vi/xtXZQsr1M2A/default.jpg" width="130" height="97" border=0></a>
<p><a href="http://lifehacker.com/238306/lifehacker-code-texter-windows" class="liexternal">Lifehacker Code: Texter (Windows) &#8211; Clips &#8211; Lifehacker</a></p>

<h3>Windowsの辞書登録とはココが違う</h3>
<p>これだけ見ると、IMEの単語登録と変わらないと思う人もいると思う。<br />
一般的な単語登録とTexterとの違いをまとめてみた。</p>

<ul>
	<li>改行やTab、カーソルキー・修飾キー(Shift,Ctrl,Altなど)を含めて登録できる。</li>
	<li>複数行入力が可能。</li>
	<li>変換後のカーソルキーの位置を自由に設定可能。</li>
	<li>ローマ字をトリガーにして登録可能 = 変換キーを押さずに置換可能。</li>
	<li>インストール不要のexeファイルなので、<a href="http://web-tan.forum.impressrd.jp/e/2008/11/13/4371" class="liexternal">Dropbox</a>などのオンラインストレージに入れれば、<br />
	自宅や職場のPCなどで、同じ環境で使用可能！</li>
	<li>Dreamweaver以外のテキストエディタやブラウザ上など、<br />
	「文章を打てる全てのスペース」で快適にアウトプットができるようになる。</li>
</ul>


<h3>作者はLife Hacker</h3>
<p>Texterの作者は、ライフハックで有名な<a href="http://www.lifehacker.jp/" class="liexternal">Life Hacker</a>の本家、英語版。<br />
MACで使われていた単語登録ソフト、「<a href="http://www.smileonmymac.com/TextExpander/" class="liexternal">Text Expander</a>」に影響を受けて、<br />
Windows版を目指して作ったらしい。<br />
さすがLife Hacker、人生をハックしてくれる！</p>

<a name="download_texter" id="download_texter"></a>
<h3 style="margin-top:60px;">Texterのダウンロード(日本語化済み)</h3>
<p>前置きが長くなったけど、早速Texterのダウンロードと使い方。<br />
GNUライセンスなので少し改造して公開。</p>

<ul>
	<li>日本語化してみた。</li>
	<li>日本語を表示出来るよう、最初から「Compatibility mode」を「Clipboard mode」に変更。</li>
	<li>使いやすいようにサンプルコードを仕込んでみた。</li>
</ul>

<p class="gray">Life Hackerの公開ソースには、右クリックでhotstringを変更する際にバグがあったため、<br />
Exe2Ahkを使用し、実行ファイルを逆コンパイル、<br />
includes/GUI/management_GUI.ahkの31～39行目に関数[EDITNAME]を追加。</p>


<h4>まずはTexterをダウンロード。</h4>

<p style="margin: 20px 0px 10px 0px;"><a href="http://5am.jp/download/texter_j.zip" ><img src="http://5am.jp/material/texter_btn.jpg" alt="Texterのダウンロード 日本語化済み・例文登録済み" class="rollover" /></a><br /></p>
<p><a href="http://5am.jp/download/texter_source.zip" class="lizip">ソース</a><br />
<a href="http://lifehacker.com/238306/lifehacker-code-texter-windows" class="liexternal">オリジナル版(Life Hacker &#8211; Texter)</a></p>

<span id="more-240"></span>

<h3>Texterの使い方</h3>
<p>早速使ってみる。<br />
日本語化Texterをダウンロードした人は、テキストエディタで</p>
<p class="sourceCode">yrq</p>
<p>と打ってみよう！<br />
[diq][ulq][dlq][imq][taq][h11][12q][scjq][$q][ [q ][phq][ifq]とか色々設定してみた。<br />
入力した瞬間に文字が置換されて、カーソルが設定箇所に来ているはず。</p>

<p>自分は初めてTexterを使って置換された時、すごい感動した！<br />
永年続くであろうキーボード入力の呪縛から開放されたような気分。</p>



<a name="startup" id="startup"></a>
<h3 style="margin-top:60px;">Texterの初期設定(オリジナル版のみ必要)</h3>

<p><img src="http://5am.jp/wp-content/uploads/2009/10/texter_1.gif" alt="texter_1" title="texter_1" width="348" height="355" class="alignnone size-full wp-image-243" /></p>

<p><strong>Texter日本語化版は初期設定は一切不要！</strong><br />
オリジナル版は、そのままだと日本語が文字化けしてしまうので下記の変更が必要。<br />
<p class="sourceCode">「Compatibility mode (default)」を<br />
「Clipboard mode (Faster,but less compatible)」に変更。</p>

<p>その他の項目は、全てチェックを外してしまってOK。</p>
<ul>
	<li><span class="textBold">Run Texter at start up</span><br />
	OS起動時にTexterを起動。</li>
	
	<li><span class="textBold">Check for updates at launch?</span><br />
	Texter起動時にアップデートを確認する。</li>

	<li><span class="textBold">Enable Universal Spelling AutoCorrect?</span><br />
	最初からセットされている英単語をオートコレクトする。<br />
	(英単語が何万語かセットされている)</li>
	
	<li><span class="textBold">Play sound when replacement triggered?</span><br />
	置換された瞬間に音を出す。</li>
	
	<li><span class="textBold">Make Texter compatible across computers with Synergy?</span><br />
	<a href="http://d.hatena.ne.jp/keyword/Synergy" class="liexternal">Synergy</a>(macとwindowsでキーボードを共有するソフト)を使用時に<br />
	不具合がある場合はチェック。</li>
</ul>



<a name="kotu" id="kotu"></a>
<h3>単語登録の方法</h3>
<p>単語登録するときはショートカット[Ctrl+Shift+H]を押すか、<br />
Texterアイコンを右クリックして「Create new hotstring」を選択。</p>

<p><img src="http://5am.jp/wp-content/uploads/2009/10/texter_2.gif" alt="texter_2" title="texter_2" width="506" height="224" class="alignnone size-full wp-image-244" /></p>

<ul>
	<li><span class="textBold">Hotstring</span><br />
	変換のトリガーとなるキーを設定。</li>
	<li><span class="textBold">Text/Script</span><br />
	簡易テキストモードか、より高度なスクリプトモードを選ぶ。詳しくは後述。</li>
	<li><span class="textBold">Bundle</span><br />
	キーのセットをまとめてタブ化、タブごとに有効/無効を簡単に切り替えられる。</li>
	<li><span class="textBold">Enter your replacement text here&#8230;</span><br />
	ここに変換したいテキストを入力。</li>
	<li><span class="textBold">Trigger</span><br />
	Hotstringで指定したキーの後に、どのキーを押すと変換が発動するかを選べる。<br />
「Instant」を選べば、キーが入力された瞬間に変換されるのでオススメ。</li>
</ul>


<h3>「Text」モードと「Script」モードの違い</h3>
<p>「Text」モードと「Script」モードはそれぞれ挙動が違う。<br />
登録文によって使い分けることで幸せになれる。</p>

<h4>簡易Textモード</h4>
<p>「Text」を選んだ場合はクリップボード経由で貼り付けされるので、</p>
<ul>
	<li>変換後の文に日本語を扱える。</li>
	<li>[%|]を入れると、置換後その場所にカーソルが合う。<br />
	<p class="sourceCode">&lt;div&gt;%|&lt;/div&gt;</p></li>
	<li>[%clipboard]を入れると、クリップボードの内容が、そこに貼付けされた状態で置換される。<br />
	<p class="sourceCode">&lt;a href=&#8221;%clipboard&#8221;&gt;%|&lt;/a&gt;</p></li>
	<li>他にも時刻の挿入が出来る。<br />
	<p class="sourceCode">
	[%ds] → 3/9/2007<br />
	[%dl] → Friday, March 09, 2007.<br />
	[%t] → 1:30 PM.
	</p></li>
	<li>Dreamwerverなどの予測変換(コードヒント)とバッティングしない。</li>
	<li>ただの「貼り付け」なので複数行のインデントは保てない。</li>
	<li>クリップボードの履歴管理ソフトを使っている場合は、<br />
履歴が「元の文 → 置換文 → 元の文」となって汚れる。</li>
	<li></li>
</ul>

<p>例文だと、[yrq]は日本語を含むのでTextで登録している。<br />
下はTextモードのデモンストレーション。</p>


<a href="http://www.youtube.com/watch?v=yP4scl4nfqY" ><img src="http://img.youtube.com/vi/yP4scl4nfqY/default.jpg" width="130" height="97" border=0></a>
<p><a href="http://lifehacker.com/238306/lifehacker-code-texter-windows" class="liexternal">Lifehacker Code: Texter (Windows) &#8211; Clips &#8211; Lifehacker</a></p>


<h4>より高度なScriptモード</h4>
<p>「Script」モードを選んだ場合はキーボードタイピングがエミュレートされる。<br />
Textモードより高度な設定が可能。</p>
<ul>
	<li>日本語が文字化けするので指定不可。</li>
	<li>下記カーソルキー、Home・Endキーなどの動きを登録可能、<br />
改行時もインデントを保って、柔軟でアクロバティックな登録が可能。
	<p class="sourceCode">{up}{left}{down}{right}{home}{end}{bs}{tab}</p>
	<p style="margin-bottom:3px;">改行を入れる場合は、<br />
	「&lt;/タグ&gt;{up}{end}{tab}」を活用。(※エディタのオートインデントがONの状態前提)</p>
	<p style="margin-top:0px;" class="sourceCode">
		&lt;div&gt;<br />
		<br />
		&lt;/div&gt;{up}{end}{tab}</p>
	</li>
	<li>修飾キーも含めて、どこまでも細かい設定が可能。
	<p class="sourceCode">^ = Control<br />
	! = Alt<br />
	# = Win<br />
	+ = Shift<br />
	^c = コピー<br />
	^v = 貼り付け<br />
	^s!{f4} = 保存してから終了</p>

	
</li>
	<li>Dreamwerverの閉じタグ自動補完とバッティングするので、登録に工夫が必要。</li>
</ul>

<p>例文だと、[yrq]以外は全てScriptで登録している。<br />
下はScriptモードのデモンストレーション。</p>
<a href="http://www.youtube.com/watch?v=JuyezZCLzt8" ><img src="http://img.youtube.com/vi/JuyezZCLzt8/default.jpg" width="130" height="97" border=0></a>
<p><a href="http://lifehacker.com/238306/lifehacker-code-texter-windows" class="liexternal">Lifehacker Code: Texter (Windows) &#8211; Clips &#8211; Lifehacker</a></p>

<a name="recomend" id="recomend"></a>
<h3 style="margin-top:60px;">おすすめ単語登録リスト</h3>
<p>登録して、凄く便利に感じた個人的なおすすめ登録。<br />
今回配布のTexterには下のリストの何倍も入れている。</p>

<h4>おすすめ！</h4>
<p>PHPとjQuery書くときの気持ち良さが130%増しに！</p>
<ul>
	<li><span class="textBold">[q</span><br />
	<p style="margin-top:3px;" class="sourceCode">{<br />
	　　|カーソル|<br />
	}</p></li>
	
	<li><span class="textBold">22q</span>
	<p style="margin-top:3px;" class="sourceCode">"|カーソル|";</p></li>
	
	<li><span class="textBold">$q</span>
	<p style="margin-top:3px;" class="sourceCode">$("|カーソル|").();</p></li>
	
	<li><span class="textBold">ifq</span>
	<p style="margin-top:3px;" class="sourceCode">if (|カーソル|){<br />
	<br />
	}</p></li>
	
	<li><span class="textBold">elq</span>
	<p style="margin-top:3px;" class="sourceCode">else {<br />
	　　|カーソル|<br />
	}</p></li>
	
	<li><span class="textBold">osq</span>
	<p style="margin-top:3px;" class="sourceCode">いつもお世話になっております。<br />
	■の■です。</p></li>
</ul>


<h4>コーディングだと…</h4>
<p>Dreamweaverコードヒントのほぼ全てを代替して使っている。</p>
<ul>
	<li><span class="textBold">maq</span>
	<p style="margin-top:3px;" class="sourceCode">margin: |カーソル|0px 0px 0px 0px;</p></li>
	
	<li><span class="textBold">paq</span>
	<p style="margin-top:3px;" class="sourceCode">padding: |カーソル|0px 0px 0px 0px;</p></li>
	
	<li><span class="textBold">boq</span>
	<p style="margin-top:3px;" class="sourceCode">border: 1px solid #|カーソル|;</p></li>
	
	<li><span class="textBold">baq</span>
	<p style="margin-top:3px;" class="sourceCode">background: url(img/|カーソル|) no-repeat 0px 0px;</p></li>
	
	
	<li><span class="textBold">wiq</span>
	<p style="margin-top:3px;" class="sourceCode">width: |カーソル|px;</p></li>
	
	<li><span class="textBold">heq</span>
	<p style="margin-top:3px;" class="sourceCode">height: |カーソル|px;</p></li>
</ul>

<h4>CSSハック</h4>
<p>CSSハックは、できるだけ知識として覚えたくないので、Texterに覚えて貰うようにしている。</p>
<ul>
	<li><span class="textBold">10q ～ 26q</span> (<a href="http://developer.yahoo.com/yui/fonts/" class="liexternal">YUI2:Fonts CSS</a>で相対指定)
	<p style="margin-top:3px;" class="sourceCode">font-size: 77%; ～ font-size: 197%;</p></li>

	<li><span class="textBold">ieq</span>
	<p style="margin-top:3px;" class="sourceCode">	/*--IE7 hack--*/<br />
	*:first-child+html |ペースト| {<br />
	<br />
	}<br />
	/*--IE6 hack--*/<br />
	* html |ペースト| {<br />
	　　|カーソル|<br />
	}</p></li>
	
	<li><span class="textBold">leq</span>
	<p style="margin-top:3px;" class="sourceCode">float: left;<br />
	display: inline;</p></li>
	
	<li><span class="textBold">riq</span>
	<p style="margin-top:3px;" class="sourceCode">float: right;<br />
	display: inline;</p></li>
	
	<li><span class="textBold">minhq</span>
	<p style="margin-top:3px;" class="sourceCode">min-height: |カーソル|px;<br />
	/* IE6 fix */<br />
	height: auto !important;<br />
	height: px;</p></li>
	
	<li><span class="textBold">minwq</span>
	<p style="margin-top:3px;" class="sourceCode">min-width: |カーソル|px;<br />
	/* IE6 fix */<br />
	width: auto !important;<br />
	width: px;</p></li>
	
	<li><span class="textBold">ie8q</span>
	<p style="margin-top:3px;" class="sourceCode">
	/* IE8 fix */<br />
	head~/* */body |ペースト| {<br />
	　　|カーソル|<br />
	}</p></li>
	
	<li><span class="textBold">hoq</span> (IE6でもa要素以外で:hover擬似クラスを使う<a href="http://www.google.co.jp/search?hl=ja&#038;q=csshover3.htc" class="liexternal">csshover3.htc</a>)
	<p style="margin-top:3px;" class="sourceCode">&lt;style type="text/css"&gt;<br />
	&lt;!-- body { behavior: url ("common/js/csshover3.htc"); } --&gt;<br />
	&lt;/style&gt;</p></li>
</ul>




<a name="trouble" id="trouble"></a>
<h3 style="margin-top:60px;">Texterのトラブルシューティング</h3>
<p>Texter使用時に起きた問題の対処法をまとめてみた。</p>
<h4>「Script」モードで閉じタグ自動補完とのバッティングを避けるには</h4>
<p style="margin-bottom:5px;">Dreamwerverや他のテキストエディタなどで、<br />
「&lt;/」や「&gt;」を入れると閉じタグを自動補完するように使っている場合は、<br />
素直に登録すると「&lt;div&gt;&lt;/div&gt;&lt;/div&gt;」と二重になってしまう。<br />
それを避ける方法として、</p>

<ul>
	<li>【開始タグ】 閉じタグを打って左に移動し、そこからタグの中身を書く。「&gt;{left}&lt;■■■{right}」
	<p class="sourceCode">&gt;{left}&lt;div{right}</p></li>
	
	<li>【終了タグ】 「/」の後に左、「&lt;」、右、そして中身を書く。「/{left}&lt;{right}■■■」
	<p class="sourceCode">/{left}&lt;{right}div&gt;</p></li>
</ul>



<h4>日本語入力ONの状態で置換されるときに、文字が多く消されてしまう。</h4>
<p>例えば[yoroq]を[宜しく]に変換しようとすると、<br />
IME ONの状態だと[よろｑ]となり3文字だが、<br />
Texterの認識は[yoroq]で5文字となるため、置換時に2文字多く消されてしまう。</p>

<p>解決策としては、[yrq]のように母音を含まないトリガーで登録する。<br />
もしくはトリガーの最初の一文字入力時に、Shiftキーを押すようにすれば、<br />
IME ONの状態でも[Yoroq]と5文字になるので問題なく使える。</p>

<h4>TexterとAutoHotKeyを同時に起動していると動作がおかしい</h4>
<p>先にTexterを起動させてからAutoHotKeyのスクリプトを実行すればOK。<br />
スタートアップに起動の順番を登録したい人は、テキストエディタで下記スクリプトを入力、<br />
フォルダ階層を合わせた後、拡張子を[.txt]から[.vbs]に変えて起動時に実行させればOK!</p>
<p class="sourceCode">
Dim WshShell<br />
Set WshShell = Wscript.CreateObject(&#8221;Wscript.Shell&#8221;)<br />
WshShell.Run(&#8221;■\texter\texter.exe&#8221;)<br />
<br />
WScript.Sleep 4000<br />
WshShell.Run(&#8221;■\autohotkey\autohotkey.ahk&#8221;)<br />
</p>



<h3 style="margin-top:60px;">やっぱり登場、AutoHotKey</h3>
<p>プログラム自体は<a href="http://lukewarm.s101.xrea.com/" class="liexternal">AutoHotKey</a>ベースで作られていて、<br />
Hot Strings関数を利用、GUIでリスト表示するように出来ている。<br />
ahkファイルも<a href="http://github.com/adampash/texter" class="liexternal">公開</a>されているので、自分でカスタマイズも可能。</p>

<p>Texterを使わず、直接AutoHotKeyでスクリプトを書けば、<br />
キー間のタイミング、キー押下時間、正規表現やソフトの制御などで、<br />
想像を超える変態的なHackが可能！<br />
日本語圏でもAutoHotKeyのユーザーが増えて、<br />
打つ事の世界観が変わるライフハックが増えると嬉しいな～と思う。
</p>



<h3 style="margin-top:60px;">時間の短縮以上のメリット</h3>
<p>辞書登録と聞くと、時間短縮が一番のメリットのように映るけど、<br />
自分が感じる本質的なメリットは、<br />
<span class="textBold">「集中力が途切れない」</span>点にあると思う。<br />
</p>


<p style="margin-top:3px;margin-bottom:3px;">集中力が途切れる瞬間を考えてみると、</p>
<ul>
	<li>定型文をコピペの為に、エディタから他のウィンドウに移った瞬間。これは致命的。</li>
	<li>遠くのキーを押すために、ホームポジションから手を離した瞬間。</li>
	<li>左カーソルキーを何度も押して「戻る」動作をしている時。</li>
	<li>インデントの整形の為にEnter・Tab・カーソルキーを駆使している時。</li>
</ul>

<p>上の操作を行った瞬間、キーボードを打っている自分に気がついて、<br />
「ディスプレイの内面世界」から「外の現実世界」に引き戻され、集中力が途切れると感じた。</p>





<p style="margin-bottom:3px;">例えばループさせる時。<br />
自分が打ちたいのはあくまでも、</p>
<p style="margin-top:3px;" class="sourceCode">for ($i = 0; $i &lt;= ■ここ■; $i++){<br />
　　■ここ■<br />
}<br /></p>
<p style="margin-bottom:3px;">だけなのに、最初に枠組みを書いてから戻る打ち方をすると、</p>
<p style="margin-top:3px;margin-bottom:3px;" class="sourceCode">1. for($i = 0; $i &lt;= ■; $i++){<br />
2. Enterを2回<br />
3. }を入力<br />
4. 手をホームポジションからカーソルキーに移動、↑キー<br />
5. Tabを押してインデント。</p>

<p style="margin-top:6px;">ここでやっと書きたかった場所まで到達。<br />
Texterを使えば、魔法の一言”forq”の直後に整形完了。<br />
記号まで自分で打つ必要性は、もうとてもじゃないけど理解できない。</p>

<a name="everyday" id="everyday"></a>
<h3 style="margin-top:60px;">毎日積み重なっていくモノの力は凄い</h3>

<p>ちょうど一年くらい前、インターンで今の制作会社に入った時に、<br />
どうすれば、出来ない仕事の生産性を上げられるんだろうってずっと考えてた。<br />
スキルは足りない、コードが頭からぱっと出てこない、スペルミスは多い。<br />
そんな時に、このエントリーに出会った。
</p>

<blockquote>剣道の達人は剣が身体の一部になっています。<br />
まるで、剣の先にまで神経が生えているように、剣で感じ、剣を操ります。<br />
もはや、道具を使っているという意識はなく、剣も含めて身体意識が形成されているのです。</blockquote>
<p><a href="http://d.hatena.ne.jp/fromdusktildawn/20070212/1171244226" class="liexternal">思考の速度でパソコンを使う技術 &#8211; 分裂勘違い君劇場</a></p>

<p>PCを、意識せず自分の体の一部として認識、洗練させていく行為が<br />
言語スキルを磨くのと同じ様に生産性を強く高める！と思い、主体的にハックを考える様になった。<br />
実際仕事のスピードが飛躍的に高まったので、<br />
人生を共にする仕事道具への接し方って大事だなと～実感した。</p>

<p>コードを書く仕組みを変える事は、自分へのメリットはもちろん、<br />
ノウハウが共有されればweb全体の生産性も上がって素晴らしい世界に！</p>

<p>とか言う崇高な気持ちは無いんだけど<br />
世界観が変わるようなライフハックを実践している人とか、<br />
変態キーバインドでニヤニヤしている人になかなか出会えないので、<br />
少しでもそんな人が増殖すれば良いなと思って書いてみた。</p>

<p><strong>小さな事かも知れないけど、毎日積み重なっていくモノの力は凄い。<br />
Texterを通した入力から得られる、「ストレスのない速記」の世界は<br />
きっと制作人生を、時間単価の面でも、打つ楽しさの面でも豊かにしてくれる！</strong></p>

<p>今回は誰でも簡単に導入できるTexterの紹介。<br />
これからは、もっと根本的なAutoHotKeyを使ったキーバインドを書いていきたい。</p>

<p style="margin: 0px 0px 80px 0px;">
<a href="http://feeds.feedburner.com/5amjp" class="liexternal">RSS登録</a>をyrq. <br />
<a href="http://www.lifehacker.jp/" class="liexternal">Life Hacker</a>に感謝！</p>

<script type="text/javascript">
location.replace('http://5am.jp/lifehack/texter/#download')
</script>]]></content:encoded>
			<wfw:commentRss>http://5am.jp/lifehack/texter/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
		</item>
		<item>
		<title>Dreamweaverで上書き保存した瞬間に、Firefoxを自動でリロードさせる、強力なコーディング高速化スクリプト</title>
		<link>http://5am.jp/autohotkey/autohotkey_dreamweaver_firefox_auto_reload_pre/</link>
		<comments>http://5am.jp/autohotkey/autohotkey_dreamweaver_firefox_auto_reload_pre/#comments</comments>
		<pubDate>Mon, 27 Jul 2009 03:31:17 +0000</pubDate>
		<dc:creator>rin316</dc:creator>
				<category><![CDATA[AutoHotKeyを学ぶ]]></category>

		<guid isPermaLink="false">http://5am.jp/?p=196</guid>
		<description><![CDATA[AutoHotKeyを使ったスクリプト
先週土曜日のSaCSS vol.4 コーディング勉強会のライトニングトークでお話した、
AutoHotKeyのスクリプトを作ったので、取り急ぎ公開。
何が出来るの？
Dreamweaverで「Ctrl + s」を押して上書き保存された瞬間に、
バックグラウンドのFirefoxに「F5」を送って自動でブラウザをリロードさせるスクリプト。
htmlやcssを書き換える度にブラウザを更新しなくても良くなるので、
コーディング速度がアップして集中力も途切れなくなるはず！

ダウンロードと使い方
【スクリプトのダウンロード】

zipを解凍した中に、起動するだけで使えるexeファイルがあるので実行。
セキュリティ不安な人は、
AutoHotkey公式サイトのDownloadページから「AutoHotkey Installer」でインストール。
その後、テキストファイルを作って下のソースを貼り付け、拡張子をtxtからahkに変えて実行。
zipの中にahkファイルも入れておきました。
ウィルスバスター起動していてうまくキーを乗っ取り出来ない場合は、例外指定するか、
exeファイルを使わず、インストール後ahkファイルを起動でOK。

会社のお昼休みなので詳細は後日！

スクリプトのソース

;FireFoxリロード
SetTitleMatchMode, 2

#IfWinActive, Dreamweaver

^s::
&#x0009;Send, ^s
&#x0009;sleep 700
&#x0009;WinGet, Fx,, Mozilla Firefox
&#x0009;ControlSend,, {F5}, ahk_id %Fx%
return

]]></description>
			<content:encoded><![CDATA[<h3>AutoHotKeyを使ったスクリプト</h3>
<p>先週土曜日の<a href="http://h2ham.seesaa.net/article/123047976.html" class="liexternal">SaCSS vol.4 コーディング勉強会</a>のライトニングトークでお話した、<br />
AutoHotKeyのスクリプトを作ったので、取り急ぎ公開。</p>
<h3>何が出来るの？</h3>
<p>Dreamweaverで「Ctrl + s」を押して上書き保存された瞬間に、<br />
バックグラウンドのFirefoxに「F5」を送って自動でブラウザをリロードさせるスクリプト。<br />
htmlやcssを書き換える度にブラウザを更新しなくても良くなるので、<br />
コーディング速度がアップして集中力も途切れなくなるはず！</p>
<span id="more-196"></span>
<h3>ダウンロードと使い方</h3>
<p><a href="http://5am.jp/save_and_reload.zip" class="lizip">【スクリプトのダウンロード】</a></p>

<p>zipを解凍した中に、起動するだけで使えるexeファイルがあるので実行。<br />
セキュリティ不安な人は、<br />
<a href="http://www.autohotkey.com/download/" class="liexternal">AutoHotkey公式サイトのDownloadページ</a>から「AutoHotkey Installer」でインストール。<br />
その後、テキストファイルを作って下のソースを貼り付け、拡張子をtxtからahkに変えて実行。<br />
zipの中にahkファイルも入れておきました。</p>
<p>ウィルスバスター起動していてうまくキーを乗っ取り出来ない場合は、例外指定するか、<br />
exeファイルを使わず、インストール後ahkファイルを起動でOK。</p>

<p>会社のお昼休みなので詳細は後日！</p>

<h3>スクリプトのソース</h3>
<p class="sourceCode">
;FireFoxリロード<br />
SetTitleMatchMode, 2<br />
<br />
#IfWinActive, Dreamweaver<br />
<br />
^s::<br />
&#x0009;Send, ^s<br />
&#x0009;sleep 700<br />
&#x0009;WinGet, Fx,, Mozilla Firefox<br />
&#x0009;ControlSend,, {F5}, ahk_id %Fx%<br />
return<br />
</p>
]]></content:encoded>
			<wfw:commentRss>http://5am.jp/autohotkey/autohotkey_dreamweaver_firefox_auto_reload_pre/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>JavaScriptを使ってフォーム項目の表示/非表示を切り替えるスクリプト</title>
		<link>http://5am.jp/javascript/form_change_javascript/</link>
		<comments>http://5am.jp/javascript/form_change_javascript/#comments</comments>
		<pubDate>Sun, 28 Jun 2009 16:11:10 +0000</pubDate>
		<dc:creator>rin316</dc:creator>
				<category><![CDATA[JavaScriptを学ぶ]]></category>

		<guid isPermaLink="false">http://5am.jp/?p=165</guid>
		<description><![CDATA[

 



こんなことありませんか？
フォームを作っていて、項目が多くなり過ぎてユーザーがストレスを感じそうな時。
そんな時、押した項目によってその後の内容を変化させれば
項目が減って見た目もスッキリ・ユーザーの離脱も効果的に抑えられるはず。
JavaScriptはかなりの初心者なので忘れないようメモしてみた。


【サンプル】例えばお申し込みフォームで…
・【初めて申し込む】を押した時は、「紹介者」入力欄・特典を表示。
・【2度目以降の利用】を押した時は、「会員番号」入力欄を表示。 




	function entryChange1(){
		radio = document.getElementsByName('entryPlan') 
		if(radio[0].checked) {
			//フォーム
			document.getElementById('firstBox').style.display = "";
			document.getElementById('secondBox').style.display = "none";
			//特典
			document.getElementById('firstNotice').style.display = "";
		}else if(radio[1].checked) {
			//フォーム
			document.getElementById('firstBox').style.display = "none";
			document.getElementById('secondBox').style.display = "";
			//特典
			document.getElementById('firstNotice').style.display = "none";
		}
	}







	
		利用方法
		
			初めて申し込む
			2度目以降の利用
		
	

	
	
		紹介者
		
		紹介された方のお名前を入力してください。
	
	
	
	
		会員番号
		
		会員番号を入力してください。
	






	特典:初めての方は30%オフ！









サンプルソース(ラジオボタン)



HTML



JavaScript




HTML側の説明
inputに「onclick=&#8221;関数名() 」を追加する。

&#60;input type=&#34;radio&#34; name=&#34;entryPlan&#34; value=&#34;firstEntry&#34; onclick=&#34;entryChange1(); /&#62;




JavaScript側の説明
最初にfunctionで関数名【entryChange1】を作る。

function entryChange1(){
　　　　//内容
}


変数【radio】に、フォームのname【entryPlan】が一致するものを代入する。

radio = document.getElementsByName(&#8217;entryPlan&#8217;)


もし1つ目のラジオボタンがチェックされたら1を実行、もし2つ目なら2を実行。

if(radio[0].checked) {
　　　　//1を実行
}else if(radio[1].checked) {
　　　　//2を実行
}


表示/非表示の切り替えはIDのdisplayを変える。

document.getElementById(&#8217;【ID名】&#8217;).style.display = &#8220;【表示方法】&#8221;;


こんな感じで切り替え。

if(radio[0].checked) {
　　　　document.getElementById(&#8217;firstBox&#8217;).style.display = &#8220;&#8221;;
}else if(radio[1].checked) {
　　　　document.getElementById(&#8217;firstBox&#8217;).style.display = &#8220;none&#8221;;
}

最初「display = &#8220;inherit&#8221;;」と書いたらIE6でエラーが出て切り替わらなかったので、
「display = &#8220;&#8221;;」と空白で記載したらうまく動いた。
今回であれば表示される行の所は「display = &#8220;table-row&#8221;;」
特典の所は「display = &#8220;block&#8221;;」でもOK
このままだと読み込み時にラジオボタンをクリックするまで両方の行が出てしまうので、
作った関数【entryChange1】をオンロードさせる。
最初「entryChange1()」のように「()」を付けていたら動かなくて困った。。

//オンロードさせ、リロード時に選択を保持
window.onload = entryChange1;


htmlのbodyに記載する方法もある。
ただbodyに入れるとjsとhtmlが分離されず管理が大変になりそう

&#60;body onload=&#34;entryChange1()&#34;&#62;





サンプルソース(セレクトボックス)




	
		利用方法
		
			
				初めて申し込む
				2度目以降の利用
			
		
	

	
	
		紹介者
		
		紹介された方のお名前を入力してください。
	
	
	
	
		会員番号
		
		会員番号を入力してください。
	






	特典:初めての方は30%オフ！



HTML


JavaScript



HTML側の説明
selectに「id=&#8221;changeSelect&#8221;」「onchange=&#8221;関数名() 」を追加する。

&#60;select [...]]]></description>
			<content:encoded><![CDATA[<!-- ========================================================
	start contents
==========================================================-->

<script type="text/javascript" src="http://5am.jp/common/js/change_090629.js"> </script>


<div id="entry-090628">
<h3 class="firstChild">こんなことありませんか？</h3>
<p>フォームを作っていて、項目が多くなり過ぎてユーザーがストレスを感じそうな時。<br />
そんな時、押した項目によってその後の内容を変化させれば<br />
項目が減って見た目もスッキリ・ユーザーの離脱も効果的に抑えられるはず。<br />
JavaScriptはかなりの初心者なので忘れないようメモしてみた。</p>


<h3>【サンプル】例えばお申し込みフォームで…</h3>
<p>・【初めて申し込む】を押した時は、「紹介者」入力欄・特典を表示。<br />
・【2度目以降の利用】を押した時は、「会員番号」入力欄を表示。 
</p>

<!-- script============================================ -->
<script type="text/javascript">
	function entryChange1(){
		radio = document.getElementsByName('entryPlan') 
		if(radio[0].checked) {
			//フォーム
			document.getElementById('firstBox').style.display = "";
			document.getElementById('secondBox').style.display = "none";
			//特典
			document.getElementById('firstNotice').style.display = "";
		}else if(radio[1].checked) {
			//フォーム
			document.getElementById('firstBox').style.display = "none";
			document.getElementById('secondBox').style.display = "";
			//特典
			document.getElementById('firstNotice').style.display = "none";
		}
	}

</script>
<!-- /script============================================ -->


<form>
<table class="chengeForm" border="0" cellspacing="0" cellpadding="0">
	<tr>
		<th>利用方法</th>
		<td>
			<label><input id="inputFirst" type="radio" name="entryPlan" value="hoge1" onclick="entryChange1();" checked="checked" />初めて申し込む</label>
			<label><input id="inputSecond" type="radio" name="entryPlan" value="hoge2" onclick="entryChange1();" />2度目以降の利用</label>
		</td>
	</tr>

	<!-- 表示非表示切り替え -->
	<tr id="firstBox">
		<th>紹介者</th>
		<td><input type="text" /><br />
		<small>紹介された方のお名前を入力してください。</small></td>
	</tr>
	
	<!-- 表示非表示切り替え -->
	<tr id="secondBox">
		<th>会員番号</th>
		<td><input type="text" /><br />
		<small>会員番号を入力してください。</small></td>
	</tr>
</table>
</form>


<!-- 表示非表示切り替え -->
<div id="firstNotice">
	特典:初めての方は30%オフ！
</div>

</div>

<span id="more-165"></span>

<div id="entry-090628">


<h3>サンプルソース(ラジオボタン)</h3>



<p>HTML</p>
<pre class="brush: html; auto-links: false;">

&lt;form&gt;
&lt;table border=&quot;0&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot;&gt;
	&lt;tr&gt;
		&lt;th&gt;利用方法&lt;/th&gt;
		&lt;td&gt;
			&lt;label&gt;&lt;input type=&quot;radio&quot; name=&quot;entryPlan&quot; value=&quot;hoge1&quot; onclick=&quot;entryChange1();&quot; checked=&quot;checked&quot; /&gt;初めて申し込む&lt;/label&gt;
			&lt;label&gt;&lt;input type=&quot;radio&quot; name=&quot;entryPlan&quot; value=&quot;hoge2&quot; onclick=&quot;entryChange1();&quot; /&gt;2度目以降の利用&lt;/label&gt;
		&lt;/td&gt;
	&lt;/tr&gt;

	&lt;!-- 表示非表示切り替え --&gt;
	&lt;tr id=&quot;firstBox&quot;&gt;
		&lt;th&gt;紹介者&lt;/th&gt;
		&lt;td&gt;&lt;input type=&quot;text&quot; /&gt;
		&lt;p&gt;紹介された方のお名前を入力してください。&lt;/p&gt;&lt;/td&gt;
	&lt;/tr&gt;
	
	&lt;!-- 表示非表示切り替え --&gt;
	&lt;tr id=&quot;secondBox&quot;&gt;
		&lt;th&gt;会員番号&lt;/th&gt;
		&lt;td&gt;&lt;input type=&quot;text&quot; /&gt;
		&lt;p&gt;会員番号を入力してください。&lt;/p&gt;&lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;
&lt;/form&gt;


&lt;!-- 表示非表示切り替え --&gt;
&lt;div id=&quot;firstNotice&quot;&gt;
	特典:初めての方は30%オフ！
&lt;/div&gt;

</pre>





<p>JavaScript</p>
<pre class="brush: jscript; auto-links: false;">
&lt;script type=&quot;text/javascript&quot;&gt;
	function entryChange1(){
		radio = document.getElementsByName(&#039;entryPlan&#039;) 
		if(radio[0].checked) {
			//フォーム
			document.getElementById(&#039;firstBox&#039;).style.display = &quot;&quot;;
			document.getElementById(&#039;secondBox&#039;).style.display = &quot;none&quot;;
			//特典
			document.getElementById(&#039;firstNotice&#039;).style.display = &quot;&quot;;
		}else if(radio[1].checked) {
			//フォーム
			document.getElementById(&#039;firstBox&#039;).style.display = &quot;none&quot;;
			document.getElementById(&#039;secondBox&#039;).style.display = &quot;&quot;;
			//特典
			document.getElementById(&#039;firstNotice&#039;).style.display = &quot;none&quot;;
		}
	}
	
	//オンロードさせ、リロード時に選択を保持
	window.onload = entryChange1;
&lt;/script&gt;
</pre>

	




<h4>HTML側の説明</h4>
<p>inputに「onclick=&#8221;関数名() 」を追加する。</p>
<p class="sourceCode">
&lt;input type=&quot;radio&quot; name=&quot;entryPlan&quot; value=&quot;firstEntry&quot; onclick=&quot;entryChange1(); /&gt;
</p>



<h4>JavaScript側の説明</h4>
<p>最初にfunctionで関数名【entryChange1】を作る。</p>
<p class="sourceCode">
function entryChange1(){<br />
　　　　//内容<br />
}<br />
</p>

<p class=" mt30">変数【radio】に、フォームのname【entryPlan】が一致するものを代入する。</p>
<p class="sourceCode">
radio = document.getElementsByName(&#8217;entryPlan&#8217;)
</p>

<p class=" mt30">もし1つ目のラジオボタンがチェックされたら1を実行、もし2つ目なら2を実行。</p>
<p class="sourceCode">
if(radio[0].checked) {<br />
　　　　//1を実行<br />
}else if(radio[1].checked) {<br />
　　　　//2を実行<br />
}<br />
</p>

<p class=" mt30">表示/非表示の切り替えはIDのdisplayを変える。</p>
<p class="sourceCode">
document.getElementById(&#8217;【ID名】&#8217;).style.display = &#8220;【表示方法】&#8221;;<br />
</p>

<p class=" mt30">こんな感じで切り替え。</p>
<p class="sourceCode">
if(radio[0].checked) {<br />
　　　　document.getElementById(&#8217;firstBox&#8217;).style.display = &#8220;&#8221;;<br />
}else if(radio[1].checked) {<br />
　　　　document.getElementById(&#8217;firstBox&#8217;).style.display = &#8220;none&#8221;;<br />
}<br />
</p>
<p>最初「display = &#8220;inherit&#8221;;」と書いたらIE6でエラーが出て切り替わらなかったので、<br />
「display = &#8220;&#8221;;」と空白で記載したらうまく動いた。<br />
今回であれば表示される行の所は「display = &#8220;table-row&#8221;;」<br />
特典の所は「display = &#8220;block&#8221;;」でもOK</p>
<p class=" mt30">このままだと読み込み時にラジオボタンをクリックするまで両方の行が出てしまうので、<br />
作った関数【entryChange1】をオンロードさせる。<br />
最初「entryChange1()」のように「()」を付けていたら動かなくて困った。。</p>
<p class="sourceCode">
//オンロードさせ、リロード時に選択を保持<br />
window.onload = entryChange1;<br />
</p>

<p class=" mt30">htmlのbodyに記載する方法もある。<br />
ただbodyに入れるとjsとhtmlが分離されず管理が大変になりそう</p>
<p class="sourceCode">
&lt;body onload=&quot;entryChange1()&quot;&gt;
</p>




<h3>サンプルソース(セレクトボックス)</h3>


<form>
<table class="chengeForm" border="0" cellspacing="0" cellpadding="0">
	<tr>
		<th>利用方法</th>
		<td>
			<select id="changeSelect" name="hoge" onchange="entryChange2();">
				<option value="select1">初めて申し込む</option>
				<option value="select2">2度目以降の利用</option>
			</select>
		</td>
	</tr>

	<!-- 表示非表示切り替え -->
	<tr id="firstBox2">
		<th>紹介者</th>
		<td><input type="text" /><br />
		<small>紹介された方のお名前を入力してください。</small></td>
	</tr>
	
	<!-- 表示非表示切り替え -->
	<tr id="secondBox2">
		<th>会員番号</th>
		<td><input type="text" /><br />
		<small>会員番号を入力してください。</small></td>
	</tr>
</table>
</form>


<!-- 表示非表示切り替え -->
<div id="firstNotice2">
	特典:初めての方は30%オフ！
</div>


<p>HTML</p>
<pre class="brush: html; auto-links: false;">

&lt;form&gt;
&lt;table border=&quot;0&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot;&gt;
	&lt;tr&gt;
		&lt;th&gt;利用方法&lt;/th&gt;
		&lt;td&gt;
			&lt;select id=&quot;changeSelect&quot; name=&quot;hoge&quot; onchange=&quot;entryChange2();&quot;&gt;
				&lt;option value=&quot;select1&quot;&gt;初めて申し込む&lt;/option&gt;
				&lt;option value=&quot;select2&quot;&gt;2度目以降の利用&lt;/option&gt;
			&lt;/select&gt;
		&lt;/td&gt;
	&lt;/tr&gt;

	&lt;!-- 表示非表示切り替え --&gt;
	&lt;tr id=&quot;firstBox2&quot;&gt;
		&lt;th&gt;紹介者&lt;/th&gt;
		&lt;td&gt;&lt;input type=&quot;text&quot; /&gt;
		&lt;p&gt;紹介された方のお名前を入力してください。&lt;/p&gt;&lt;/td&gt;
	&lt;/tr&gt;
	
	&lt;!-- 表示非表示切り替え --&gt;
	&lt;tr id=&quot;secondBox2&quot;&gt;
		&lt;th&gt;会員番号&lt;/th&gt;
		&lt;td&gt;&lt;input type=&quot;text&quot; /&gt;
		&lt;p&gt;会員番号を入力してください。&lt;/p&gt;&lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;
&lt;/form&gt;


&lt;!-- 表示非表示切り替え --&gt;
&lt;div id=&quot;firstNotice2&quot;&gt;
	特典:初めての方は30%オフ！
&lt;/div&gt;

</pre>




<p>JavaScript</p>
<pre class="brush: jscript; auto-links: false;">
&lt;script type=&quot;text/javascript&quot;&gt;
	function entryChange2(){
		if(document.getElementById(&#039;changeSelect&#039;)){
			id = document.getElementById(&#039;changeSelect&#039;).value;
			
			if(id == &#039;select1&#039;){
				//フォーム
				document.getElementById(&#039;firstBox2&#039;).style.display = &quot;&quot;;
				document.getElementById(&#039;secondBox2&#039;).style.display = &quot;none&quot;;
				//特典
				document.getElementById(&#039;firstNotice2&#039;).style.display = &quot;&quot;;
			}else if(id == &#039;select2&#039;){
				//フォーム
				document.getElementById(&#039;firstBox2&#039;).style.display = &quot;none&quot;;
				document.getElementById(&#039;secondBox2&#039;).style.display = &quot;&quot;;
				//特典
				document.getElementById(&#039;firstNotice2&#039;).style.display = &quot;none&quot;;
			}
		}
	}
	
	//オンロードさせ、リロード時に選択を保持
	window.onload = entryChange2;
&lt;/script&gt;
</pre>





<h4>HTML側の説明</h4>
<p>selectに「id=&#8221;changeSelect&#8221;」「onchange=&#8221;関数名() 」を追加する。</p>
<p class="sourceCode">
&lt;select id=&quot;changeSelect&quot; name=&quot;hoge&quot; onchange=&quot;entryChange2();&quot;&gt;<br />
　　　　&lt;option value=&quot;select1&quot;&gt;初めて申し込む&lt;/option&gt;<br />
　　　　&lt;option value=&quot;select2&quot;&gt;2度目以降の利用&lt;/option&gt;<br />
&lt;/select&gt;
</p>



<h4>JavaScript側の説明</h4>
<p>もしIDがchangeSelectだったらこの中を実行</p>
<p class="sourceCode">
if(document.getElementById(&#8217;changeSelect&#8217;)){<br />
　　　　//この中を実行<br />
}
</p>

<p class=" mt30">changeSelectの中で選んだvalueの値を変数【id】に代入</p>
<p class="sourceCode">
id = document.getElementById(&#8217;changeSelect&#8217;).value;
</p>


<p class=" mt30">もし変数【id】(valueの値)が同じならこの中を実行</p>
<p class="sourceCode">
if(id == &#8217;select1&#8242;){<br />
　　　　//この中を実行<br />
}else if(id == &#8217;select2&#8242;){<br />
　　　　//この中を実行<br />
}
</p>

<h3>ひとつのページ内で複数のwindow.onloadが動作しない</h3>
<p>今回のサンプルのようにひとつのページ内で2箇所以上window.onloadを使おうとしたら<br />
最後のwindow.onload以外は反映されない問題が発生。。<br />
下の例だとentryChange2しかonloadが反映されない。
</p>
<p class="sourceCode">window.onload = entryChange1;<br />
window.onload = entryChange2;
</p>


<p class=" mt30">そこで2つを1つの関数【init】にまとめてonloadしたら上手く反映された！</p>
<p class="sourceCode">
function init(){<br />
　　　　entryChange1();<br />
　　　　entryChange2();	<br />
}<br />
window.onload = init;
</p>

<p class=" mt30">ただこれだと、複数のJavaScriptライブラリがあって、<br />
他にwindow.onloadが使われている場合上書きしてしまうので、<br />
正確には<a href="http://blog.webcreativepark.net/2008/02/26-185844.html" class="liexternal">addEventListener() メソッドとattachEvent()メソッドを使うのがベスト</a>みたい。</p>

<h3>動的な書き換えって面白い！</h3>
<p>普段JavaScriptに触る事が無かったので、<br />
onloadのタイミングだったり、ブラウザによる差異などなど<br />
fixする事が沢山あって難しいな～と感じた。<br />
それにしても動的な書き換えって面白い！！<br />
少しずつ使いこなせるようにがんばろう。<br />
会社のプログラマに色々教えて貰いながらの作業でとても感謝！</p>


<!-- /div#entry-###### --></div>

<!-- ========================================================
	end contents
==========================================================-->

]]></content:encoded>
			<wfw:commentRss>http://5am.jp/javascript/form_change_javascript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jQueryを使ったタブメニューの実装サンプルまとめ</title>
		<link>http://5am.jp/jquery/jquery_ui_tabs/</link>
		<comments>http://5am.jp/jquery/jquery_ui_tabs/#comments</comments>
		<pubDate>Sat, 09 May 2009 15:10:46 +0000</pubDate>
		<dc:creator>rin316</dc:creator>
				<category><![CDATA[jQueryを学ぶ]]></category>

		<guid isPermaLink="false">http://5am.jp/?p=46</guid>
		<description><![CDATA[



仕事でjQueryを使ったタブメニューを作ったので忘れないようにメモ。
それぞれの挙動も比較しやすいように並べてみた。
今日が勉強初投稿の日！
photo:新川通り

まずはファイルの用意

下記リンクからダウンロード。
・jQuery本体…Past Releases内→最新バージョンのMinified
・ui.core.js/ui.tabs.js/ui.tabs.css一式(ui.tab.zip)　(Mirror)



head内にリンクを張る
ダウンロードしたファイルに対して、head内にリンクを張る




さっそく使ってみる

本文にhtmlを追加。



下記scriptをheadかbodyどちらかに追加。

デフォルト



	

	$(function() {
		$('#ui-tab1 > ul').tabs();
	});





	
		タブ1
		タブ2
		タブ3
	
	
	
		タブ1の内容
	
	
	
		タブ2の内容
	
	
	
		タブ3の内容
	





フェードアウト/フェードイン エフェクト


opacity: &#8216;toggle&#8217;, duration: &#8216;normal&#8217;


	

	$(function() {
		$('#ui-tab2_normal > ul').tabs({ fx: { opacity: 'toggle', duration: 'normal'  } });
	});



	
		タブ1
		タブ2
		タブ3
	
	
	
		タブ1の内容
	
	
	
		タブ2の内容
	
	
	
		タブ3の内容
	










opacity: &#8216;toggle&#8217;, duration: &#8217;slow&#8217;


	

	$(function() {
		$('#ui-tab2_slow > ul').tabs({ fx: { opacity: 'toggle', duration: 'slow'  } });
	});



	
		タブ1
		タブ2
		タブ3
	
	
	
		タブ1の内容
	
	
	
		タブ2の内容
	
	
	
		タブ3の内容
	







opacity: &#8216;toggle&#8217;, duration: &#8216;fast&#8217;


	

	$(function() {
		$('#ui-tab2_fast > ul').tabs({ fx: { opacity: 'toggle', duration: 'fast'  } });
	});



	
		タブ1
		タブ2
		タブ3
	
	
	
		タブ1の内容
	
	
	
		タブ2の内容
	
	
	
		タブ3の内容
	







opacity: &#8216;toggle&#8217;, duration: milliseconds(1/1000秒)


	

	$(function() {
		$('#ui-tab2_milliseconds [...]]]></description>
			<content:encoded><![CDATA[<!-- ========================================================
	start contents
==========================================================-->
<div id="entry-090509">
<img src="http://5am.jp/wp-content/uploads/2009/05/img_67931.jpg" alt="img_67931" title="img_67931" width="520" height="347" class="alignnone size-full wp-image-154" />

<p>仕事でjQueryを使ったタブメニューを作ったので忘れないようにメモ。<br />
それぞれの挙動も比較しやすいように並べてみた。</p>
<p>今日が勉強初投稿の日！<br />
photo:新川通り</p>

<h3>まずはファイルの用意</h3>

<p>下記リンクからダウンロード。<br />
・<a href="http://docs.jquery.com/Downloading_jQuery" class="liexternal">jQuery本体</a>…Past Releases内→最新バージョンのMinified<br />
・<a href="http://stilbuero.de/jquery/tabs_3/ui.tabs.zip" class="lizip">ui.core.js/ui.tabs.js/ui.tabs.css一式(ui.tab.zip)</a>　<a href="http://5am.jp/material/090509_ui.tabs.zip" class="lizip">(Mirror)</a></p>



<h3>head内にリンクを張る</h3>
<p>ダウンロードしたファイルに対して、head内にリンクを張る</p>

<pre class="brush: html; auto-links: false;">
&lt;head&gt;
&lt;!-- jQuery --&gt;
	&lt;script type=&quot;text/javascript&quot; src=&quot;/jquery-1.####.min.js&quot;&gt;&lt;/script&gt;

&lt;!-- ui tabs.js --&gt;
	&lt;script type=&quot;text/javascript&quot; src=&quot;/ui.core.js&quot;&gt;&lt;/script&gt;
	&lt;script type=&quot;text/javascript&quot; src=&quot;/ui.tabs.js&quot;&gt;&lt;/script&gt;
	&lt;link href=&quot;/ui.tabs.css&quot; rel=&quot;stylesheet&quot; type=&quot;text/css&quot; /&gt;

&lt;/head&gt;
</pre>





<h3>さっそく使ってみる</h3>

<p>本文にhtmlを追加。</p>

<pre class="brush: html; auto-links: false;">
&lt;div id=&quot;ui-tab&quot;&gt;
	&lt;ul&gt;
		&lt;li&gt;&lt;a href=&quot;#fragment-1&quot;&gt;&lt;span&gt;タブ1&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href=&quot;#fragment-2&quot;&gt;&lt;span&gt;タブ2&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href=&quot;#fragment-3&quot;&gt;&lt;span&gt;タブ3&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;
	
	&lt;div id=&quot;fragment-1&quot;&gt;
		&lt;p&gt;タブ1の内容&lt;/p&gt;
	&lt;/div&gt;
	
	&lt;div id=&quot;fragment-2&quot;&gt;
		&lt;p&gt;タブ2の内容&lt;/p&gt;
	&lt;/div&gt;
	
	&lt;div id=&quot;fragment-3&quot;&gt;
		&lt;p&gt;タブ3の内容&lt;/p&gt;
	&lt;/div&gt;

&lt;/div&gt;
</pre>




<p class="mt30">下記scriptをheadかbodyどちらかに追加。</p>

<p class="font_bold">デフォルト</p>

<pre class="brush: jscript; auto-links: false;">
&lt;script type=&quot;text/javascript&quot;&gt;
	$(function() {
		$(&#039;#ui-tab &gt; ul&#039;).tabs();
	});
&lt;/script&gt;
</pre>




	<!-- script -->
<script type="text/javascript">
	$(function() {
		$('#ui-tab1 > ul').tabs();
	});
</script>


<!-- 1 -->
<div id="ui-tab1" class="tab-all">
	<ul>
		<li><a href="#fragment-1-1" class="liinternal"><span>タブ1</span></a></li>
		<li><a href="#fragment-1-2" class="liinternal"><span>タブ2</span></a></li>
		<li><a href="#fragment-1-3" class="liinternal"><span>タブ3</span></a></li>
	</ul>
	
	<div id="fragment-1-1" class="tab1">
		<p>タブ1の内容</p>
	</div>
	
	<div id="fragment-1-2" class="tab2">
		<p>タブ2の内容</p>
	</div>
	
	<div id="fragment-1-3" class="tab3">
		<p>タブ3の内容</p>
	</div>

</div>


<!-- 2 -->
<h3>フェードアウト/フェードイン エフェクト</h3>

<!-- 2_normal -->
<p class="font_bold">opacity: &#8216;toggle&#8217;, duration: &#8216;normal&#8217;</p>

<pre class="brush: jscript; auto-links: false;">
&lt;script type=&quot;text/javascript&quot;&gt;
	$(function() {
		$(&#039;#ui-tab &gt; ul&#039;).tabs({ fx: { opacity: &#039;toggle&#039;, duration: &#039;normal&#039;  } });
	});
&lt;/script&gt;
</pre>



	<!-- script -->
<script type="text/javascript">
	$(function() {
		$('#ui-tab2_normal > ul').tabs({ fx: { opacity: 'toggle', duration: 'normal'  } });
	});
</script>

<div id="ui-tab2_normal" class="tab-all">
	<ul>
		<li><a href="#fragment-2-1_normal" class="liinternal"><span>タブ1</span></a></li>
		<li><a href="#fragment-2-2_normal" class="liinternal"><span>タブ2</span></a></li>
		<li><a href="#fragment-2-3_normal" class="liinternal"><span>タブ3</span></a></li>
	</ul>
	
	<div id="fragment-2-1_normal" class="tab1">
		<p>タブ1の内容</p>
	</div>
	
	<div id="fragment-2-2_normal" class="tab2">
		<p>タブ2の内容</p>
	</div>
	
	<div id="fragment-2-3_normal" class="tab3">
		<p>タブ3の内容</p>
	</div>

</div>

</div>

<span id="more-46"></span>

<div id="entry-090509">

<!-- 2_slow -->
<p class="font_bold mt20">opacity: &#8216;toggle&#8217;, duration: &#8217;slow&#8217;</p>

<pre class="brush: jscript; auto-links: false;">
&lt;script type=&quot;text/javascript&quot;&gt;
	$(function() {
		$(&#039;#ui-tab &gt; ul&#039;).tabs({ fx: { opacity: &#039;toggle&#039;, duration: &#039;slow&#039;  } });
	});
&lt;/script&gt;
</pre>



	<!-- script -->
<script type="text/javascript">
	$(function() {
		$('#ui-tab2_slow > ul').tabs({ fx: { opacity: 'toggle', duration: 'slow'  } });
	});
</script>

<div id="ui-tab2_slow" class="tab-all">
	<ul>
		<li><a href="#fragment-2-1_slow" class="liinternal"><span>タブ1</span></a></li>
		<li><a href="#fragment-2-2_slow" class="liinternal"><span>タブ2</span></a></li>
		<li><a href="#fragment-2-3_slow" class="liinternal"><span>タブ3</span></a></li>
	</ul>
	
	<div id="fragment-2-1_slow" class="tab1">
		<p>タブ1の内容</p>
	</div>
	
	<div id="fragment-2-2_slow" class="tab2">
		<p>タブ2の内容</p>
	</div>
	
	<div id="fragment-2-3_slow" class="tab3">
		<p>タブ3の内容</p>
	</div>

</div>



<!-- 2_fast -->

<p class="font_bold mt20">opacity: &#8216;toggle&#8217;, duration: &#8216;fast&#8217;</p>

<pre class="brush: jscript; auto-links: false;">
&lt;script type=&quot;text/javascript&quot;&gt;
	$(function() {
		$(&#039;#ui-tab &gt; ul&#039;).tabs({ fx: { opacity: &#039;toggle&#039;, duration: &#039;fast&#039;  } });
	});
&lt;/script&gt;
</pre>



	<!-- script -->
<script type="text/javascript">
	$(function() {
		$('#ui-tab2_fast > ul').tabs({ fx: { opacity: 'toggle', duration: 'fast'  } });
	});
</script>

<div id="ui-tab2_fast" class="tab-all">
	<ul>
		<li><a href="#fragment-2-1_fast" class="liinternal"><span>タブ1</span></a></li>
		<li><a href="#fragment-2-2_fast" class="liinternal"><span>タブ2</span></a></li>
		<li><a href="#fragment-2-3_fast" class="liinternal"><span>タブ3</span></a></li>
	</ul>
	
	<div id="fragment-2-1_fast" class="tab1">
		<p>タブ1の内容</p>
	</div>
	
	<div id="fragment-2-2_fast" class="tab2">
		<p>タブ2の内容</p>
	</div>
	
	<div id="fragment-2-3_fast" class="tab3">
		<p>タブ3の内容</p>
	</div>

</div>



<!-- 2_milliseconds -->

<p class="font_bold mt20">opacity: &#8216;toggle&#8217;, duration: milliseconds(1/1000秒)</p>

<pre class="brush: jscript; auto-links: false;">
&lt;script type=&quot;text/javascript&quot;&gt;
	$(function() {
		$(&#039;#ui-tab &gt; ul&#039;).tabs({ fx: { opacity: &#039;toggle&#039;, duration: 2000  } });
	});
&lt;/script&gt;
</pre>



	<!-- script -->
<script type="text/javascript">
	$(function() {
		$('#ui-tab2_milliseconds > ul').tabs({ fx: { opacity: 'toggle', duration: 2000  } });
	});
</script>

<div id="ui-tab2_milliseconds" class="tab-all">
	<ul>
		<li><a href="#fragment-2-1_milliseconds" class="liinternal"><span>タブ1</span></a></li>
		<li><a href="#fragment-2-2_milliseconds" class="liinternal"><span>タブ2</span></a></li>
		<li><a href="#fragment-2-3_milliseconds" class="liinternal"><span>タブ3</span></a></li>
	</ul>
	
	<div id="fragment-2-1_milliseconds" class="tab1">
		<p>タブ1の内容</p>
	</div>
	
	<div id="fragment-2-2_milliseconds" class="tab2">
		<p>タブ2の内容</p>
	</div>
	
	<div id="fragment-2-3_milliseconds" class="tab3">
		<p>タブ3の内容</p>
	</div>

</div>



<h3>スライドエフェクト</h3>

<!-- 3_normal -->

<p class="font_bold">height: &#8216;toggle&#8217;, duration: &#8216;normal&#8217;</p>

<pre class="brush: jscript; auto-links: false;">
&lt;script type=&quot;text/javascript&quot;&gt;
	$(function() {
		$(&#039;#ui-tab &gt; ul&#039;).tabs({ fx: { height: &#039;toggle&#039;, duration: &#039;normal&#039;  } });
	});
&lt;/script&gt;
</pre>



	<!-- script -->
<script type="text/javascript">
	$(function() {
		$('#ui-tab3_normal > ul').tabs({ fx: { height: 'toggle', duration: 'normal'  } });
	});
</script>

<div id="ui-tab3_normal" class="tab-all">
	<ul>
		<li><a href="#fragment-3-1_normal" class="liinternal"><span>タブ1</span></a></li>
		<li><a href="#fragment-3-2_normal" class="liinternal"><span>タブ2</span></a></li>
		<li><a href="#fragment-3-3_normal" class="liinternal"><span>タブ3</span></a></li>
	</ul>
	
	<div id="fragment-3-1_normal" class="tab1">
		<p class="slide_effect">タブ1の内容</p>
	</div>
	
	<div id="fragment-3-2_normal" class="tab2">
		<p class="slide_effect">タブ2の内容</p>
	</div>
	
	<div id="fragment-3-3_normal" class="tab3">
		<p class="slide_effect">タブ3の内容</p>
	</div>

</div>



<!-- 3_slow -->

<p class="font_bold mt20">height: &#8216;toggle&#8217;, duration: &#8217;slow&#8217;</p>

<pre class="brush: jscript; auto-links: false;">
&lt;script type=&quot;text/javascript&quot;&gt;
	$(function() {
		$(&#039;#ui-tab &gt; ul&#039;).tabs({ fx: { height: &#039;toggle&#039;, duration: &#039;slow&#039;  } });
	});
&lt;/script&gt;
</pre>



	<!-- script -->
<script type="text/javascript">
	$(function() {
		$('#ui-tab3_slow > ul').tabs({ fx: { height: 'toggle', duration: 'slow'  } });
	});
</script>

<div id="ui-tab3_slow" class="tab-all">
	<ul>
		<li><a href="#fragment-3-1_slow" class="liinternal"><span>タブ1</span></a></li>
		<li><a href="#fragment-3-2_slow" class="liinternal"><span>タブ2</span></a></li>
		<li><a href="#fragment-3-3_slow" class="liinternal"><span>タブ3</span></a></li>
	</ul>
	
	<div id="fragment-3-1_slow" class="tab1">
		<p class="slide_effect">タブ1の内容</p>
	</div>
	
	<div id="fragment-3-2_slow" class="tab2">
		<p class="slide_effect">タブ2の内容</p>
	</div>
	
	<div id="fragment-3-3_slow" class="tab3">
		<p class="slide_effect">タブ3の内容</p>
	</div>

</div>



<!-- 3_fast -->

<p class="font_bold mt20">height: &#8216;toggle&#8217;, duration: &#8216;fast&#8217;</p>

<pre class="brush: jscript; auto-links: false;">
&lt;script type=&quot;text/javascript&quot;&gt;
	$(function() {
		$(&#039;#ui-tab &gt; ul&#039;).tabs({ fx: { height: &#039;toggle&#039;, duration: &#039;fast&#039;  } });
	});
&lt;/script&gt;
</pre>



	<!-- script -->
<script type="text/javascript">
	$(function() {
		$('#ui-tab3_fast > ul').tabs({ fx: { height: 'toggle', duration: 'fast'  } });
	});
</script>

<div id="ui-tab3_fast" class="tab-all">
	<ul>
		<li><a href="#fragment-3-1_fast" class="liinternal"><span>タブ1</span></a></li>
		<li><a href="#fragment-3-2_fast" class="liinternal"><span>タブ2</span></a></li>
		<li><a href="#fragment-3-3_fast" class="liinternal"><span>タブ3</span></a></li>
	</ul>
	
	<div id="fragment-3-1_fast" class="tab1">
		<p class="slide_effect">タブ1の内容</p>
	</div>
	
	<div id="fragment-3-2_fast" class="tab2">
		<p class="slide_effect">タブ2の内容</p>
	</div>
	
	<div id="fragment-3-3_fast" class="tab3">
		<p class="slide_effect">タブ3の内容</p>
	</div>

</div>



<!-- 3_milliseconds -->

<p class="font_bold mt20">height: &#8216;toggle&#8217;, duration: milliseconds(1/1000秒)</p>

<pre class="brush: jscript; auto-links: false;">
&lt;script type=&quot;text/javascript&quot;&gt;
	$(function() {
		$(&#039;#ui-tab &gt; ul&#039;).tabs({ fx: { height: &#039;toggle&#039;, duration: 2000  } });
	});
&lt;/script&gt;
</pre>



	<!-- script -->
<script type="text/javascript">
	$(function() {
		$('#ui-tab3_milliseconds > ul').tabs({ fx: { height: 'toggle', duration: 2000  } });
	});
</script>

<div id="ui-tab3_milliseconds" class="tab-all">
	<ul>
		<li><a href="#fragment-3-1_milliseconds" class="liinternal"><span>タブ1</span></a></li>
		<li><a href="#fragment-3-2_milliseconds" class="liinternal"><span>タブ2</span></a></li>
		<li><a href="#fragment-3-3_milliseconds" class="liinternal"><span>タブ3</span></a></li>
	</ul>
	
	<div id="fragment-3-1_milliseconds" class="tab1">
		<p class="slide_effect">タブ1の内容</p>
	</div>
	
	<div id="fragment-3-2_milliseconds" class="tab2">
		<p class="slide_effect">タブ2の内容</p>
	</div>
	
	<div id="fragment-3-3_milliseconds" class="tab3">
		<p class="slide_effect">タブ3の内容</p>
	</div>

</div>



<h3>フェード+スライドエフェクト</h3>

<!-- 4_normal -->

<p class="font_bold">height: &#8216;toggle&#8217; , opacity: &#8216;toggle&#8217; , duration: &#8216;normal&#8217;</p>

<pre class="brush: jscript; auto-links: false;">
&lt;script type=&quot;text/javascript&quot;&gt;
	$(function() {
		$(&#039;#ui-tab &gt; ul&#039;).tabs({ fx: { height: &#039;toggle&#039; , opacity: &#039;toggle&#039; , duration: &#039;normal&#039; } });
&lt;/script&gt;
</pre>



	<!-- script -->
<script type="text/javascript">
	$(function() {
		$('#ui-tab4_normal > ul').tabs({ fx: { height: 'toggle' , opacity: 'toggle' , duration: 'normal' } });
	});
</script>

<div id="ui-tab4_normal" class="tab-all">
	<ul>
		<li><a href="#fragment-4-1_normal" class="liinternal"><span>タブ1</span></a></li>
		<li><a href="#fragment-4-2_normal" class="liinternal"><span>タブ2</span></a></li>
		<li><a href="#fragment-4-3_normal" class="liinternal"><span>タブ3</span></a></li>
	</ul>
	
	<div id="fragment-4-1_normal" class="tab1">
		<p class="slide_effect">タブ1の内容</p>
	</div>
	
	<div id="fragment-4-2_normal" class="tab2">
		<p class="slide_effect">タブ2の内容</p>
	</div>
	
	<div id="fragment-4-3_normal" class="tab3">
		<p class="slide_effect">タブ3の内容</p>
	</div>

</div>



<!-- 4_slow -->

<p class="font_bold mt20">height: &#8216;toggle&#8217; , opacity: &#8216;toggle&#8217; , duration: &#8217;slow&#8217;</p>

<pre class="brush: jscript; auto-links: false;">
&lt;script type=&quot;text/javascript&quot;&gt;
	$(function() {
		$(&#039;#ui-tab &gt; ul&#039;).tabs({ fx: { height: &#039;toggle&#039; , opacity: &#039;toggle&#039; , duration: &#039;slow&#039; } });
&lt;/script&gt;
</pre>



	<!-- script -->
<script type="text/javascript">
	$(function() {
		$('#ui-tab4_slow > ul').tabs({ fx: { height: 'toggle' , opacity: 'toggle' , duration: 'slow' } });
	});
</script>

<div id="ui-tab4_slow" class="tab-all">
	<ul>
		<li><a href="#fragment-4-1_slow" class="liinternal"><span>タブ1</span></a></li>
		<li><a href="#fragment-4-2_slow" class="liinternal"><span>タブ2</span></a></li>
		<li><a href="#fragment-4-3_slow" class="liinternal"><span>タブ3</span></a></li>
	</ul>
	
	<div id="fragment-4-1_slow" class="tab1">
		<p class="slide_effect">タブ1の内容</p>
	</div>
	
	<div id="fragment-4-2_slow" class="tab2">
		<p class="slide_effect">タブ2の内容</p>
	</div>
	
	<div id="fragment-4-3_slow" class="tab3">
		<p class="slide_effect">タブ3の内容</p>
	</div>

</div>



<!-- 4_fast -->

<p class="font_bold mt20">height: &#8216;toggle&#8217; , opacity: &#8216;toggle&#8217; , duration: &#8216;fast&#8217;</p>

<pre class="brush: jscript; auto-links: false;">
&lt;script type=&quot;text/javascript&quot;&gt;
	$(function() {
		$(&#039;#ui-tab &gt; ul&#039;).tabs({ fx: { height: &#039;toggle&#039; , opacity: &#039;toggle&#039; , duration: &#039;fast&#039; } });
&lt;/script&gt;
</pre>



	<!-- script -->
<script type="text/javascript">
	$(function() {
		$('#ui-tab4_fast > ul').tabs({ fx: { height: 'toggle' , opacity: 'toggle' , duration: 'fast' } });
	});
</script>

<div id="ui-tab4_fast" class="tab-all">
	<ul>
		<li><a href="#fragment-4-1_fast" class="liinternal"><span>タブ1</span></a></li>
		<li><a href="#fragment-4-2_fast" class="liinternal"><span>タブ2</span></a></li>
		<li><a href="#fragment-4-3_fast" class="liinternal"><span>タブ3</span></a></li>
	</ul>
	
	<div id="fragment-4-1_fast" class="tab1">
		<p class="slide_effect">タブ1の内容</p>
	</div>
	
	<div id="fragment-4-2_fast" class="tab2">
		<p class="slide_effect">タブ2の内容</p>
	</div>
	
	<div id="fragment-4-3_fast" class="tab3">
		<p class="slide_effect">タブ3の内容</p>
	</div>

</div>



<!-- 4_milliseconds -->

<p class="font_bold mt20">height: &#8216;toggle&#8217; , opacity: &#8216;toggle&#8217; , duration: milliseconds(1/1000秒)</p>

<pre class="brush: jscript; auto-links: false;">
&lt;script type=&quot;text/javascript&quot;&gt;
	$(function() {
		$(&#039;#ui-tab &gt; ul&#039;).tabs({ fx: { height: &#039;toggle&#039; , opacity: &#039;toggle&#039; , duration: 2000 } });
&lt;/script&gt;
</pre>



	<!-- script -->
<script type="text/javascript">
	$(function() {
		$('#ui-tab4_milliseconds > ul').tabs({ fx: { height: 'toggle' , opacity: 'toggle' , duration: 2000 } });
	});
</script>

<div id="ui-tab4_milliseconds" class="tab-all">
	<ul>
		<li><a href="#fragment-4-1_milliseconds" class="liinternal"><span>タブ1</span></a></li>
		<li><a href="#fragment-4-2_milliseconds" class="liinternal"><span>タブ2</span></a></li>
		<li><a href="#fragment-4-3_milliseconds" class="liinternal"><span>タブ3</span></a></li>
	</ul>
	
	<div id="fragment-4-1_milliseconds" class="tab1">
		<p class="slide_effect">タブ1の内容</p>
	</div>
	
	<div id="fragment-4-2_milliseconds" class="tab2">
		<p class="slide_effect">タブ2の内容</p>
	</div>
	
	<div id="fragment-4-3_milliseconds" class="tab3">
		<p class="slide_effect">タブ3の内容</p>
	</div>

</div>



<h3>カスタムアニメーション</h3>

<!-- 5_normal -->

<p class="font_bold">height: &#8217;show&#8217; , opacity: &#8217;show&#8217; , duration: &#8216;normal&#8217;</p>

<pre class="brush: jscript; auto-links: false;">
&lt;script type=&quot;text/javascript&quot;&gt;
	$(function() {
		$(&#039;#ui-tab &gt; ul&#039;).tabs({ fx: { height: &#039;show&#039; , opacity: &#039;show&#039; , duration: &#039;normal&#039; } });
&lt;/script&gt;
</pre>



	<!-- script -->
<script type="text/javascript">
	$(function() {
		$('#ui-tab5_normal > ul').tabs({ fx: { height: 'show' , opacity: 'show' , duration: 'normal' } });
	});
</script>

<div id="ui-tab5_normal" class="tab-all">
	<ul>
		<li><a href="#fragment-5-1_normal" class="liinternal"><span>タブ1</span></a></li>
		<li><a href="#fragment-5-2_normal" class="liinternal"><span>タブ2</span></a></li>
		<li><a href="#fragment-5-3_normal" class="liinternal"><span>タブ3</span></a></li>
	</ul>
	
	<div id="fragment-5-1_normal" class="tab1">
		<p class="slide_effect">タブ1の内容</p>
	</div>
	
	<div id="fragment-5-2_normal" class="tab2">
		<p class="slide_effect">タブ2の内容</p>
	</div>
	
	<div id="fragment-5-3_normal" class="tab3">
		<p class="slide_effect">タブ3の内容</p>
	</div>

</div>



<!-- 5_slow -->

<p class="font_bold mt20">height: &#8217;show&#8217; , opacity: &#8217;show&#8217; , duration: &#8217;slow&#8217;</p>

<pre class="brush: jscript; auto-links: false;">
&lt;script type=&quot;text/javascript&quot;&gt;
	$(function() {
		$(&#039;#ui-tab5_slow &gt; ul&#039;).tabs({ fx: { height: &#039;show&#039; , opacity: &#039;show&#039; , duration: &#039;slow&#039; } });
&lt;/script&gt;
</pre>



	<!-- script -->
<script type="text/javascript">
	$(function() {
		$('#ui-tab5_slow > ul').tabs({ fx: { height: 'show' , opacity: 'show' , duration: 'slow' } });
	});
</script>

<div id="ui-tab5_slow" class="tab-all">
	<ul>
		<li><a href="#fragment-5-1_slow" class="liinternal"><span>タブ1</span></a></li>
		<li><a href="#fragment-5-2_slow" class="liinternal"><span>タブ2</span></a></li>
		<li><a href="#fragment-5-3_slow" class="liinternal"><span>タブ3</span></a></li>
	</ul>
	
	<div id="fragment-5-1_slow" class="tab1">
		<p class="slide_effect">タブ1の内容</p>
	</div>
	
	<div id="fragment-5-2_slow" class="tab2">
		<p class="slide_effect">タブ2の内容</p>
	</div>
	
	<div id="fragment-5-3_slow" class="tab3">
		<p class="slide_effect">タブ3の内容</p>
	</div>

</div>



<!-- 5_fast -->

<p class="font_bold mt20">height: &#8217;show&#8217; , opacity: &#8217;show&#8217; , duration: &#8216;fast&#8217;</p>

<pre class="brush: jscript; auto-links: false;">
&lt;script type=&quot;text/javascript&quot;&gt;
	$(function() {
		$(&#039;#ui-tab &gt; ul&#039;).tabs({ fx: { height: &#039;show&#039; , opacity: &#039;show&#039; , duration: &#039;fast&#039; } });
	});
&lt;/script&gt;
</pre>



	<!-- script -->
<script type="text/javascript">
	$(function() {
		$('#ui-tab5_fast > ul').tabs({ fx: { height: 'show' , opacity: 'show' , duration: 'fast' } });
	});
</script>

<div id="ui-tab5_fast" class="tab-all">
	<ul>
		<li><a href="#fragment-5-1_fast" class="liinternal"><span>タブ1</span></a></li>
		<li><a href="#fragment-5-2_fast" class="liinternal"><span>タブ2</span></a></li>
		<li><a href="#fragment-5-3_fast" class="liinternal"><span>タブ3</span></a></li>
	</ul>
	
	<div id="fragment-5-1_fast" class="tab1">
		<p class="slide_effect">タブ1の内容</p>
	</div>
	
	<div id="fragment-5-2_fast" class="tab2">
		<p class="slide_effect">タブ2の内容</p>
	</div>
	
	<div id="fragment-5-3_fast" class="tab3">
		<p class="slide_effect">タブ3の内容</p>
	</div>

</div>



<!-- 5_milliseconds -->

<p class="font_bold mt20">height: &#8217;show&#8217; , opacity: &#8217;show&#8217; , duration: milliseconds(1/1000秒)</p>

<pre class="brush: jscript; auto-links: false;">
&lt;script type=&quot;text/javascript&quot;&gt;
	$(function() {
		$(&#039;#ui-tab &gt; ul&#039;).tabs({ fx: { height: &#039;show&#039; , opacity: &#039;show&#039; , duration: 2000 } });
	});
&lt;/script&gt;
</pre>



	<!-- script -->
<script type="text/javascript">
	$(function() {
		$('#ui-tab5_milliseconds > ul').tabs({ fx: { height: 'show' , opacity: 'show' , duration: 2000 } });
	});
</script>

<div id="ui-tab5_milliseconds" class="tab-all">
	<ul>
		<li><a href="#fragment-5-1_milliseconds" class="liinternal"><span>タブ1</span></a></li>
		<li><a href="#fragment-5-2_milliseconds" class="liinternal"><span>タブ2</span></a></li>
		<li><a href="#fragment-5-3_milliseconds" class="liinternal"><span>タブ3</span></a></li>
	</ul>
	
	<div id="fragment-5-1_milliseconds" class="tab1">
		<p class="slide_effect">タブ1の内容</p>
	</div>
	
	<div id="fragment-5-2_milliseconds" class="tab2">
		<p class="slide_effect">タブ2の内容</p>
	</div>
	
	<div id="fragment-5-3_milliseconds" class="tab3">
		<p class="slide_effect">タブ3の内容</p>
	</div>

</div>



<h3>マウスオーバーで切り替え</h3>

<!-- 6_normal -->

<p class="font_bold">event: &#8216;mouseover&#8217;</p>

<pre class="brush: jscript; auto-links: false;">
&lt;script type=&quot;text/javascript&quot;&gt;
		$(&#039;#ui-tab &gt; ul&#039;).tabs({ event: &#039;mouseover&#039; , fx: { height: &#039;toggle&#039; , opacity: &#039;toggle&#039; , duration: 100 } });
&lt;/script&gt;
</pre>



	<!-- script -->
<script type="text/javascript">
	$(function() {
		$('#ui-tab6_normal > ul').tabs({ event: 'mouseover' , fx: { height: 'toggle' , opacity: 'toggle' , duration: 100 } });
	});
</script>

<div id="ui-tab6_normal" class="tab-all">
	<ul>
		<li><a href="#fragment-6-1_normal" class="liinternal"><span>タブ1</span></a></li>
		<li><a href="#fragment-6-2_normal" class="liinternal"><span>タブ2</span></a></li>
		<li><a href="#fragment-6-3_normal" class="liinternal"><span>タブ3</span></a></li>
	</ul>
	
	<div id="fragment-6-1_normal" class="tab1">
		<p>タブ1の内容</p>
	</div>
	
	<div id="fragment-6-2_normal" class="tab2">
		<p>タブ2の内容</p>
	</div>
	
	<div id="fragment-6-3_normal" class="tab3">
		<p>タブ3の内容</p>
	</div>

</div>



<h3>自動切り替え</h3>

<!-- 7_normal -->

<p class="font_bold">.tabs(&#8217;rotate&#8217;, 3000)</p>

<pre class="brush: jscript; auto-links: false;">
&lt;script type=&quot;text/javascript&quot;&gt;
		$(&#039;#ui-tab7_normal &gt; ul&#039;).tabs({ fx: { opacity: &#039;toggle&#039;, duration: &#039;normal&#039;  } }).tabs(&#039;rotate&#039;, 3000);
&lt;/script&gt;
</pre>



	<!-- script -->
<script type="text/javascript">
	$(function() {
		$('#ui-tab7_normal > ul').tabs({ fx: { opacity: 'toggle', duration: 'normal'  } }).tabs('rotate', 3000);
	});
</script>

<div id="ui-tab7_normal" class="tab-all">
	<ul>
		<li><a href="#fragment-7-1_normal" class="liinternal"><span>タブ1</span></a></li>
		<li><a href="#fragment-7-2_normal" class="liinternal"><span>タブ2</span></a></li>
		<li><a href="#fragment-7-3_normal" class="liinternal"><span>タブ3</span></a></li>
	</ul>
	
	<div id="fragment-7-1_normal" class="tab1">
		<p>タブ1の内容</p>
	</div>
	
	<div id="fragment-7-2_normal" class="tab2">
		<p>タブ2の内容</p>
	</div>
	
	<div id="fragment-7-3_normal" class="tab3">
		<p>タブ3の内容</p>
	</div>

</div>



<h3>参考リンク</h3>
<p>本家のサイトを見ると他にも色々なイベントがある。<br />
cookie取得したりできるみたい。<br />
<a href="http://jqueryui.com/demos/tabs/" class="liexternal">・jQuery UI &#8211; Demos &#038; Documentation</a><br />
<a href="http://www.pharos-ei.com/mike/jquery/examples/ui.tabs.html" class="liexternal">・jQuery UI Tabs / Tabs 3</a>
</p>




<!-- /div#entry-###### --></div>

<!-- ========================================================
	end contents
==========================================================-->
]]></content:encoded>
			<wfw:commentRss>http://5am.jp/jquery/jquery_ui_tabs/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>アウトプット生活スタート！</title>
		<link>http://5am.jp/diary/blog_start/</link>
		<comments>http://5am.jp/diary/blog_start/#comments</comments>
		<pubDate>Tue, 05 May 2009 03:53:02 +0000</pubDate>
		<dc:creator>rin316</dc:creator>
				<category><![CDATA[日記]]></category>

		<guid isPermaLink="false">http://5am.jp/?p=8</guid>
		<description><![CDATA[
始めましてRINです
いろいろ思うところがあって勉強ブログ始めました！
これからは日々の勉強をアウトプットしていきたいと思います。

写真は新川通を車で走っていたら出会った風景。
余りの綺麗さに車を止めて近づくと、視界全体を覆う白く薄いピンクの風景！
この桜の様に、清くフレッシュな気持ちと謙虚さ大切に
勉強をしていきたいと思います。]]></description>
			<content:encoded><![CDATA[<img src="http://5am.jp/wp-content/uploads/2009/05/img_6768.jpg" alt="img_6768" title="img_6768" width="520" height="347" class="alignnone size-full wp-image-22" />
<p>始めましてRINです
いろいろ思うところがあって勉強ブログ始めました！<br />
これからは日々の勉強をアウトプットしていきたいと思います。</p>

<p>写真は新川通を車で走っていたら出会った風景。<br />
余りの綺麗さに車を止めて近づくと、視界全体を覆う白く薄いピンクの風景！</p>
<p>この桜の様に、清くフレッシュな気持ちと謙虚さ大切に<br />
勉強をしていきたいと思います。</p>]]></content:encoded>
			<wfw:commentRss>http://5am.jp/diary/blog_start/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
