<?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/"
		xmlns:xhtml="http://www.w3.org/1999/xhtml"
>

<channel>
	<title>LayOut blue</title>
	<atom:link href="http://layout-blue.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://layout-blue.com</link>
	<description></description>
	<lastBuildDate>Mon, 15 Aug 2011 05:17:27 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://layout-blue.com/feed/" />
		<item>
		<title>css3でボタンを作ってみよう</title>
		<link>http://layout-blue.com/2011/06/27/css3button02/</link>
		<comments>http://layout-blue.com/2011/06/27/css3button02/#comments</comments>
		<pubDate>Mon, 27 Jun 2011 11:36:16 +0000</pubDate>
		<dc:creator>hide</dc:creator>
				<category><![CDATA[Webテクニック]]></category>

		<guid isPermaLink="false">http://layout-blue.com/?p=1136</guid>
		<description><![CDATA[前回CSS3でボタンを作ってみました。今回はそれをアニメーションによる効果をつけてみようと思います。CSS3にはアニメーション効果のプロパティに『transition』と『animation』があります。


『tran &#8230; <a href="http://layout-blue.com/2011/06/27/css3button02/">続きを読む <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://layout-blue.com/wp-content/uploads/2010/04/css3.gif" rel="lightbox"><img src="http://layout-blue.com/wp-content/uploads/2010/04/css3-150x150.gif" alt="" title="css3" width="150" height="150" class="alignleft size-thumbnail wp-image-242" /></a>前回CSS3でボタンを作ってみました。今回はそれをアニメーションによる効果をつけてみようと思います。CSS3にはアニメーション効果のプロパティに『transition』と『animation』があります。<br class="clear" /><br />
<span id="more-1136"></span></p>
<div class="section">
<h3>『transition』と『animation』</h3>
<p>以前<a href="http://layout-blue.com/2010/04/07/css3_02/">CSS3プロパティ</a>でも書きましたが、CSS3のアニメーションプロパティには『transitional』と『animation』があります。<br />
『animation』はキーフレームを使って指定ができますので、回転、移動、ループ、要素の変化のアニメーションができるのが特徴です。<br />
が、現在2011年4月末日の段階でIE(IE9は未確認)とFireFox、Operaにはこの『animation』は未対応らしいです(未確認)。<br />
確か記憶ではFireFoxは3.6のときに将来的にはサポートすると言うようなことを聞いたのですが。。。<br />
webkit対応のSafari、Chromeは対応していますからスマートフォンには対応できます。（XPERIA、iPhone4で確認）</p>
<p>なので今回は『transitional』を使ってアニメーションさせていきます。<br />
『transitional』はFireFox、Opera、Safari、Chromeではサポートしているのでブラウズさせるのには問題がないと思います。<br />
とりあえず『IE』はおいておきます。とりあえずです。<br />
しかし、『gradient』を使うとFireFoxとOperaはグラデーションのアニメーションをしてくれません。
</p></div>
<div class="section">
<h3>CSSの指定</h3>
<p>まず最初にCSS3でグラデーションを使ったボタンを作ります。<a href="http://layout-blue.com/2011/04/20/css3button/">前回作ったボタン</a>の簡易版です。</p>
<div class="mal10box">
<pre class="brush: css;">
a.css3btn {
margin-bottom: 12px;
margin-top: 12px;
padding: 7px;
width:150px;
display: block;
color: #FFF;
font-weight:bold;
text-decoration: none;
text-align: center;
border:1px solid #00ADEF;
background:#00ADEF;
background-image: -webkit-gradient(linear, left top, left bottom,from(#00ADEF), color-stop(0, rgba(255, 255, 255, 0.7)), color-stop(0.5, rgba(255, 255, 255, 0.3)), color-stop(0.5, rgba(255, 255, 255, 0)),to(#00ADEF));
background-image: -moz-linear-gradient(top,rgb(255, 255, 255) 0%,rgb(163, 225, 249) 3%,rgb(83, 199, 244) 45%,rgb(0, 171, 239) 50%);
background-image: -o-linear-gradient(top,rgb(255, 255, 255) 0%,rgb(163, 225, 249) 3%,rgb(83, 199, 244) 45%,rgb(0, 171, 239) 50%);
background-image: linear-gradient(top,rgb(255, 255, 255) 0%,rgb(163, 225, 249) 3%,rgb(83, 199, 244) 45%,rgb(0, 171, 239) 50%);
-webkit-box-shadow: 0px 1px 0px rgba(255, 255, 255, 0.9) inset, 0 1px 0 rgba(0, 0, 0, 0.2), 1px 1px 2px rgba(0, 0, 0, 0.3);
-moz-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.9) inset, 0 1px 0 rgba(0, 0, 0, 0.2), 1px 1px 2px rgba(0, 0, 0, 0.3);
box-shadow: 0 1px 0 rgba(255, 255, 255, 0.3) inset, 0 1px 0 rgba(0, 0, 0, 0.2), 1px 1px 2px rgba(0, 0, 0, 0.3);
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
text-shadow: 5px 5px 3px rgba(5, 100, 136, 0.8);
}
</pre>
</div>
<p>前回でOperaの指定方法を書き忘れていたので、ここで改めてご紹介します。（すみません）</p>
<div class="mal10box">
<pre class="brush: css;">
background-image: -o-linear-gradient(top,任意);/*グラデーションの指定*/
</pre>
</div>
<p>Operaの指定方法はmozと同じで、拡張子を『moz』から『o』に変更するだけです。</p>
<p>次にマウスオーバー時の指定です。</p>
<div class="mal10box">
<pre class="brush:css;">
a:hover.css3btn{
background-color:#039ed9;
background-image: -webkit-gradient(linear, left top, left bottom,from(#00ADEF), color-stop(0, rgba(255, 255, 255, 0.7)), color-stop(0.5, rgba(255, 255, 255, 0.3)), color-stop(0.5, rgba(255, 255, 255, 0)),to(#00ADEF));
background-image: -moz-linear-gradient(top,rgb(255, 255, 255) 0%,rgb(163, 225, 249) 3%,rgb(83, 199, 244) 45%,rgb(3, 158, 217) 50%);
background-image: -o-linear-gradient(top,rgb(255, 255, 255) 0%,rgb(163, 225, 249) 3%,rgb(83, 199, 244) 45%,rgb(3, 158, 217) 50%);
background-image: linear-gradient(top,rgb(255, 255, 255) 0%,rgb(163, 225, 249) 3%,rgb(83, 199, 244) 45%,rgb(3, 158, 217) 50%);
}
</pre>
</div>
<p>ここまでは前回のおさらいに近いです。</p>
<h4>transitionalの指定</h4>
<p>それではつぎにアニメーションの指定をします。<br />
指定は元の要素に追加指定します。今回は『a.css3btn』です。</p>
<div class="mal10box">
<pre class="brush:css;">
transition: 変化させる時間s イージング;
-webkit-transition: 変化させる時間s イージング;
-moz-transition:変化させる時間s イージング;
-o-transition:変化させる時間s イージング;
</pre>
</div>
<p>以上です。<br />
簡単ですよねw</p>
<p>そうなんです。たったこれだけなんです。<br />
これで通常時とマウスオーバー時をアニメーションしてくれます。<br />
といいましても、CSS3がまだまだ完全にサポートされていないので、ブラウザによってはアニメーションできないプロパティもあります。<br />
今回は『gradient』がそれにあたります。<br />
ということは、『gradient』を指定しなければ色の変化もきちんとアニメーションします。<br />
『gradient』がアニメーションするのは現在確認できたのが、『webkit』をサポートしているSafari、Chromeです。こちらで『gradient』もアニメーションしてくれました。<br />
指定の仕方の例です</p>
<div class="mal10box">
<pre class="brush:css;">
transition: 1.5s ease-in-out;
-webkit-transition: 1.5s ease-in-out;
-moz-transition:1.5s ease-in-out;
-o-transition:1.5s ease-in-out;
</pre>
</div>
<p>数字は『秒数』です。今回のしていだと『1.5秒』で変化させています。<br />
イージングの指定は以下のようになります。</p>
<div class="border_coll">
<table width="98%"  border="0">
<tr>
<td align="center">ease</td>
<td>開始と終了を滑らかに（初期値）</td>
</tr>
<tr class="bg_ef">
<td align="center">linear</td>
<td>一定</td>
</tr>
<tr>
<td align="center">ease-in</td>
<td >ゆっくり開始</td>
</tr>
<tr class="bg_ef">
<td align="center">ease-out</td>
<td >ゆっくり終了</td>
</tr>
<tr>
<td align="center">ease-in-out</td>
<td>ゆっくり開始、ゆっくり終了</td>
</tr>
</table>
</div>
<p>『gradient』がないときの指定は以下のとおりです。</p>
<div class="mal10box">
<pre class="brush:css;">
a.css3btn2 {
margin-bottom: 12px;
margin-top: 12px;
padding: 7px;
width:150px;
display: block;
color: #FFF;
font-weight:bold;
text-decoration: none;
text-align: center;
border:1px solid #00ADEF;
background:#00ADEF;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
text-shadow: 5px 5px 3px rgba(5, 100, 136, 0.8);
transition: 1.5s ease-in-out;
-webkit-transition: 1.5s ease-in-out;
-moz-transition:1.5s ease-in-out;
-o-transition:1.5s ease-in-out;
}

a:hover.css3btn2{
background:red;
}
</pre>
</div>
<p>この指定ですと色の変化にアニメーションをつける事ができます。<br />
色の変化だけだといまいちわかりにくい（赤くしたのは分かりやすくする為です）のでボタンの大きさも変えるといっそう分かりやすくなります。
</p></div>
<div class="section">
<p class="demo"><a href="http://layout-blue.com/wp-content/demo/22/22.html">デモ</a></p>
<p>動作環境は、Firefox4、Safari5とGoogleChrome11、Opera11です。スマートフォンはiPhone4、Android2.1で確認しています。</p>
<p>ダウンロードはユーザー様の責任で行ってください。<br /> なにか問題が発生した場合でも、当サイトでは責任を負いかねますので、予めご了承ください。</p>
<p>上記をご承知の方のみ、以下よりダウンロードしてください。</p>
<p class="dl_module"><a href="http://layout-blue.com/wp-content/download/22.zip">ダウンロードはこちら</a></p>
<p>なにか間違いがありましたらご連絡頂けますと幸いです。</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://layout-blue.com/2011/06/27/css3button02/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://layout-blue.com/2011/06/27/css3button02/" />
	</item>
		<item>
		<title>css3でボタンを作ってみよう</title>
		<link>http://layout-blue.com/2011/04/20/css3button/</link>
		<comments>http://layout-blue.com/2011/04/20/css3button/#comments</comments>
		<pubDate>Wed, 20 Apr 2011 02:41:32 +0000</pubDate>
		<dc:creator>hide</dc:creator>
				<category><![CDATA[Webテクニック]]></category>
		<category><![CDATA[CSS3]]></category>

		<guid isPermaLink="false">http://layout-blue.com/?p=1081</guid>
		<description><![CDATA[CSS3プロパティgradientとbox-shadowを使ってちょっとかっこいいボタンを作ります。
すでに多くの人がCSS3を使用していますが、参考になればと思います。おまけで、text-shadowも使います。
we &#8230; <a href="http://layout-blue.com/2011/04/20/css3button/">続きを読む <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://layout-blue.com/wp-content/uploads/2010/04/css3.gif" rel="lightbox"><img src="http://layout-blue.com/wp-content/uploads/2010/04/css3-150x150.gif" title="css3" width="150" height="150" class="alignleft size-thumbnail wp-image-242" /></a>CSS3プロパティgradientとbox-shadowを使ってちょっとかっこいいボタンを作ります。<br />
すでに多くの人がCSS3を使用していますが、参考になればと思います。おまけで、text-shadowも使います。<br class="clear" /><span id="more-1081"></span></p>
<h3>webkitとmozの違い</h3>
<div class="section">
<p>CSS3のgradientの指定はwebkitとmozでは違います。<br />
また、グラデーションは線形グラデーションと円形グラデーションを指定できます。<br />
今回は線形グラデーションの指定『linear-gradient』をご紹介します。<br />
ちなみに円形グラデーションは『radial-gradient()』で指定します。円形グラデーションはまたの機会にご紹介します。</p>
<h4>CSS</h4>
<p>まずボタン本体の設定をします。</p>
<div class="mal10box">
<pre class="brush: css;">
position: relative;
margin-bottom: 任意;
margin-top: 任意;
padding: 任意;
width: 任意;
display: block;
color: 任意;
font-weight:任意;/*指定しなくても構いません*/
text-decoration: 任意;/*指定しなくても構いません*/
text-align: 任意;/*指定しなくても構いません*/
text-shadow: 任意;/*サンプルです*/
z-index: 1;/*後述のベースより上に来るように指定*/
</pre>
</div>
<p>これはいわゆるa要素の指定です。<br />
positionをrelativeで指定しているのは、後述しますボタンのベースを内包するためです。</p>
<p>ここでちょっとアクセントをつけるためにtext-shadowを使います。<br />
text-shadowは以下のように指定します。<br />
<strong>text-shadow</strong></p>
<div class="mal10box">
<pre class="brush: css;">
text-shadow：横方向のずれ 下方向のずれ ぼかし 影の色・透明度;
</pre>
</div>
<p>rgbaは読んで字のごとくrgbとアルファ値を指定します。rgbの説明は割愛します。<br />
アルファ値の指定は1.0〜0で指定します。0に近いほど透明度が高くなります。
</p></div>
<div class="section">
<p>次にベースとなる背景色を指定します。<br />
それからグラデーションの指定をします。<br />
gradientを指定するときは『background』『background-image』に指定します。</p>
<div class="mal10box">
<pre class="brush: css;">
任意:after{
content: "";
position: absolute;
left: -3px;/*サンプルです*/
top: -3px;/*サンプルです*/
width: 100%;
height: 100%;
padding: 2px;
border:任意;
-webkit-border-radius: 任意;/*角丸の指定*/
-moz-border-radius: 任意;/*角丸の指定*/
background-color:任意;/*この色がボタンの基本色になります*/
background-image: -webkit-gradient(linear,任意);/*グラデーションの指定*/
background-image: -moz-linear-gradient(top,任意);/*グラデーションの指定*/
background-image: linear-gradient(top,任意);/*グラデーションの指定*/
-webkit-box-shadow: 任意;
-moz-box-shadow: 任意;
box-shadow: 任意;
z-index: -1;/*本体より下に来るように指定*/
}
</pre>
</div>
<p>a要素に任意のclassをつけ、after疑似要素でプロパティを指定します。<br />
グラデーションの指定方法は以下のとおりです。<br />
<strong>webkit</strong></p>
<div class="mal10box">
<pre class="brush: css;">
gradient(グラデーションの指定, 角度, 開始色, （途中色）, 終了色)
</pre>
</div>
<p><strong>moz</strong></p>
<div class="mal10box">
<pre class="brush: css;">
グラデーションの指定-gradient(角度, 開始色, （途中色）, 終了色)
</pre>
</div>
<p>前述したようにwebkitとmozとの指定方法が違うのがわかると思います。<br />
これを手動でやると結構面倒ですw<br />
また、途中色を指定するときは以下のとおり。<br />
<strong>webkit</strong></p>
<div class="mal10box">
<pre class="brush: css;">
color-stop(位置, rgba(色指定, 透明度)),
</pre>
</div>
<p><strong>moz</strong></p>
<div class="mal10box">
<pre class="brush: css;">
位置, rgba(色指定, 透明度)
</pre>
</div>
<p>次ぎにボタンに影をつけます。<br />
box-shadowの指定は以下のとおり。<br />
<strong>box-shadow</strong></p>
<div class="mal10box">
<pre class="brush: css;">
box-shadow：横方向のずれ 下方向のずれ ぼかし 影の色・透明度;
</pre>
</div>
<p>insetを使うと内側に影をつけられます。</p>
<div class="mal10box">
<pre class="brush: css;">
box-shadow：inset 横方向のずれ 下方向のずれ ぼかし 影の色・透明度;
</pre>
</div>
</div>
<p class="demo"><a href="http://layout-blue.com/wp-content/demo/21/21.html">デモ</a></p>
<div class="section">
<p>これはベースの『background-color』を変える事で簡単にボタンの色を変更することができます。が、FireFoxは『gradient』の値を変えないといけません。しかし、スマートフォンサイトでしたら変更できるので、スマートフォンサイトで有効かもしれませんね。<br />
今回はできればSafariかChromeで確認して頂くとわかりやすいと思います。</p>
</div>
<p>動作環境は、Firefox4、Safari5とGoogleChrome10です。スマートフォンはiPhone4、Android2.1で確認しています。</p>
<p>ダウンロードはユーザー様の責任で行ってください。<br />
なにか問題が発生した場合でも、当サイトでは責任を負いかねますので、<br />
予めご了承ください。</p>
<p>上記をご承知の方のみ、以下よりダウンロードしてください。</p>
<p class="dl_module"><a href="http://layout-blue.com/wp-content/download/21.zip">ダウンロードはこちら</a></p>
]]></content:encoded>
			<wfw:commentRss>http://layout-blue.com/2011/04/20/css3button/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://layout-blue.com/2011/04/20/css3button/" />
	</item>
		<item>
		<title>webアプリケーション</title>
		<link>http://layout-blue.com/2011/04/04/webapprication/</link>
		<comments>http://layout-blue.com/2011/04/04/webapprication/#comments</comments>
		<pubDate>Mon, 04 Apr 2011 01:42:19 +0000</pubDate>
		<dc:creator>hide</dc:creator>
				<category><![CDATA[Webテクニック]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://layout-blue.com/?p=1025</guid>
		<description><![CDATA[
jQueryを利用してwebアプリケーションのようなものを作っていきます。
シームレスにコンテンツを切り替えて同一ページにて複数のコンテンツを展開させます。
jQueryを使用していますが、スマートフォンにも使えると思 &#8230; <a href="http://layout-blue.com/2011/04/04/webapprication/">続きを読む <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://layout-blue.com/wp-content/uploads/2010/04/ajax.gif" rel="lightbox"><img src="http://layout-blue.com/wp-content/uploads/2010/05/jquery-150x150.gif" alt="ajax" title="ajax" width="150" height="150" class="alignleft size-thumbnail wp-image-685" /></a></p>
<p>jQueryを利用してwebアプリケーションのようなものを作っていきます。<br />
シームレスにコンテンツを切り替えて同一ページにて複数のコンテンツを展開させます。<br />
jQueryを使用していますが、スマートフォンにも使えると思います。</p>
<p><br class="clear" /><br />
<span id="more-1025"></span></p>
<div class="section">
<h3>jQeryの設定</h3>
<p>まずはじめに<a href="http://jquery.com/" class="exlink">jQueryをダウンロード</a>します。基本的にjQueryを使用する際には『圧縮版』を使用します。これは、変数名を短くし、コメントや空白、改行とを削除したもので、『Minfied』と呼ばれる方法を採用しています。これはファイルサイズを軽くすることで、読み込みを早くするためだからです。したがって、jQueryをダウンロードする際は、圧縮版を利用します。</p>
<div class="mal10box">
<pre class="brush: html;">
<script type="text/javascript" src="jquery-1.3.2.min.js"></script>
</pre>
</div>
<p>現在のjQueryのバージョンは『1.5.2』です。
</p></div>
<div class="section">
<h3>コードの記述</h3>
<p>次にコードを記述していきます。<br />
まずプラグインとなるjavascriptを記述します。</p>
<div class="mal10box">
<pre class="brush: javascript;">
var id2 = "";

$(function(){
	$("#index1").hide();
	$("#index2").hide();
	$("#index3").hide();
	$("#index4").hide();
	$("#index5").hide();
	$("#index6").hide();
	$("#index7").hide();
	$("#index8").hide();
	id2 = "index0";
	tab = getUrlVars()["tab"];
	if (tab){
		chenge(tab);
	}

})

function chenge(id){
	$("#" + id).fadeIn("slow");
	$("#index0").hide();
	id2 = id;
}

function closetab(id){
	$("#" + id).hide();
	$("#index0").fadeIn("slow");
	id2 = "index0";
}

function getUrlVars()
{
	var vars = [], hash;
	var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&amp;');
	for(var i = 0; i &lt;hashes.length; i++)
    {
		hash = hashes[i].split('=');
		vars[hash[0]] = hash[1];
	}
	return vars;
}
</pre>
</div>
<p>各コンテンツのリンクをリストにて実装します。<br />
併せてjQueryのプラグインの読み込みも設定します。</p>
<div class="mal10box">
<pre class="brush: html;">
<ul>
<li><a href="#">contents_top</a></li>
<li><a href="#" onClick="chenge('index1');return false;">contents01</a></li>
<li><a href="#" onClick="chenge('index2');return false;">contents02</a></li>
<li><a href="#" onClick="chenge('index3');return false;">contents03</a></li>
<li><a href="#" onClick="chenge('index4');return false;">contents04</a></li>
<li><a href="#" onClick="chenge('index5');return false;">contents05</a></li>
<li><a href="#" onClick="chenge('index6');return false;">contents06</a></li>
<li><a href="#" onClick="chenge('index7');return false;">contents07</a></li>
<li><a href="#" onClick="chenge('index8');return false;">contents08</a></li>
</ul>
</pre>
</div>
<p>このとき複数のリンク設定をするときは、以下のscriptを追加してください。<br />
3つになる場合はchange3、と追記してください。</p>
<div class="mal10box">
<pre class="brush: javascript;">
function chenge2(id){
	$("#" + id).fadeIn("slow");
	$("#" + id2).hide();
	id2 = id;
}
</pre>
</div>
<p>次にコンテンツを作っていきます。<br />
はじめに、最初に表示されるコンテンツを作成します。<br />
これは『index0』とします。</p>
<div class="mal10box">
<pre class="brush: html;">
<li id="index0">
<ul>
<li><a href="#">contents_top</a></li>
<li><a href="#" onClick="chenge('index1');return false;">contents01</a></li>
<li><a href="#" onClick="chenge('index2');return false;">contents02</a></li>
<li><a href="#" onClick="chenge('index3');return false;">contents03</a></li>
<li><a href="#" onClick="chenge('index4');return false;">contents04</a></li>
<li><a href="#" onClick="chenge('index5');return false;">contents05</a></li>
<li><a href="#" onClick="chenge('index6');return false;">contents06</a></li>
<li><a href="#" onClick="chenge('index7');return false;">contents07</a></li>
<li><a href="#" onClick="chenge('index8');return false;">contents08</a></li>
</ul>
</li>
</pre>
</div>
<p>次に非表示のコンテンツを作成します。<br />
コンテンツjavascriptを設定したときにしていした、&quot;index1&quot;、&quot;index2&quot;と表示させるコンテンツにidを指定していきます。</p>
<div class="mal10box">
<pre class="brush: html;">
<li id="index1">
<a href="#" onClick="closetab('index1');return false;" class="close">close_bt</a>
<h3>Index1</h3>
<div>
<h4>sampleTitle</h4>

&lt;p&gt;sampleText samoleText&lt;/p&gt;
</div>
</li>
<li id="index2">
<a href="#" onClick="closetab('index1');return false;" class="close">close_bt</a>
<h3>Index2</h3>
<div>
<h4>sampleTitle</h4>

&lt;p&gt;sampleText samoleText&lt;/p&gt;
</div>
</li>
</pre>
</div>
<p>また、『close_bt』は、表示されているコンテンツを非表示にし、初期状態に戻す指定です。<br />
以上で準備は完了です。
</p></div>
<div class="section">
<p class="demo mab20"><a href="http://layout-blue.com/wp-content/demo/20/20.html">デモ</a></p>
<p>動作環境は、IE７、IE８、FireFox4、Safari5、GoogleChrom10、Opera10.51で動作を確認しています。IE6でも動くと思いますが、確認はしていません。</p>
<p>ダウンロードはユーザー様の責任で行ってください。<br />
なにか問題が発生した場合でも、当サイトでは責任を負いかねますので、予めご了承ください。</p>
<p>上記をご承知の方のみ、以下よりダウンロードしてください。</p>
<p class="dl_module"><a href="http://layout-blue.com/wp-content/download/20.zip">ダウンロードはこちら</a></p>
<p>もう少しjavascriptの部分をうまく書く方法があると思いますが。。。<br />
なにか間違いがございましたら、ご指摘頂ければ幸いです。<br />
宜しくお願い致します。</p>
<p>ほぼ１年ぶりの更新になってしまいまいました。<br />
せめて２週間に１度更新できるようにがんばってみます。
</p></div>
]]></content:encoded>
			<wfw:commentRss>http://layout-blue.com/2011/04/04/webapprication/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://layout-blue.com/2011/04/04/webapprication/" />
	</item>
		<item>
		<title>東日本大震災 安否確認プロジェクト 「anpiレポート」</title>
		<link>http://layout-blue.com/2011/03/19/higashinihon_anpi/</link>
		<comments>http://layout-blue.com/2011/03/19/higashinihon_anpi/#comments</comments>
		<pubDate>Sat, 19 Mar 2011 04:28:19 +0000</pubDate>
		<dc:creator>hide</dc:creator>
				<category><![CDATA[東日本大震災]]></category>
		<category><![CDATA[東北地方太平洋沖地震]]></category>

		<guid isPermaLink="false">http://layout-blue.com/?p=1009</guid>
		<description><![CDATA[
twitterのハッシュタグ「#anpi」でのtweet情報を整理、登録し、被災者の安否情報を公開しています。
anpiレポート
現在は各被災地から発表されている『被災者リスト』からも情報を登録公開し始めています。
東 &#8230; <a href="http://layout-blue.com/2011/03/19/higashinihon_anpi/">続きを読む <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://anpi.tv/"><img src="http://layout-blue.com/wp-content/uploads/2011/03/anpi_logo.png" alt="anpiレポート" title="anpi_logo" width="298" height="76" class="aligncenter size-full wp-image-1011" /></a><br />
<a href="http://twitter.com/#!/search/%23anpi">twitter</a>のハッシュタグ「<a href="http://twitter.com/#!/search/%23anpi">#anpi</a>」でのtweet情報を整理、登録し、被災者の安否情報を公開しています。</p>
<p><a href="http://anpi.tv/"><strong>anpiレポート</strong></a></p>
<p>現在は各被災地から発表されている『被災者リスト』からも情報を登録公開し始めています。<br />
東日本大震災において被災された方の安否情報を多く収集公開すべく、twitter、Facebookから有志が募り情報公開をおこなっております。<br />
<span id="more-1009"></span></p>
<div class="section">
<h3>anpiレポートとは</h3>
<p>東日本大震災、 <a href="http://twitter.com/#!/search/%23anpi">twitter</a>のハッシュタグ「<a href="http://twitter.com/#!/search/%23anpi">#anpi</a>」でのtweetの安否情報をまとめて利用しやすくすることを目的としています。</p>
<h3>使用方法</h3>
<h4>安否情報を確認したい方</h4>
<p>サイト上部にある『検索ボックス』に安否の確認したい『お名前』または『被災地名』を入力し検索してください。</p>
<h4>安否情報の登録</h4>
<p>登録方法はこちらよりご確認ください。<br />
<a href="http://f.daccot.com/2011/03/15/6992/">東北地方太平洋沖地震による被災者の方の安否確認情報-anpiレポート登録手順</a><a href="http://f.daccot.com/">管理者：DAC</a>
</div>
<div class="section">
<h3>プレスリリース</h3>
<p><a href="http://ayanaism.com/anpi.txt">抜粋</a></p>
<blockquote><p>報道関係者各位<br />
プレスリリース<br />
2010年3月18日<br />
anpiレポートプロジェクト</p>
<p>ソーシャルネットでつなぐ 東日本大震災 安否確認プロジェクト<br />
「anpiレポート」が情報公開中<br />
～ハッシュタグ「#anpi」でつぶやかれた情報をフォーマット化＆シェア～</p>
<p>　今回発生した東北地方太平洋沖地震において、被災地へ救助に行く方や、安否情報を持っている方へ「誰が行方不明なのか？」を伝えることを目的に、株式会社ワディットの代表取締役である和田 裕介( @yusukebe )の呼びかけのもと、Facebook内で有志が集まり、東北地方太平洋沖地震における安否確認プロジェクト「anpiレポート」がスタート致しました。</p>
<p>◇東北地方太平洋沖地震 安否確認プロジェクト「anpiレポート」</p>
<p>http://anpi.tv/</p>
<p>■「anpiレポート」について<br />
　「anpiレポート」は、目視にてTwitter上で確認した安否確認をサイト上にて入力し、情報を共有するサービスです。Twitterのハッシュタグ「#anpi」でつぶやかれている情報を整理することを目的として、2011年3月14日夜に @yusukebe がサイトを構築、twitterや Facebook上で有志が情報交換を行いサイトに機能を追加しながら運営を行っています。また、「anpiレポート」のサイト上では、行方不明者や発見された人がどこにいるかを地図上にマッピングするサービスも、そのAPIを利用して提供しています。<br />
現在では、Twitterのハッシュタグ「#anpi」の情報に加え、各自治体が発行している避難者リストなどの情報も追加し17日の段階で4500件以上の安否確認情報が登録されており、随時情報が追加されています。</p>
<p>■ 「anpiレポート」でできること<br />
・ 安否情報の検索<br />
・ 安否情報の入力<br />
・ 新着レポートの閲覧<br />
・ 地名からの確認<br />
・ Google Person Finderとの連動<br />
・ Twitter検索機能との連動<br />
・ CSVファイルのダウンロード<br />
・ APIの提供<br />
・ 携帯用サイトからの閲覧<br />
（携帯サイトからは安否確認がとれた情報についてメールにてURLを送信できるようになりました）<br />
・ スマートフォン用サイトからの閲覧（予定）</p>
<p>■みなさまへお願いしたいこと<br />
・安否の確認が取れている人を見つけた場合、その人のTwitterアカウントに向かってその情報を<br />
　伝えてください。<br />
・レポートの追加作業にご協力いただける有志を募集しています。<br />
・無事情報も「#anpi」でつぶやいてください。情報の収集が早く行えます。<br />
・古い情報が未だに多くRTされています。本サイトの確認情報を元に、RTの拡散をストップして<br />
　ください。</p>
<p>■今後の展開について<br />
　すでに「anpiレポートプロジェクト」を通して安否確認ができたというツイートも流れてきています。より多くの方にこのサイトの存在を知っていただき、より迅速かつ多くの情報の収集と安否確認ができるよう、ご協力頂きたく思います。<br />
<a href="http://twitter.com/#!/onshitsumikan/status/47587822605053952">http://twitter.com/#!/onshitsumikan/status/47587822605053952</a></p>
<p>■関連サイト<br />
anpiレポートプロジェクト<br />
<a href="http://anpi.tv/">http://anpi.tv/</a></p>
<p>anpiレポートプロジェクト 携帯サイト<br />
<a href="http://anpi.tv/k">http://anpi.tv/k</a></p>
<p>anpiレポートプロジェクト tumblr<br />
<a href="http://anpitv.tumblr.com/">http://anpitv.tumblr.com/</a></p>
<p>anpiレポートプロジェクト参加方法【適宜覚書-Fragmentsより】<br />
<a href="http://f.daccot.com/2011/03/15/6992/">http://f.daccot.com/2011/03/15/6992/</a></p>
<p>Facebook内公開グループ“anpiレポートプロジェクト”<br />
<a href="http://www.facebook.com/home.php?sk=group_191295860908744&#038;notif_t=group_activity">http://www.facebook.com/home.php?sk=group_191295860908744&#038;notif_t=group_activity</a></p>
<p>【本件に関するお問い合わせ先】<br />
anpiレポートプロジェクト<br />
担当：和田裕介<br />
<a href="http://twitter.com/#!/yusukebe">Teitter：http://twitter.com/#!/yusukebe</a><br />
Facebook：<a href="http://www.facebook.com/yusuke.wada">http://www.facebook.com/yusuke.wada</a></p></blockquote>
</div>
]]></content:encoded>
			<wfw:commentRss>http://layout-blue.com/2011/03/19/higashinihon_anpi/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://layout-blue.com/2011/03/19/higashinihon_anpi/" />
	</item>
		<item>
		<title>jQueryを覚えよう その2</title>
		<link>http://layout-blue.com/2010/05/20/jquery-04/</link>
		<comments>http://layout-blue.com/2010/05/20/jquery-04/#comments</comments>
		<pubDate>Wed, 19 May 2010 23:11:49 +0000</pubDate>
		<dc:creator>hide</dc:creator>
				<category><![CDATA[Webテクニック]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://layout-blue.com/?p=908</guid>
		<description><![CDATA[
jQueryを使って簡単にHTMLやCSSを変更したり、追加したりすることができます。今回は、HTML、CSSをjQueryで変更する命令についてご紹介します。jQueryを使用したJavascriptは、どのHTML &#8230; <a href="http://layout-blue.com/2010/05/20/jquery-04/">続きを読む <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://layout-blue.com/wp-content/uploads/2010/05/jquery.gif" rel="lightbox"><img src="http://layout-blue.com/wp-content/uploads/2010/05/jquery-150x150.gif" alt="" title="jquery" width="150" height="150" class="alignleft size-thumbnail wp-image-862" /></a></p>
<p>jQueryを使って簡単にHTMLやCSSを変更したり、追加したりすることができます。今回は、HTML、CSSをjQueryで変更する命令についてご紹介します。jQueryを使用したJavascriptは、どのHTML要素を操作するか指定する『セレクター』と、操作する『処理』が基本です。今回も前回使用しました『ready関数』を使ってサンプルを交えてご紹介します。<br />
<br class="clear" /><br />
<span id="more-908"></span></p>
<div class="section">
<h3>テキスト</h3>
<p>HTMLで使用される『テキスト』をjQueryで制御するには『text()』を使用します。</p>
<h4>変更</h4>
<p>『text()』うを使用してテキストを変更するには『text()』の括弧の中に変更後のテキストを記述します。</p>
<p><strong>Javascript</strong></p>
<div class="mal10box">
<pre class="brush:javascript;">
$("p#first").text("テキスト変更後");
</pre>
</div>
<p class="demo mab20"><a href="http://layout-blue.com/wp-content/demo/19/19.html">デモ</a></p>
<h4>取得</h4>
<p>『text()』の括弧内に何も記述しなければ指定したセレクターのテキストを取得できます。</p>
<div class="mal10box">
<pre class="brush:javascript;">
$("p#first").text();
</pre>
</div>
</div>
<div class="section">
<h3>HTML</h3>
<p>HTMLのタグを含むテキストの変更、取得は『html()』を使用します。</p>
<h4>変更</h4>
<p>HTMLのタグを含むテキストの変更は『html()』の括弧の中に変更後のテキストを記述します。</p>
<div class="mal10box">
<pre class="brush:javascript;">
$("p#first").html("<strong>テキスト変更後</strong>");
</pre>
</div>
<p class="demo mab20"><a href="http://layout-blue.com/wp-content/demo/19/19_02.html">デモ</a></p>
<h4>取得</h4>
<p>HTMLのタグを含むテキストの取得は『text()』と同様に括弧内に何も記述しません。</p>
<div class="mal10box">
<pre class="brush:javascript;">
$("p#first").html();
</pre>
</div>
<h4>挿入</h4>
<p>『html()』を使用しますと要素がすべて書き換えられます。内容を残したまま追加したい場合は以下の関数を使用します。</p>
<div class="mal10box">
<pre class="brush:javascript;">
prepned() //指定した要素の先頭に挿入
append() //指定した要素の最後に挿入
before() //指定した要素の前に挿入
after() //指定した要素の後に挿入
</pre>
</div>
<h5>指定した要素の先頭に挿入</h5>
<div class="mal10box">
<pre class="brush:javascript;">
$("p#first").prepend("<strong>テキストの先頭</strong>");
</pre>
</div>
<h5>指定した要素の最後に挿入</h5>
<div class="mal10box">
<pre class="brush:javascript;">
$("p#first").append("最後に挿入");
</pre>
</div>
<h5>指定した要素の前に挿入</h5>
<div class="mal10box">
<pre class="brush:javascript;">
$("p#first").before("&lt;h3&gt;要素の前に挿入&lt;/h3&gt;");
</pre>
</div>
<h5>指定した要素の後に挿入</h5>
<div class="mal10box">
<pre class="brush:javascript;">
$("p#first").after("&lt;p&gt;要素の後に挿入&lt;/p&gt;");
</pre>
</div>
<p class="demo mab20"><a href="http://layout-blue.com/wp-content/demo/19/19_03.html">デモ</a></p>
<h4>HTMLの移動</h4>
<p>HTMLの要素に追加するのではなく、移動させます。</p>
<div class="mal10box">
<pre class="brush:javascript;">
prependTo(); //指定した要素の前に移動
appendTo() //指定した要素の最後に移動
insertBefore() //指定した要素の前に移動
insertAfter() //指定した要素の後に移動
</pre>
</div>
<h5>HTML要素内の先頭に移動</h5>
<div class="mal10box">
<pre class="brush: javascript;">
$("strong").prependTo("p");
</pre>
</div>
<p class="demo mab20"><a href="http://layout-blue.com/wp-content/demo/19/19_04.html">デモ</a></p>
<h5>HTML要素内の最後に移動</h5>
<div class="mal10box">
<pre class="brush: javascript;">
$("strong").appendTo("p");
</pre>
</div>
<p class="demo mab20"><a href="http://layout-blue.com/wp-content/demo/19/19_05.html">デモ</a></p>
<h5>HTML要素の前に移動</h5>
<div class="mal10box">
<pre class="brush: javascript;">
$("h3").insertBefore("p");
</pre>
</div>
<p class="demo mab20"><a href="http://layout-blue.com/wp-content/demo/19/19_06.html">デモ</a></p>
<h5>HTML要素の後に移動</h5>
<div class="mal10box">
<pre class="brush: javascript;">
$("h3").insertAfter("p");
</pre>
</div>
<p class="demo mab20"><a href="http://layout-blue.com/wp-content/demo/19/19_07.html">デモ</a></p>
<h4>要素で囲む</h4>
<p>指定した要素で囲みます。</p>
<div class="mal10box">
<pre class="brush:javascript;">
wrap(); //要素を指定した要素で囲む
rapAll() //全ての要素を指定した要素で囲む
wrapeinner() //指定した要素の子要素を囲む
</pre>
</div>
<h5>要素を指定した要素で囲む</h5>
<div class="mal10box">
<pre class="brush: javascript;">
$("span").wrap("&lt;h3&gt;&lt;/h3&gt;");
</pre>
</div>
<p class="demo mab20"><a href="http://layout-blue.com/wp-content/demo/19/19_08.html">デモ</a></p>
<h5>要素を要素で囲む</h5>
<div class="mal10box">
<pre class="brush: javascript;">
$("span").wrapAll("&lt;h3&gt;&lt;/h3&gt;");
</pre>
</div>
<p class="demo mab20"><a href="http://layout-blue.com/wp-content/demo/19/19_09.html">デモ</a></p>
<h5>指定した要素の子要素を囲む</h5>
<div class="mal10box">
<pre class="brush: javascript;">
$("p").wrapInner("&lt;strong&gt;&lt;/strong&gt;");
</pre>
</div>
<p class="demo mab20"><a href="http://layout-blue.com/wp-content/demo/19/19_10.html">デモ</a></p>
<h4>要素を置き換える</h4>
<p>指定した要素を別の要素に置き換えます。置き換えるには『replaceWith()』を使用します。</p>
<div class="mal10box">
<pre class="brush: javascript;">
$("p").replaceWith("&lt;h2&gt;&lt;/h2&gt;");
</pre>
</div>
<p class="demo mab20"><a href="http://layout-blue.com/wp-content/demo/19/19_11.html">デモ</a></p>
<h4>要素を削除する</h4>
<p>指定した要素を削除します。咲くよするには『remove()』を使用します。</p>
<div class="mal10box">
<pre class="brush: javascript;">
$("p strong").remove();
</pre>
</div>
<p class="demo mab20"><a href="http://layout-blue.com/wp-content/demo/19/19_12.html">デモ</a></p>
<h4>属性の変更と削除</h4>
<p>指定した属性や値を変更、取得、削除することもできます。</p>
<div class="mal10box">
<pre class="brush: javascript;">
attr() //属性の変更、取得
removeAttr() //属性の削除
</pre>
</div>
<h5>属性の変更</h5>
<div class="mal10box">
<pre class="brush: javascript;">
$("a").attr("href","http://www.google.co.jp/");
</pre>
</div>
<p class="demo mab20"><a href="http://layout-blue.com/wp-content/demo/19/19_13.html">デモ</a></p>
<h5>属性の取得</h5>
<div class="mal10box">
<pre class="brush: javascript;">
$("a").text($("a").attr("href"));
</pre>
</div>
<p class="demo mab20"><a href="http://layout-blue.com/wp-content/demo/19/19_14.html">デモ</a></p>
<h5>属性の削除</h5>
<div class="mal10box">
<pre class="brush: javascript;">
$("a").removeAttr("target");
</pre>
</div>
<p class="demo mab20"><a href="http://layout-blue.com/wp-content/demo/19/19_15.html">デモ</a></p>
</div>
<div class="section">
<h3>CSS</h3>
<h4>class属性の追加、削除</h4>
<p>class属性はスペース区切りで複数の値を設定できるので、専用の命令が用意されています。</p>
<div class="mal10box">
<pre class="brush: javascript;">
addClass() //class属性の追加
removeClass() //class属性の削除
</pre>
</div>
<h5>class属性の追加</h5>
<div class="mal10box">
<pre class="brush: javascript;">
$("p").addClass("red");
</pre>
</div>
<p class="demo mab20"><a href="http://layout-blue.com/wp-content/demo/19/19_16.html">デモ</a></p>
<h5>class属性の削除</h5>
<div class="mal10box">
<pre class="brush: javascript;">
$("p").removeClass("red");
</pre>
</div>
<p class="demo mab20"><a href="http://layout-blue.com/wp-content/demo/19/19_17.html">デモ</a></p>
<h4>CSSの制御</h4>
<p>jQueryはCSSのプロパティの値を設定したり、取得したりできます。CSSを制御するには『css()』を使用します。</p>
<h5>CSSの設定</h5>
<div class="mal10box">
<pre class="brush: javascript;">
$("p").css("color","red");
</pre>
</div>
<p class="demo mab20"><a href="http://layout-blue.com/wp-content/demo/19/19_18.html">デモ</a></p>
<p>複数のCSSプロパティを設定したい場合は、『css()』の括弧内に以下のような書式で設定します。</p>
<div class="mal10box">
<pre class="brush: javascript;">
$("p").css({
color : "red",
backgroundColor : "black",
padding : "15px"
});
</pre>
</div>
<p class="demo mab20"><a href="http://layout-blue.com/wp-content/demo/19/19_19.html">デモ</a></p>
<h5>CSSの値の取得</h5>
<div class="mal10box">
<pre class="brush: javascript;">
$("p").text($("p").css("color"));;
</pre>
</div>
<p>※ブラウザによって取得した値の表示が異なる場合があります。</p>
<p class="demo mab20"><a href="http://layout-blue.com/wp-content/demo/19/19_20.html">デモ</a></p>
</div>
<div class="section">
<h3>HTML、CSSを操作するjQueryの一覧</h3>
<div class="border_coll">
<table width="98%"  border="0">
<tr>
<th>命令</th>
<th>説明</th>
</tr>
<tr>
<td colspan="2">テキストの変更と取得</td>
</tr>
<tr>
<td class="bg_ef">text(&#8230;)</td>
<td class="bg_ef">テキストの変更</td>
</tr>
<tr>
<td>text()</td>
<td>テキストの取得</td>
</tr>
<tr>
<td colspan="2" class="bg_ef">HTMLの変更と取得</td>
</tr>
<tr>
<td>html(&#8230;)</td>
<td>HTMLを変更する</td>
</tr>
<tr>
<td class="bg_ef">html()</td>
<td class="bg_ef">HTMLの取得</td>
</tr>
<tr>
<td colspan="2">HTMLの挿入</td>
</tr>
<tr>
<td class="bg_ef">prepend(&#8230;)</td>
<td class="bg_ef">要素内の先頭にHTMLを挿入</td>
</tr>
<tr>
<td>append(&#8230;)</td>
<td>要素内の後にHTMLを挿入</td>
</tr>
<tr>
<td class="bg_ef">before(..)</td>
<td class="bg_ef">要素の前にHTMLを挿入</td>
</tr>
<tr>
<td>after(&#8230;)</td>
<td>要素の後にHTMLを挿入</td>
</tr>
<tr>
<td colspan="2" class="bg_ef">HTMLの移動</td>
</tr>
<tr>
<td>prependTo(&#8230;)</td>
<td>要素内の先頭に要素を移動</td>
</tr>
<tr>
<td class="bg_ef">appendTo(&#8230;)</td>
<td class="bg_ef">要素内の後に要素を移動</td>
</tr>
<tr>
<td>insertBefore(&#8230;)</td>
<td>要素の前に要素を移動</td>
</tr>
<tr>
<td class="bg_ef">insertAfter(&#8230;)</td>
<td class="bg_ef">要素の後に要素を移動</td>
</tr>
<tr>
<td colspan="2">要素で囲む</td>
</tr>
<tr>
<td class="bg_ef">wrap(&#8230;)</td>
<td class="bg_ef">要素を他の要素で囲む</td>
</tr>
<tr>
<td>wrapAll(&#8230;)</td>
<td>要素をまとめて囲む</td>
</tr>
<tr>
<td class="bg_ef">wrapInner(&#8230;)</td>
<td class="bg_ef">子要素を他の要素で囲む</td>
</tr>
<tr>
<td colspan="2">要素の置き換え</td>
</tr>
<tr>
<td class="bg_ef">replaceWith(&#8230;)</td>
<td class="bg_ef">要素を他の要素に置き換える</td>
</tr>
<tr>
<td colspan="2">要素を削除</td>
</tr>
<tr>
<td class="bg_ef">remove(&#8230;)</td>
<td class="bg_ef">要素を削除</td>
</tr>
<tr>
<td colspan="2">属性の値の追加と削除</td>
</tr>
<tr>
<td class="bg_ef">attr(&#8230;,&#8230;)</td>
<td class="bg_ef">指定した属性の値を変更</td>
</tr>
<tr>
<td>attr(&#8230;)</td>
<td>指定した要素の値を取得</td>
</tr>
<tr>
<td class="bg_ef">removeAttr(&#8230;)</td>
<td class="bg_ef">指定した要素を削除</td>
</tr>
<tr>
<td colspan="2">class属性の追加と削除</td>
</tr>
<tr>
<td class="bg_ef">addClass(&#8230;)</td>
<td class="bg_ef">class属性を追加</td>
</tr>
<tr>
<td>removeClass(&#8230;)</td>
<td>class属性を削除</td>
</tr>
<tr>
<td colspan="2" class="bg_ef">cssの制御</td>
</tr>
<tr>
<td>css(&#8230;,&#8230;)</td>
<td>指定したCSSプロパティの値を設定</td>
</tr>
<tr>
<td class="bg_ef">css(&#8230;)</td>
<td class="bg_ef">指定したCSSプロパティの値を取得</td>
</tr>
</table>
</div>
</div>
<p>なにか間違いがございましたら、ご指摘頂ければ幸いです。<br />
宜しくお願い致します。</p>
]]></content:encoded>
			<wfw:commentRss>http://layout-blue.com/2010/05/20/jquery-04/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://layout-blue.com/2010/05/20/jquery-04/" />
	</item>
		<item>
		<title>jQueryを覚えよう</title>
		<link>http://layout-blue.com/2010/05/14/jquery-03/</link>
		<comments>http://layout-blue.com/2010/05/14/jquery-03/#comments</comments>
		<pubDate>Fri, 14 May 2010 05:52:12 +0000</pubDate>
		<dc:creator>hide</dc:creator>
				<category><![CDATA[Webテクニック]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://layout-blue.com/?p=861</guid>
		<description><![CDATA[
とても便利なJavascriptのライブラリ『jQuery』。使用している方もたくさんいると思いますが、プラグインを使って使用している方が多いと思います。有名なブログ等でプラグインのの紹介も行われているので、jQery &#8230; <a href="http://layout-blue.com/2010/05/14/jquery-03/">続きを読む <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://layout-blue.com/wp-content/uploads/2010/05/jquery.gif" rel="lightbox"><img src="http://layout-blue.com/wp-content/uploads/2010/05/jquery-150x150.gif" alt="" title="jquery" width="150" height="150" class="alignleft size-thumbnail wp-image-862" /></a></p>
<p>とても便利なJavascriptのライブラリ『jQuery』。使用している方もたくさんいると思いますが、プラグインを使って使用している方が多いと思います。有名なブログ等でプラグインのの紹介も行われているので、jQeryのプラグインを使用して作成していると思います。もちろん自分で作成している方もいらっしゃると思いますが、まだ自分でjQueryを制作したことがない方のために使用方法をまとめてみました。</p>
<p><br classs="clear" /><br />
<span id="more-861"></span></p>
<div class="section">
<h3>jQuery ready関数</h3>
<h4>ready関数</h4>
<p>WebブラウザはHTMLをファイルの先頭から1行ずつ読み込んで実行します。したがってJavascriptが読み込まれた時点で命令を実行します。<br />
jQueryはJavascriptを実行するタイミングを制御する『ready関数』というのがあります。この『ready関数』はHTMLを読み込んだ後に実行する関数です。<br />
書式は以下のようになります。</p>
<div class="mal10box">
<pre class="brush: javascript;">
$(document).ready(function(){
ｊQuery処理内容
});
</pre>
</div>
<p>また、以下のように省略もできます。</p>
<div class="mal10box">
<pre class="brush: javascript;">
$(function(){
jQUery処理内容
});
</pre>
</div>
<p>jQueryでscriptを記述するときはほとんどこの『ready関数』を使いますので覚えてしまいましょう。</p>
<h4>セレクターの書き方</h4>
<p>それではjQueryのを使用したscriptの記述方法を見ていきます。</p>
<div class="mal10box">
<pre class="brush: javascript;">
$("セレクター").jQuery処理内容;
</pre>
</div>
<p>まず、どのHTML要素を操作するかをセレクターで指定してjQUeryの操作する処理を記述します。jQueryではほとんどがこのような記述方法をします。まずこの書式を覚えることから始めましょう。
</p></div>
<div class="section">
<h3>CSSのセレクター</h3>
<p>jQueryではCSSで使用する要素セレクター、classセレクター、idセレクター、子孫セレクターなど様々なセレクターが使用できます。</p>
<h4>CSSセレクター</h4>
<h5>要素セレクター</h5>
<p>HTML要素に対しての処理には『要素セレクター』を使用します。</p>
<div class="mal10box">
<pre class="brush:javascript;">
$(function(){
$("p").css("color"."red");
});
</pre>
</div>
<p>これはHTML要素の『p』タグのテキストを赤文字に変更しています。『p』タグ以外はデフォルトのままです。</p>
<p class="demo mab20"><a href="http://layout-blue.com/wp-content/demo/18/18.html">デモ</a></p>
<h5>idセレクター</h5>
<p>idを対象にしたセレクターの利用方法です。指定の方法はCSSと同様に『＃（ハッシュ）』を指定します。</p>
<div class="mal10box">
<pre class="brush: javascript">
$(function(){
$("#first").css("color","red");
});
</pre>
</div>
<p class="demo mab20"><a href="http://layout-blue.com/wp-content/demo/18/18_02.html">デモ</a></p>
<h5>classセレクター</h5>
<p>classを対象にしたセレクターの利用方法です。指定の方法はCSSと同様に『.（ドット）』を指定します。</p>
<div class="mal10box">
<pre class="brush: javascript">
$(function(){
$(".second").css("color","red");
});
</pre>
</div>
<p class="demo mab20"><a href="http://layout-blue.com/wp-content/demo/18/18_03.html">デモ</a></p>
<h5>子孫セレクター</h5>
<p>複数のセレクターをスペースで区切って指定することにより、特定の要素の内側のある要素を絞り込みができます。</p>
<div class="mal10box">
<pre class="brush: javascript">
$(function(){
$(".first span").css("color","red");
});
</pre>
</div>
<p class="demo mab20"><a href="http://layout-blue.com/wp-content/demo/18/18_04.html">デモ</a></p>
<h5>ユニバーサルセレクター</h5>
<p>すべての要素に対して指定します。『*（アスタリスク）』で指定します。</p>
<div class="mal10box">
<pre class="brush: javascript;">
$(function(){
$("p *").css("color","red");
});
</pre>
</div>
<p class="demo mab20"><a href="http://layout-blue.com/wp-content/demo/18/18_05.html">デモ</a></p>
<h5>グループセレクター</h5>
<p>複数のセレクタをまとめて指定できます。『,（カンマ）』で指定します。</p>
<div class="mal10box">
<pre class="brush: javascript;">
$(function(){
$("#first , #third").css("color","red");
});
</pre>
</div>
<p class="demo mab20"><a href="http://layout-blue.com/wp-content/demo/18/18_06.html">デモ</a></p>
<h4>CSS2のセレクター</h4>
<p>jQueryはIE6等ではサポートしていない『CSS2』『CSS3』にも対応しています。</p>
<h5>子セレクター</h5>
<p>ある特定の要素の直下にある要素に対しての指定をします。親要素と子要素を『＞（大なり）』で繋げます。</p>
<div class="mal10box">
<pre class="brush: javascript">
$(function(){
$("p > strong").css("color","red");
});
</pre>
</div>
<p class="demo mab20"><a href="http://layout-blue.com/wp-content/demo/18/18_07.html">デモ</a></p>
<h5>隣接セレクター</h5>
<p>ある特定の要素の次にくる要素に対して指定をします。隣接する要素を『+（プラス）』で指定します。</p>
<div class="mal10box">
<pre class="brush:javascript;">
$(function(){
$("#third + p").css("color","red");
});
</pre>
</div>
<p class="demo mab20"><a href="http://layout-blue.com/wp-content/demo/18/18_08.html">デモ</a></p>
<h5>first-child疑似クラス</h5>
<p>ある特定のセレクターで最初に出る要素に対して指定します。特定の要素の後に『:first-child』で指定します。</p>
<div class="mal10box">
<pre class="brush:javascript;">
$(function(){
$("div p:first:child").css("color","red");
});
</pre>
</div>
<p class="demo mab20"><a href="http://layout-blue.com/wp-content/demo/18/18_09.html">デモ</a></p>
<h4>CSS3セレクター</h4>
<h5>間接セレクター</h5>
<p>ある特定のセレクター以降に出てくる要素を指定します。セレクターと要素を『~（チルダ）』で繋げます。</p>
<div class="mal10box">
<pre class="brush: javascript;">
$(function(){
$("#second ~ p").css("color","red");
});
</pre>
</div>
<p class="demo mab20"><a href="http://layout-blue.com/wp-content/demo/18/18_10.html">デモ</a></p>
<h5>否定疑似クラス</h5>
<p>あるセレクターの要素で特定条件以外の要素に対して指定します。指定する要素の後に『:not()』を記述し、『()』内に除外条件を記述します。</p>
<div class="mal10box">
<pre class="brush: javascript;">
$(function(){
$("div p:not(:first-child)").css("color","red");
});
</pre>
</div>
<p class="demo mab20"><a href="http://layout-blue.com/wp-content/demo/18/18_11.html">デモ</a></p>
<h5>nth-chilid疑似クラス</h5>
<p>セレクターの要素から任意の順番にの要素に対して指定します。セレクターの後ろに『:nth-child(番号)』で指定します。また、番号だけでなく、奇数、偶数や倍数なども指定できます。奇数は『:nth-child(odd)』、偶数は『:nth-child(even)』、倍数は『:nth-child(xn)』、xは倍数を指定します。5倍なら『:nth-child(5n)』と指定します。</p>
<div class="mal10box">
<pre class="brush: javascript;">
//任意の順番
$(function(){
$("div p:nth-child(2)").css("color","red");
});
//奇数
$(function(){
$("p:nth-child(odd)").css("color","red");
});
//偶数
$(function(){
$("div p:nth-child(even)").css("color","red");
});
//倍数
$(function(){
$("div p:nth-child(5n)").css("color","red");
});
</pre>
</div>
<p class="demo mab20"><a href="http://layout-blue.com/wp-content/demo/18/18_12.html">デモ</a></p>
<h5>last-child疑似クラス</h5>
<p>ある特定のセレクターの中で最後の要素を指定します。セレクターの後ろに『:last-child』と指定します。</p>
<div class="mal10box">
<pre class="brush: javascript">
$(function(){
$("div p:lastchild").css("color","red");
});
</pre>
</div>
<p class="demo mab20"><a href="http://layout-blue.com/wp-content/demo/18/18_13.html">デモ</a></p>
<h5>only-child疑似クラス</h5>
<p>セレクターに特定の要素が1つだけ含まれる場合に指定できます。セレクターの後ろに『:only-child』と指定します。</p>
<div class="mal10box">
<pre class="brush:javascript;">
$(function(){
$("p span:only-child").css("color","red");
});
</pre>
</div>
<p class="demo mab20"><a href="http://layout-blue.com/wp-content/demo/18/18_14.html">デモ</a></p>
<h4>CSSの属性セレクター</h4>
<p>要素の属性、属性値を条件に対象を絞り込む『属性セレクター』にも対応しています。</p>
<h5>attribute</h5>
<p>ある特定の属性をもつ要素を指定できます。</p>
<div class="mal10box">
<pre class="brush:javascript;">
$(function(){
$("[id]").css("color","red");
});
</pre>
</div>
<p class="demo mab20"><a href="http://layout-blue.com/wp-content/demo/18/18_15.html">デモ</a></p>
<h5>[attribute='value']</h5>
<p>ある特定の属性が特定の値をもつ要素を指定できます。</p>
<div class="mal10box">
<pre class="brush: javascript;">
$(function(){
$("[title='second']").css("color","red");
});
</pre>
</div>
<p class="demo mab20"><a href="http://layout-blue.com/wp-content/demo/18/18_16.html">デモ</a></p>
<h5>[attribute!='value']</h5>
<p>ある特定の属性で、特定の値を持たない要素を指定できます。</p>
<div class="mal10box">
<pre class="brush: javascript;">
$(function(){
$("p [title!='second']").css("color","red");
});
</pre>
</div>
<p class="demo mab20"><a href="http://layout-blue.com/wp-content/demo/18/18_17.html">デモ</a></p>
<h5>[attribute^='value']</h5>
<p>ある特定の属性値が特定の文字で始まっている要素を指定できます。</p>
<div class="mal10box">
<pre class="brush: javascript;">
$(function(){
$("[title^='f']").css("color","red");
});
</pre>
</div>
<p class="demo mab20"><a href="http://layout-blue.com/wp-content/demo/18/18_18.html">デモ</a></p>
<h5>[attribute$='value']</h5>
<p>ある特定の属性値が特定の文字で終わっている要素を指定できます。</p>
<div class="mal10box">
<pre class="brush: javascript;">
$(function(){
$("[title$='f']").css("color","red");
});
</pre>
</div>
<p class="demo mab20"><a href="http://layout-blue.com/wp-content/demo/18/18_19.html">デモ</a></p>
<h5>[attribute*='value']</h5>
<p>ある特定の属性値が特定の文字を含めている要素を指定できます。</p>
<div class="mal10box">
<pre class="brush: javascript;">
$(function(){
$("[title*='ir']").css("color","red");
});
</pre>
</div>
<p class="demo mab20"><a href="http://layout-blue.com/wp-content/demo/18/18_20.html">デモ</a></p>
<h4>jQuery独自のフィルター</h4>
<p>ｊQueryはCSSセレクター以外でも独自のセレクターを持っています。それらを利用することも可能です。</p>
<h5>firstフィルター／lastフィルター</h5>
<p>セレクターの最初の要素と、最後の要素を指定します。</p>
<div class="mal10box">
<pre class="brush: javascript;">
$(function(){
$("div p:first").css("color","red");
$("div p:last").css("color","blue");
});
</pre>
</div>
<p class="demo mab20"><a href="http://layout-blue.com/wp-content/demo/18/18_21.html">デモ</a></p>
<h5>evenフィルター／oddフィルター</h5>
<p>セレクターの偶数番目と奇数番目を指定します。</p>
<div class="mal10box">
<pre class="brush: javascript;">
$(function(){
$("div p:even").css("color","red");
$("div p:odd").css("color","blue");
});
</pre>
</div>
<p class="demo mab20"><a href="http://layout-blue.com/wp-content/demo/18/18_22.html">デモ</a></p>
<h5>eqフィルター／gtフィルター／ltフィルター</h5>
<p>セレクターの特定の順番の要素を『eq（equal）フィルター』で、特定の要素の前の要素を『lt（less than）フィルター』で、後の要素を『gt（greater than）フィルター』で指定します。要素は順番を指定します。ポイントはJavascriptは『0』から数値を取るため、1番目は『0』、2番目は『1』といった数値になります。</p>
<div class="mal10box">
<pre class="brush: javascript;">
$(function(){
$("div p:lt(2)").css("color","red");
$("div p:eq(2)").css("color","blue");
$("div p:gt(2)").css("color","green");
});
</pre>
</div>
<p class="demo mab20"><a href="http://layout-blue.com/wp-content/demo/18/18_23.html">デモ</a></p>
<h5>headerフィルター</h5>
<p>見出し要素のh1～h6までをまとめて指定できます。</p>
<div class="mal10box">
<pre class="brush: javascript;">
$(function(){
$(":header").css("color","red");
});
</pre>
</div>
<p class="demo mab20"><a href="http://layout-blue.com/wp-content/demo/18/18_24.html">デモ</a></p>
<h5>containsフィルター／hasフィルター</h5>
<p>containsフィルターは特定の文字列が含まれている要素を、hasフィルターは特定の要素が含まれているものを指定できます。</p>
<div class="mal10box">
<pre class="brush: javascript;">
$(function(){
$("p:contains('タイトル')").css("color","red");
$("p:has(span)").css("color","blue");
});
</pre>
</div>
<p class="demo mab20"><a href="http://layout-blue.com/wp-content/demo/18/18_25.html">デモ</a></p>
</div>
<div class="section">
<h3>jQueryセレクター一覧</h3>
<div class="border_coll">
<table width="98%"  border="0">
<tr>
<th>名称</th>
<th>書式</th>
<th>指定対象</th>
</tr>
<tr>
<td colspan="3">
<h5>CSSのセレクター</h5>
</td>
</tr>
<tr>
<td>要素セレクター</td>
<td>$(&quot;要素名&quot;)</td>
<td>特定の要素</td>
</tr>
<tr>
<td class="bg_ef">idセレクター</td>
<td class="bg_ef">$(&quot;#id名&quot;)</td>
<td class="bg_ef">id属性の要素</td>
</tr>
<tr>
<td>classセレクター</td>
<td>$(&quot;.class名&quot;)</td>
<td>class属性の要素名</td>
</tr>
<tr>
<td class="bg_ef">子孫セレクター</td>
<td class="bg_ef">$(&quot;親要素 子要素&quot;)</td>
<td class="bg_ef">特定の要素内にある要素</td>
</tr>
<tr>
<td>ユニバーサルセレクター</td>
<td>$(&quot;*&quot;)</td>
<td>すべての要素</td>
</tr>
<tr>
<td class="bg_ef">グループセレクター</td>
<td class="bg_ef">$(&quot;セレクター1,セレクター2,&#8230;&quot;)</td>
<td class="bg_ef">複数のセレクター</td>
</tr>
<tr>
<td colspan="3">
<h5>CSS2のセレクター</h5>
</td>
</tr>
<tr>
<td class="bg_ef">子セレクター</td>
<td class="bg_ef">$(&quot;親要素名　＞　子要素名&quot;)</td>
<td class="bg_ef">特定の要素に直下にある要素</td>
</tr>
<tr>
<td>隣接セレクター</td>
<td>$(&quot;要素 + 要素&quot;)</td>
<td>特定の要素の次の要素</td>
</tr>
<tr>
<td class="bg_ef">first-child疑似クラス</td>
<td class="bg_ef">$(&quot;要素名:first-child&quot;)</td>
<td class="bg_ef">同一要素の最初の要素</td>
</tr>
<tr>
<td colspan="3">
<h5>CSS3のセレクター</h5>
</td>
</tr>
<tr>
<td class="bg_ef">間接セレクター</td>
<td class="bg_ef">$(&quot;要素 ~ 要素&quot;)</td>
<td class="bg_ef">特定の要素以降の要素</td>
</tr>
<tr>
<td>否定疑似クラス</td>
<td>$(&quot;要素:not(要素)&quot;)</td>
<td>特定要素のうちｎｏｔ内の要素の条件を除く要素</td>
</tr>
<tr>
<td class="bg_ef">empty疑似クラス</td>
<td class="bg_ef">$(&quot;要素:empty&quot;)</td>
<td class="bg_ef">子要素やテキストを含まない要素</td>
</tr>
<tr>
<td>nth-child疑似クラス</td>
<td>$&quot;(要素:nth-child(番号)&quot;)</td>
<td>特定要素の指定した番号</td>
</tr>
<tr>
<td class="bg_ef">last-child疑似要素</td>
<td class="bg_ef">$(&quot;要素:last-child&quot;)</td>
<td class="bg_ef"同一特定要素の最後の要素</td>
</tr>
<tr>
<td>only-child疑似要素</td>
<td>$(&quot;:only-child&quot;)</td>
<td>特定の要素が1つだけ含まれる要素</td>
</tr>
<tr>
<td colspan="3">
<h5>CSSの属性セレクター</h5>
</td>
</tr>
<tr>
<td>[attribute]</td>
<td>$(&quot;[属性名]&quot;)</td>
<td>特定の属性を持つ要素</td>
</tr>
<tr>
<td class="bg_ef">[attribute='valu']</td>
<td class="bg_ef">$(&quot;属性名=&#8217;値&#8217;]&quot;)</td>
<td class="bg_ef">特定の属性が指定した値を持つ要素</td>
</tr>
<tr>
<td>[attribute!='value']</td>
<td>$(&quot;要素名[属性名!='値']&quot;)</td>
<td>特定の属性が指定した値を持たない要素</td>
</tr>
<tr>
<td class="bg_ef">[attribute^='value']</td>
<td class="bg_ef">$(&quot;属性名^=&#8217;値&#8217;&quot;)</td>
<td class="bg_ef">特定の属性が指定した値で始まる要素</td>
</tr>
<tr>
<td>[attribute$='value']</td>
<td>$(&quot;属性名$=&#8217;値&#8217;]&quot;)</td>
<td>特定の属性が指定した値で終わる要素</td>
</tr>
<tr>
<td class="bg_ef">[attribute*='value']</td>
<td class="bg_ef">$(&quot;属性名*=&#8217;値7]&quot;)</td>
<td class="bg_ef">特定の属性が指定した値を持つ要素</td>
</tr>
<tr>
<td>[attributeFilter1]<br />
      [attributeFiltter2]</td>
<td>$(&quot;[属性セレクター1[属性セレクター2]&quot;)</td>
<td>複数の属性セレクターに該当する要素</td>
</tr>
<tr>
<td colspan="3">
<h5>jQery独自フィルター</h5>
</td>
</tr>
<tr>
<td>first</td>
<td>$(&quot;要素:first&quot;)</td>
<td>指定した要素の最初の要素</td>
</tr>
<tr>
<td class="bg_ef">last</td>
<td class="bg_ef">$(&quot;要素:last&quot;)</td>
<td class="bg_ef">指定した要素の最後の要素</td>
</tr>
<tr>
<td>even</td>
<td>$(&quot;要素:even&quot;)</td>
<td>指定した要素の偶数番目の要素</td>
</tr>
<tr>
<td class="bg_ef">odd</td>
<td class="bg_ef">$(&quot;要素:odd&quot;)</td>
<td class="bg_ef">指定した要素の奇数番目の要素</td>
</tr>
<tr>
<td>eq</td>
<td>$(&quot;要素:eq(番号)&quot;)</td>
<td>指定した番号の要素</td>
</tr>
<tr>
<td class="bg_ef">gt</td>
<td class="bg_ef">$(&quot;要素:gt(番号)&quot;)</td>
<td class="bg_ef">指定した番号より後の要素</td>
</tr>
<tr>
<td>lt</td>
<td>$(&quot;要素:lt(番号)&quot;)</td>
<td>指定した番号より前の要素</td>
</tr>
<tr>
<td class="bg_ef">header</td>
<td class="bg_ef">$(&quot;要素:header&quot;)</td>
<td class="bg_ef">見出し要素</td>
</tr>
<tr>
<td>contains</td>
<td>$(&quot;要素:contains(文字列)&quot;)</td>
<td>指定した文字列が含まれている要素</td>
</tr>
<tr>
<td class="bg_ef">has</td>
<td class="bg_ef">$(&quot;要素:has(要素)&quot;)</td>
<td class="bg_ef">特定の要素が含まれている要素</td>
</tr>
<tr>
<td>parent</td>
<td>$(&quot;要素:parent&quot;)</td>
<td>子要素やテキストを含む要素</td>
</tr>
</table>
</div>
<h4>まとめ</h4>
<p>基本的にready関数の書式さえ覚えてしまえば、ほとんどCSSの記述方法と同じなのでそんなに難しくないと思います。<br />
jQueryセレクター一覧は簡単なリファレンスとして参考にして頂ければと思います。</p>
<p>なにか間違いがございましたら、ご指摘頂ければ幸いです。<br />
宜しくお願い致します。
</p></div>
]]></content:encoded>
			<wfw:commentRss>http://layout-blue.com/2010/05/14/jquery-03/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://layout-blue.com/2010/05/14/jquery-03/" />
	</item>
		<item>
		<title>jQuery アコーディオンパネル</title>
		<link>http://layout-blue.com/2010/05/12/jquery-02/</link>
		<comments>http://layout-blue.com/2010/05/12/jquery-02/#comments</comments>
		<pubDate>Wed, 12 May 2010 00:47:59 +0000</pubDate>
		<dc:creator>hide</dc:creator>
				<category><![CDATA[Webテクニック]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://layout-blue.com/?p=832</guid>
		<description><![CDATA[
jQueryを利用してアコーディオンパネルを実装します。
jQueryはご存知の通り、CSSにとても近い記述方法で利用できるので、Webデザイナーや、マークアップエンジニアが比較的簡単に覚えられます。今回のアコーディオ &#8230; <a href="http://layout-blue.com/2010/05/12/jquery-02/">続きを読む <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://layout-blue.com/wp-content/uploads/2010/04/ajax.gif" rel="lightbox"><img src="http://layout-blue.com/wp-content/uploads/2010/04/ajax-150x150.gif" alt="ajax" title="ajax" width="150" height="150" class="alignleft size-thumbnail wp-image-685" /></a></p>
<p>jQueryを利用してアコーディオンパネルを実装します。<br />
jQueryはご存知の通り、CSSにとても近い記述方法で利用できるので、Webデザイナーや、マークアップエンジニアが比較的簡単に覚えられます。今回のアコーディオンパネルもサンプルにご紹介していきます。<br />
<br class="clear" /><br />
<span id="more-832"></span></p>
<div class="section">
<h3>jQeryの設定</h3>
<p>まずはじめに<a href="http://jquery.com/" class="exlink">jQueryをダウンロード</a>します。基本的にjQueryを使用する際には『圧縮版』を使用します。これは、変数名を短くし、コメントや空白、改行とを削除したもので、『Minfied』と呼ばれる方法を採用しています。これはファイルサイズを軽くすることで、読み込みを早くするためだからです。したがって、jQueryをダウンロードする際は、圧縮版を利用します。</p>
<p>jQuery読み込み指定</p>
<div class="mal10box">
<pre class="brush: html;">
<script type="text/javascript" src="jquery-1.3.2.min.js"></script>
</pre>
</div>
<p>現在のjQueryのバージョンは『1.4.2』です。
</p></div>
<div class="section">
<h3>コードの記述</h3>
<p>次に『script要素』の中にjQueryの命令コードを記述します。今回は定義リストを使用してアコーディオンパネルを実装してみます。HTMLの記述は以下のようなものを用意します。</p>
<div class="mal10box">
<pre class="brush: html;">
<dl>
<dt>サンプルタイトル1</dt>
<dd>
サンプルテキストサンプルテキストサンプルテキストサンプルテキストサンプルテキストサンプルテキスト
</dd>
<dt>サンプルタイトル2</dt>
<dd>
サンプルテキストサンプルテキストサンプルテキストサンプルテキストサンプルテキストサンプルテキスト
</dd>
<dt>サンプルタイトル3</dt>
<dd>
サンプルテキストサンプルテキストサンプルテキストサンプルテキストサンプルテキストサンプルテキスト
</dd>
</dl>
</pre>
</div>
<p>定義リストの『dd』タグを非表示にし、『dt』タグをクリックしたときに、『dd』タグを表示します。</p>
<div class="mal10box">
<pre class="brush: javascript;">
$(function(){
$("dd").css("display","none");
$("dl dt").click(function(){
if($("+dd",this).css("display")=="none"){
$(this).siblings("dd").slideUp("slow");
$("+dd",this).slideDown("slow");
}
});
});
</pre>
</div>
<p>また、最初の『dd』タグを表示しておきたい場合は、以下のように記述します。</p>
<div class="mal10box">
<pre class="brush: javascript;">
$(function(){
$("dd:not(:first)").css("display","none");
$("dl dt").click(function(){
if($("+dd",this).css("display")=="none"){
$(this).siblings("dd").slideUp("slow");
$("+dd",this).slideDown("slow");
}
});
});
</pre>
</div>
<p>ポイントは『(&#8220;dd:not(:first)&#8221;)』のところで、これは最初の『dd』以外という意味で、後に続く『&#8221;display&#8221;,&#8221;none&#8221;』と記述していることから分かるように、最初（first）not（以外）を非表示（&#8221;display&#8221;,&#8221;none&#8221;）にしなさい、というふうになります。</p>
<p>コードを見ると、指定の仕方が非常にCSSの書き方と似ているのがよくわかると思います。命令文は今後少しずつ紹介していきますが、サンプルでいろいろ試してみるのもいいかもしれません。
</p></div>
<div class="section">
最初のリストを表示</p>
<p class="demo mab20"><a href="http://layout-blue.com/wp-content/demo/17/17.html">デモ</a></p>
<p>全て非表示</p>
<p class="demo mab20"><a href="http://layout-blue.com/wp-content/demo/17/17_02.html">デモ</a></p>
<p>動作環境は、IE７、IE８、FireFox3.6.2、Safari4.0.5（win）、GoogleChrom4.1、Opera10.51で動作を確認しています。IE6でも動くと思いますが、確認はしていません。</p>
<p>ダウンロードはユーザー様の責任で行ってください。<br />
なにか問題が発生した場合でも、当サイトでは責任を負いかねますので、予めご了承ください。</p>
<p>上記をご承知の方のみ、以下よりダウンロードしてください。</p>
<p class="dl_module"><a href="http://layout-blue.com/wp-content/download/17.zip">ダウンロードはこちら</a></p>
<p>なにか間違いがございましたら、ご指摘頂ければ幸いです。<br />
宜しくお願い致します。
</p></div>
]]></content:encoded>
			<wfw:commentRss>http://layout-blue.com/2010/05/12/jquery-02/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://layout-blue.com/2010/05/12/jquery-02/" />
	</item>
		<item>
		<title>マウスオーバーでボックスの大きさを変える  Javascript＆Ajax</title>
		<link>http://layout-blue.com/2010/05/10/javascript-09/</link>
		<comments>http://layout-blue.com/2010/05/10/javascript-09/#comments</comments>
		<pubDate>Mon, 10 May 2010 00:34:54 +0000</pubDate>
		<dc:creator>hide</dc:creator>
				<category><![CDATA[Webテクニック]]></category>
		<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://layout-blue.com/?p=798</guid>
		<description><![CDATA[
Javascriptで各コンテンツボックスがマウスオーバーでコンテンツの領域を拡大する表現をアニメーションのように表現します。9つのコンテンツ領域を表現することによって、各コンテンツに情報を表示することができます。
今 &#8230; <a href="http://layout-blue.com/2010/05/10/javascript-09/">続きを読む <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://layout-blue.com/wp-content/uploads/2010/04/js_01.gif" rel="lightbox"><img src="http://layout-blue.com/wp-content/uploads/2010/04/js_01-150x150.gif" alt="" title="js_01" width="150" height="150" class="alignleft size-thumbnail wp-image-269" /></a></p>
<p>Javascriptで各コンテンツボックスがマウスオーバーでコンテンツの領域を拡大する表現をアニメーションのように表現します。9つのコンテンツ領域を表現することによって、各コンテンツに情報を表示することができます。<br />
今回はjQuery等のライブラリは使用していません。</p>
<p><br class="clear" /><br />
<span id="more-798"></span></p>
<div class="section">
<h3>減速しながらコンテンツを動かす</h3>
<p>今回のポイントは、滑らかな動きを表現することで、コンテンツの拡大縮小をアニメーションのように表現することです。</p>
<p>まず、移動後の位置を変数『myTarget』に格納し、移動スピードを変数『speed』に格納します。</p>
<div class="mal10box">
<pre class="brush: javascript;">
var myTarget = 750;
var speed = 36;
</pre>
</div>
<p>次に、関数『bMove』で『box1』の現在地を調べます。</p>
<div class="mal10box">
<pre class="brush: javascript;">
var boxPos = eval(document.getElementById('box1').style.left.replace("px", ""));
</pre>
</div>
<p>コンテンツ『box1』の現在地と移動後の位置を差を調べ、変数『speed』で割った位置に向けてどれだけ移動したかを表す数値になります。これに、現在地の座標を足したものが『box1』の位置になります。移動後の目的地に近づくにつれ減速されて滑らかな動きを表現しています。</p>
<p>『setTimeout』で一定の間隔で処理を繰り返し、指定した位置に近づけます。</p>
<div class="mal10box">
<pre class="brush: javascript;">
setTimeout("bMove()", 10);
</pre>
</div>
<p class="demo mab20"><a href="http://layout-blue.com/wp-content/demo/16/16.html">デモ</a></p>
</div>
<div class="section">
<h3>コンテンツを動かすポイントを分ける</h3>
<p>9つのコンテンツを配置します。位置座標の『top』、『left』はHTMLの『style』に記述します。各コンテンツboxの動きがわかるように、CSSで背景色をつけると動きがわかりやすくなると思います。今回はCSSでいコンテンツboxに背景色を指定しています。</p>
<div class="mal10box">
<pre class="brush: html;">
<div id="box1" class="box" style="top:0; left:0; " onmouseover="setTarget1()"></div>
<div id="box2" class="box" style="top:0; left:250px; " onmouseover="setTarget2()"></div>
<div id="box3" class="box" style="top:0; left:500px; " onmouseover="setTarget3()"></div>
<div id="box4" class="box" style="top:250px; left:0; " onmouseover="setTarget4()"></div>
<div id="box5" class="box" style="top:250px; left:250px; " onmouseover="setTarget5()"></div>
<div id="box6" class="box" style="top:250px; left:500px; " onmouseover="setTarget6()"></div>
<div id="box7" class="box" style="top:500px; left:0; " onmouseover="setTarget7()"></div>
<div id="box8" class="box" style="top:500px; left:250px; " onmouseover="setTarget8()"></div>
<div id="box9" class="box" style="top:500px; left:500px; " onmouseover="setTarget9()"></div>
</pre>
</div>
<p class="demo mab20"><a href="http://layout-blue.com/wp-content/demo/16/16_03.html">デモ</a></p>
<p>9つのコンテンツboxは左の列のX座標、上の行のY座標は動きません。動かすのは。、横方向中央と横方向右の2つと、縦方向中央と縦方向下の2つのポイントだけなので、この4つのポイントを動かします。これらの変数を以下のように指定します。</p>
<div class="mal10box">
<pre class="brush: javascript;">
var targetC; //横方向中央列
var targetR; //横方向右列
var targetM; //縦方向中央行
var targetB; //縦方向下行
</pre>
</div>
</div>
<div class="section">
<h3>コンテンツを動かす</h3>
<p>各コンテンツboxを動かす関数を作成します。横方向中央で制御するのは『box2』『box5』『box8』です。横方向右列を制御するのは『box3』『box6』『box9』、縦方向中央は『box4』『box5』『box6』、縦方向下行は『box7』『box8』『box9』で、それぞれtopとleftを書き換えます。</p>
<div class="mal10box">
<pre class="brush: javascript;">
function boxCmove() {
	var boxPos = eval(document.getElementById('box2').style.left.replace("px", ""));
	boxPos += (targetC-boxPos)/speed;
	document.getElementById('box2').style.left = boxPos+"px";
	document.getElementById('box5').style.left = boxPos+"px";
	document.getElementById('box8').style.left = boxPos+"px";
	setTimeout("boxCmove()", 10);
}

function boxRmove() {
	var boxPos = eval(document.getElementById('box3').style.left.replace("px", ""));
	boxPos += (targetR-boxPos)/speed;
	document.getElementById('box3').style.left = boxPos+"px";
	document.getElementById('box6').style.left = boxPos+"px";
	document.getElementById('box9').style.left = boxPos+"px";
	setTimeout("boxRmove()",10);
}

function boxMmove() {
	var boxPos = eval(document.getElementById('box4').style.top.replace("px", ""));
	boxPos += (targetM-boxPos)/speed;
	document.getElementById('box4').style.top = boxPos+"px";
	document.getElementById('box5').style.top = boxPos+"px";
	document.getElementById('box6').style.top = boxPos+"px";
	setTimeout("boxMmove()",10);
}

function boxBmove() {
	var boxPos = eval(document.getElementById('box7').style.top.replace("px", ""));
	boxPos += (targetB-boxPos)/speed;
	document.getElementById('box7').style.top = boxPos+"px";
	document.getElementById('box8').style.top = boxPos+"px";
	document.getElementById('box9').style.top = boxPos+"px";
	setTimeout("boxBmove()",10);
}
</pre>
</div>
<p>次にコンテンツboxがどのように動くかを決めていきます。<br />
まず、ウィンドウの幅と高さを指定します。</p>
<div class="mal10box">
<pre class="brush: javascript;">
var contWidth;
var contHeight;
</pre>
</div>
<p>次いで各コンテンツboxがマウスオーバーした際の状態を記述します。</p>
<div class="mal10box">
<pre class="brush: javascript;">
function setTarget1() {
	targetC = contWidth-100;
	targetR = contWidth-50;
	targetM = contHeight-100;
	targetB = contHeight-50;
}

function setTarget2() {
	targetC = 50;
	targetR = contWidth-50;
	targetM = contHeight-100;
	targetB = contHeight-50;
}

function setTarget3() {
	targetC = 50;
	targetR = 100;
	targetM = contHeight-100;
	targetB = contHeight-50;
}

function setTarget4() {
	targetC = contWidth-100;
	targetR = contWidth-50;
	targetM = 50;
	targetB = contHeight-50;
}

function setTarget5() {
	targetC = 50;
	targetR = contWidth-50;
	targetM = 50;
	targetB = contHeight-50;
}

function setTarget6() {
	targetC = 50;
	targetR = 100;
	targetM = 50;
	targetB = contHeight-50
}

function setTarget7() {
	targetC = contWidth-100;
	targetR = contWidth-50;
	targetM = 50;
	targetB = 100;
}

function setTarget8() {
	targetC = 50;
	targetR = contWidth-50;
	targetM = 50;
	targetB = 100;
}

function setTarget9() {
	targetC = 50;
	targetR = 100;
	targetM = 50;
	targetB = 100;
}
</pre>
</div>
<p>次に初期設定のconfig関数の設定です。すでに宣言してある『contWidth』と『contHeight』変数に幅と高さを挿入してコンテンツboxのそれぞれの位置を表す『targetC』『targetR』『targetM』『targetB』の初期値を決めます。この際に均等に表示されるようにします。3行X3列なので、それぞれスペースを3等分にし、中列・中段の幅高さを3分の1にし、右列・下段は3分の2の位置に指定します。</p>
<div class="mal10box">
<pre class="brush: javascript;">
	targetC = contWidth/3;
	targetR = contWidth/3*2;
	targetM = contHeight/3;
	targetB = contHeight/3*2;
</pre>
</div>
<p>また、それぞれ各コンテンツboxの幅と高さも指定します。</p>
<div class="mal10box">
<pre class="brush: javascript;">
	document.getElementById('box1').style.width = (contWidth-100)+"px";
	document.getElementById('box1').style.height = (contHeight-100)+"px";
</pre>
</div>
<p>最後に各コンテンツboxにマウスオーバーの関数を呼び出す設定をし、『body』のonloadで初期値となる『config()』と各ポイントを動かす『boxCmove』『boxRmove』『boxMmove』『boxBmove』を呼び出します。</p>
<div class="mal10box">
<pre class="brush: html;">
<body onload="config();boxCmove();boxRmove();boxMmove();boxBmove()" onresize="config()">
<div id="box1" class="box" style="top:0; left:0; " onmouseover="setTarget1()"></div>
<div id="box2" class="box" style="top:0; left:250px; " onmouseover="setTarget2()"></div>
<div id="box3" class="box" style="top:0; left:500px; " onmouseover="setTarget3()"></div>
<div id="box4" class="box" style="top:250px; left:0; " onmouseover="setTarget4()"></div>
<div id="box5" class="box" style="top:250px; left:250px; " onmouseover="setTarget5()"></div>
<div id="box6" class="box" style="top:250px; left:500px; " onmouseover="setTarget6()"></div>
<div id="box7" class="box" style="top:500px; left:0; " onmouseover="setTarget7()"></div>
<div id="box8" class="box" style="top:500px; left:250px; " onmouseover="setTarget8()"></div>
<div id="box9" class="box" style="top:500px; left:500px; " onmouseover="setTarget9()"></div>

</body>
</pre>
</div>
<p class="demo mab20"><a href="http://layout-blue.com/wp-content/demo/16/16_02.html">デモ</a></p>
</div>
<div class="section">
<h3>まとめ</h3>
<p>今回ご紹介しました『目的地に動かす』手法は、いろいろな動きに応用できます。<br />
ポイントとしましては3つあります。</p>
<p>・次第に減速していく動き<br />
・getElementById()でコンテンツの位置を移動<br />
・setTimeoutで同じ関数を呼び出す</p>
<p>これを抑えておくといろいろ応用ができると思いますので、ぜひ試してみてください。</p>
<p>動作環境は、IE７、IE８、FireFox3.6.2、Safari4.0.5（win）、GoogleChrom4.1、Opera10.51で動作を確認しています。</p>
<p>ダウンロードはユーザー様の責任で行ってください。<br />
なにか問題が発生した場合でも、当サイトでは責任を負いかねますので、予めご了承ください。</p>
<p>上記をご承知の方のみ、以下よりダウンロードしてください。</p>
<p class="dl_module"><a href="http://layout-blue.com/wp-content/download/16.zip">ダウンロードはこちら</a></p>
<p>なにか間違いがございましたら、ご指摘頂ければ幸いです。<br />
宜しくお願い致します。
</p></div>
]]></content:encoded>
			<wfw:commentRss>http://layout-blue.com/2010/05/10/javascript-09/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://layout-blue.com/2010/05/10/javascript-09/" />
	</item>
		<item>
		<title>Javascript＆Ajax　その8</title>
		<link>http://layout-blue.com/2010/05/06/javascript-08/</link>
		<comments>http://layout-blue.com/2010/05/06/javascript-08/#comments</comments>
		<pubDate>Thu, 06 May 2010 02:24:58 +0000</pubDate>
		<dc:creator>hide</dc:creator>
				<category><![CDATA[Webテクニック]]></category>
		<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://layout-blue.com/?p=764</guid>
		<description><![CDATA[
Javascriptは、HTMLやCSSの属性を動的に書き換えることができるのが最大の特徴で、その要素にアクセスするのに利用するのが『DOM』です。
この『DOM』を最大限に利用することによって、動的なWebを表現する &#8230; <a href="http://layout-blue.com/2010/05/06/javascript-08/">続きを読む <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://layout-blue.com/wp-content/uploads/2010/04/js_01.gif" rel="lightbox"><img src="http://layout-blue.com/wp-content/uploads/2010/04/js_01-150x150.gif" alt="" title="js_01" width="150" height="150" class="alignleft size-thumbnail wp-image-269" /></a></p>
<p>Javascriptは、HTMLやCSSの属性を動的に書き換えることができるのが最大の特徴で、その要素にアクセスするのに利用するのが『DOM』です。<br />
この『DOM』を最大限に利用することによって、動的なWebを表現することができるようになります。今回はその『DOM』についてご紹介致します。</p>
<p><br class="clear" /><br />
<span id="more-764"></span></p>
<div class="section">
<h3>DOM</h3>
<h4>DOMとは</h4>
<p>DOMは『Document Object Model』の略で、HTML、XMLといったマークアップ言語の構成要素に対し、動的にアクセスするための方法を規定した仕様で、Javascriptで『a要素』の『href属性』を書き換えて動的にリンクを変更する操作はDOMで可能となります。</p>
<p>Javascriptで動きのあるコンテンツを制作するとき、HTML要素に対して何らかの処理を行っています。DOMはJavascriptの仕様にはHTMLへアクセスするためのインターフェースがなく、DOMを使用することでHTMLのあらゆる要素へアクセスすることが可能になります。<br />
DOMはCSSにもアクセスできますので、要素を書き換えて見た目を動的に変化させることができるようになります。
</p></div>
<div class="section">
<h3>node</h3>
<h4>nodeとは</h4>
<p>DOMは『document』を頂点にしたツリー構造をもっていまして、ツリーを構成する『要素（element）』や、『属性（attribute）』を『node（ノード）』といいます。<br />
Javascriptではdocumentオブジェクトのメソッドを利用して、nodeの集まりをオブジェクトとして取得して操作することができるようになります。</p>
<h4>nodeへのアクセス方法</h4>
<p>nodeにはdocumentオブジェクトが持つ３つのメソッドを利用してアクセスします。<br />
『id属性』、『name属性』、『HTML要素名』をもとにオブジェクトを取得できます。</p>
<p>id属性名をもつ要素の取得</p>
<div class="mal10box">
<pre class="brush: javascript;">
document.getElementById(id属性名);
</pre>
</div>
<p>name属性をもつ要素の取得</p>
<div class="mal10box">
<pre class="brush: javascript;">
document.getElementsByName(name属性名);
</pre>
</div>
<p>HTML要素名をもとに要素を取得</p>
<div class="mal10box">
<pre class="brush: javascript;">
document.getElementsByTagName(要素名);
</pre>
</div>
<p>getElementById()メソッドは、HTML文書の中に同じIDが存在しないので、1つのオブジェクトを返します。<br />
name属性や、HTML要素名はIDと違って複数あるため、getElementsByName()と、getElementsByTagName()メソッドは『Elements』と複数形になっています。このことから、複数のオブジェクトを返すため配列と同様にインデックス番号を使用してアクセスします。</p>
<div class="mal10box">
<pre class="brush: javascript;">
var myImg1 = document.getElementById("myImg1");
var myImg2 = document.getElementsByName("myImg2")[0];
var myImg3 = document.geElementsByTagName("myImg3")[1];
</pre>
</div>
<h4>CSSへのアクセス方法</h4>
<p>JavascriptからCSSにアクセスして、プロパティを変更するときもDOMを利用してHTML要素のstyle属性や、外部ファイルのCSSにアクセスして変更します。ただし、プロパティに『-（ハイフン）』が含まれているものは、『-（ハイフン）』を削除して、『-（ハイフン）』に続く文字を大文字にするというルールがありますので注意が必要です。</p>
<div class="mal10box">
<pre class="brush: text;">
font-size　>> fontSize
border-top >> borderTop
</pre>
</div>
<p>HTML</p>
<div class="mal10box">
<pre class="brush: html;">
<p id="cssac" style="font-size:1.2em; color:#333; ">CSSへのアクセス
</pre>
</div>
<p>Javascript</p>
<div class="mal10box">
<pre class="brush: javascript;">
var cssac = document.getElementById("cssac");
document.write("変更前フォント" + cssac.style.fontSize +"&lt;br /&gt;");
cssac.style.fontSize = "1.5em"; //変更後のフォントサイズを設定
document.write("変更後フォント" + cssac.style.fontSize + "&lt;br /&gt;");
</pre>
</div>
<p>外部CSSファイルへのアクセス</p>
<div class="mal10box">
<pre class="brush: javascript;">
var outcss = document.getElementById("cssac");
var myStyle = cssac.currentStyle || document.defaultView.getComputedStyle(outcss, null);
document.write("変更前フォント" + cssac.style.fontSize +"&lt;br /&gt;");
cssac.style.fontSize = "1.5em"; //変更後のフォントサイズを設定
document.write("変更後フォント" + cssac.style.fontSize + "&lt;br /&gt;");
</pre>
</div>
</div>
<div class="section">
<h3>まとめ</h3>
<p>CSSへアクセスする際に注意しなくてはならないのは、外部CSSファイルへのアクセスをする際に、現在のスタイルを取得するのに『IE』独自のプロパティ『currentStyle』とそれ以外のブラウザ『defaultView.getComputedStyle』を利用することです。『||』は、どちらか存在する方を利用する、というような意味です。</p>
<p>次回からは、実際にJavascriptを使った事例についてご紹介していきます。jQuery等のライブラリを使用した例や、ライブラリを使わない方法などをご紹介していきます。</p>
<p>なにか間違いがございましたら、ご指摘頂ければ幸いです。<br />
宜しくお願い致します。
</p></div>
]]></content:encoded>
			<wfw:commentRss>http://layout-blue.com/2010/05/06/javascript-08/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://layout-blue.com/2010/05/06/javascript-08/" />
	</item>
		<item>
		<title>Javascript＆Ajax　その7</title>
		<link>http://layout-blue.com/2010/04/28/javascript-07/</link>
		<comments>http://layout-blue.com/2010/04/28/javascript-07/#comments</comments>
		<pubDate>Wed, 28 Apr 2010 04:13:02 +0000</pubDate>
		<dc:creator>hide</dc:creator>
				<category><![CDATA[Webテクニック]]></category>
		<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://layout-blue.com/?p=731</guid>
		<description><![CDATA[
Javascriptでは同じような処理を繰り返し記述することがありますが、このような処理を1つにまとめて、いつでも呼び出せるような仕組みが『関数』です。また、ユーザーが『マウスを動かす』、『キー操作をする』等のアクショ &#8230; <a href="http://layout-blue.com/2010/04/28/javascript-07/">続きを読む <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://layout-blue.com/wp-content/uploads/2010/04/js_01.gif" rel="lightbox"><img src="http://layout-blue.com/wp-content/uploads/2010/04/js_01-150x150.gif" alt="" title="js_01" width="150" height="150" class="alignleft size-thumbnail wp-image-269" /></a></p>
<p>Javascriptでは同じような処理を繰り返し記述することがありますが、このような処理を1つにまとめて、いつでも呼び出せるような仕組みが『関数』です。また、ユーザーが『マウスを動かす』、『キー操作をする』等のアクションをした際にブラウザにアクションが通知されることを『イベント』といい、この『イベント』を受け取るのが、『イベントハンドラ』といいます。</p>
<p><br class="clear" /><br />
<span id="more-731"></span></p>
<div class="section">
<h3>関数</h3>
<h4>関数の定義</h4>
<p>関数を定義するには以下のように記述します。</p>
<div class="mal10box">
<pre class="brush: javascript;">
function 関数名(引数) {
処理の内容;
return 戻り値;
}
</pre>
</div>
<p>functionで関数であることを宣言し、関数名を設定します。関数名の付け方は、Javascriptのルールに従っていれば自由につけることができます。<br />
『()』の中には関数で処理する引数を設定し、複数の場合は『,（カンマ）』で区切って設定します。<br />
『{}』の中に処理を記述し、処理の結果を返すのであれば『return文』を使用します。戻り値がない場合は省略もできます。『return』を記述すると、関数の処理はそこで終了します。</p>
<h4>関数の呼び出し</h4>
<p>定義しました関数は以下のように呼び出します。</p>
<div class="mal10box">
<pre class="brush: javascript;">
関数名;(引数名);
var 戻り値を格納する関数 = 関数名(引数名);
</pre>
</div>
<p>関数は呼び出したときに初めて実行されます。<br />
<strong>実行例</strong></p>
<div class="mal10box">
<pre class="brush: javascript;">
function printName(name) {
dcument.write("名前は" + name + "です。");
}
var name = "hide"; //変数の定義
printName()name; //関数の呼び出し
</pre>
</div>
<p class="demo mab20"><a href="http://layout-blue.com/wp-content/demo/14/14.html">デモ</a></p>
<p>また同じ関数を何度も呼び出すこともできます。</p>
<p><strong>戻り値のある関数</strong></p>
<div class="mal10box">
<pre class="brush: javascript;">
function Cube(num){
cube = num*num*num;
document.write(cube);
return cube;
}
var num = 5; //変数の定義
answer = Cube(num); //関数の呼び出し
var num = 10;
answer = Cube(num);
</pre>
</div>
<p class="demo mab20"><a href="http://layout-blue.com/wp-content/demo/14/14_02.html">デモ</a></p>
</div>
<div class="section">
<h3>イベントハンドラ</h3>
<h4>イベントハンドラ一覧</h4>
<p>HTML要素やオブジェクトにイベントハンドラを設定すればユーザーアクションに応じた処理が実行できます。イベントに対応したイベントハンドラは以下の通りです。</p>
<div class="border_coll">
<table width="98%"  border="0">
<tr>
<th>イベントハンドラ</th>
<th>発生するタイミング</th>
</tr>
<tr>
<td>onload</td>
<td>ページが読み込まれた時</td>
</tr>
<tr>
<td class="bg_ef">onunload</td>
<td class="bg_ef">ページを移動したとき</td>
</tr>
<tr>
<td>onabort</td>
<td>ページ読み込みを中止したとき</td>
</tr>
<tr>
<td class="bg_ef">onreeor</td>
<td class="bg_ef">エラー発生時</td>
</tr>
<tr>
<td>onfocus</td>
<td>フォーカスしたとき</td>
</tr>
<tr>
<td class="bg_ef">onblur</td>
<td class="bg_ef">フォーカスを外したとき</td>
</tr>
<tr>
<td>onclick</td>
<td>クリックされたとき</td>
</tr>
<tr>
<td class="bg_ef">ondblclick</td>
<td class="bg_ef">ダブルクリックされたとき</td>
</tr>
<tr>
<td>ondragdrop</td>
<td>ドラッグ＆ドロップされたとき</td>
</tr>
<tr>
<td class="bg_ef">onkeydown</td>
<td class="bg_ef">キーが押されたとき</td>
</tr>
<tr>
<td>onkeypress</td>
<td>キーを押しているとき</td>
</tr>
<tr>
<td class="bg_ef">onkeyup</td>
<td class="bg_ef">キーを離したとき</td>
</tr>
<tr>
<td>onmove</td>
<td>ウィンドウを移動したとき</td>
</tr>
<tr>
<td class="bg_ef">onmouseover</td>
<td class="bg_ef">カーソルを重ねたとき</td>
</tr>
<tr>
<td>onmousedown</td>
<td>マウスボタンを押したとき</td>
</tr>
<tr>
<td class="bg_ef">onmouseup</td>
<td class="bg_ef">マウスボタンを離したとき</td>
</tr>
<tr>
<td>onmouseout</td>
<td>カーソルを離したとき</td>
</tr>
<tr>
<td class="bg_ef">onmousemove</td>
<td class="bg_ef">カーソルが移動したとき</td>
</tr>
<tr>
<td>onresize</td>
<td>ウィンドウをリサイズしたとき</td>
</tr>
<tr>
<td class="bg_ef">onselect</td>
<td class="bg_ef">テキストを選択したとき</td>
</tr>
<tr>
<td>onchange</td>
<td>データの内容が変化したとき</td>
</tr>
<tr>
<td class="bg_ef">onreset</td>
<td class="bg_ef">フォームをリセットしたとき</td>
</tr>
<tr>
<td>onsubmit</td>
<td>フォームのsubmitボタンをおしたとき</td>
</tr>
</table>
</div>
<h4>イベントハンドラ記述方法</h4>
<p><strong>HTMLに記述</strong></p>
<div class="mal10box">
<pre class="brush: html;">
<要素名 イベントハンドラ="処理内容;">
</pre>
</div>
<p>処理が複雑な場合は関数にまとめて関数を呼び出すようにします。また、『a要素』などページ遷移などHTML要素などに標準実装されている処理のをキャンセルしたいときは、イベントハンドラの処理に『return false;』を記述するとキャンセルできます。</p>
<div class="mal10box">
<pre class="brush: html;">
<a href="#" onclick="window.alert('クリックされました'); return false;">クリックしてください</a>
</pre>
</div>
<p><strong>オブジェクトに記述</strong></p>
<div class="mal10box">
<pre class="brush: javascript;">
オブジェクト名.イベントハンドラ = 関数名;
オブジェクト名.イベントハンドラ = function(引数){
処理の内容;
}
</pre>
</div>
<p class="demo mab20"><a href="http://layout-blue.com/wp-content/demo/14/14_03.html">デモ</a></p>
<p>オブジェクトに記述する場合は、<strong>メソッドが取得対象のHTML要素が読み込まれる前に実行されるとエラーになります</strong>ので、記述する順番に注意が必要です。そのため、head内に『onload』イベントハンドラを利用して、HTMLを読み込んだ後に『getElementById』を実行させることもできます。</p>
<div class="mal10box">
<pre class="brush: javascript;">
window.onload = function(){
var button = document.getElementById("clickButton");
window.alert("クリックしてください");
}
</pre>
</div>
<p class="demo mab20"><a href="http://layout-blue.com/wp-content/demo/14/14_04.html">デモ</a></p>
</div>
<div class="section">
<h3>まとめ</h3>
<p>『document.getElemetById()』を利用して、id属性が『clickButton』のinput要素をオブジェクトとして取得していますが、input要素の前に『getElementById()』を記述するとエラーになってしまいます。そこで『onload』イベントハンドラを利用します。以前は『body』に『load属性』を読み込ませていたのですが、現在は『onload』イベントハンドラを使用して記述されている方が多いようです。
</p></div>
<div class="section">
demoをダウンロードできます。ダウンロードはユーザー様の責任で行ってください。<br />
なにか問題が発生した場合でも、当サイトでは責任を負いかねますので、<br />
予めご了承ください。</p>
<p class="dl_module"><a href="http://layout-blue.com/wp-content/download/14.zip">ダウンロードはこちら</a></p>
<p>次回は『DOM』についてご紹介します。</p>
<p>なにか間違いがございましたら、ご指摘頂ければ幸いです。<br />
宜しくお願い致します。
</p></div>
]]></content:encoded>
			<wfw:commentRss>http://layout-blue.com/2010/04/28/javascript-07/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://layout-blue.com/2010/04/28/javascript-07/" />
	</item>
	</channel>
</rss>

