jqueryを使ったタブメニューの作り方【簡易版】

-
カテゴリー:
javascript 

中々尋常じゃない暑さと忙しさが続いており、ブログ書けていなかったんですが、小さなネタでもいいから書こうかなと思います。(汗

コンテンツがいくつかのカテゴリー分けがされており、1ページに収めるには縦に長くなりすぎるなぁって時によく使うタブメニューの作り方なんかを紹介したいと思います。

まずは、HTMLのサンプルコードです。

上記のコードでは、#tab_contentで対象となるコンテンツ全体を囲み、#tab_head内がタブの切り替えを行うメニュー、各.boxがタブメニューで表示、非表示が切り替わるコンテンツとなっております。

次にCSSです。

#tab_head li a.activeは、現在表示されているコンテンツと対になっているメニューのオンオフをわかりやすくするための記述です。
はじめに記載したHTMLでは1番目のアンカーに.activeを適用しています。

#tab_content .boxは、display:none;で全て非表示の状態にし、1番目のコンテンツにあたる.box#tab01をdisplay:block;で表示させています。

上記2つの記述方法はjavascript側で行う事も可能なのですが、今回は、簡易版ということで、cssとhtml側で簡易的に対応しました。

最後にjavascriptの記述です。

#tab_head li内のアンカーがクリックされるとそのクリックされたアンカーに.activeを適用し、hrefの中身を読み取り、該当のコンテンツを表示させています。
hrefには表示させたいコンテンツのIDを記述しています。

サンプルはコチラ

 

夏季休業のお知らせ

-
カテゴリー:
お知らせ 

誠に勝手ながら、2014年8月11日(月)~2014年8月17日(日)の間は夏季休業とさせていただきます。
ご不便をおかけしますが、何卒ご理解いただきますようお願いいたします。

CSS3とjqueryを使ってクリックされた所を起点に波紋アニメーションさせる

-
カテゴリー:
CSS 

5月ですね。
今年はセルインメイではないんですかね(滝汗

今回の記事の内容とは違うのですが、先日、お仕事でCSSを使い波紋を描くようなアニメーションをさせる必要があったので、いろいろと応用できるのではないかと思い、メモ程度にコードなどを残したいと思います。

以下CSSです。

 

念のため、ベンダープリフィックス入れてるんで、かなりコード自体は長く感じてしまうかもしれません。

#circleがアニメーションを適用させるためのボックスとなりborder、border-radiusの設定で赤いラインの入った丸を描きます。
box-shadowはおまけです。

opacityが0になっているのは、アニメーション終了時に非表示の状態にするためです。※他の方法もあるとは思います。

animation-******とついているのがアニメーションに関する設定なのですが、circleという名前のアニメーションを適用するように設定し、あとは、アニメーションさせる回数や速度、イージングの設定などを行っています。

@keyframes circleの中がそのアニメーションの内容で縦横0pxの円が0.8sかけて156pxに大きくなりながら、opacityが1から0に変化していきます。

続いてjqueryの記述です。

上記では、#wrapper内がクリックされた時に処理を行っています。

処理の内容はまずはじめに#wrapperの中に波紋アニメーション用の#circleを挿入し、非表示にしています。

そして、#wrapper内がクリックされたら、クリックされた位置を取得し、#circleのtopとleftにその取得した座標を挿入し、表示させる。
主要なブラウザでは、動作の確認ができたのですが、IEだと比較的新しいバージョンでも動作しないようです。

もっとうまい記述方法もあるとは思いますが、アレンジしていただければと思いますm(。。)m

サンプルはこちら