THE HAM MEDIA BLOG

jQueryを使って領域をスムーズに伸縮するナビゲーション

Clip to Evernote このエントリーをはてなブックマークに追加
カテゴリ:
jQuery plugin紹介
タグ:
jquery
javascript
ナビゲーション

jQueryを使って領域をスムーズに伸縮するナビゲーション

ネタ元:jQueryを使ってApple風デザインのナビゲーション | CSS Lecture

ちょうどjQueryのプラグインを探していたときに、
この「Kwicks for jQuery」をみつけて、
同じタイミングで、CSS LectureのMIYAさんがエントリーを書いていたので、
僕も使ってみる事にしました。

ただ、そのまま同じのをあげるのもなんなので、
自分で画像も簡単に作って使ってみました。

そして作っているときに、IEでのバグというか、
問題が起こることも見つけたので、それも書いておきます。

サンプル

今回は自分で画像を作っていろいろ使ってみました。

◆使用した画像

サンプル画像

サンプル画像 ←両サイドの角丸画像

◆スクリプト

$(function() {
    $('.kwicks').kwicks({
        duration: 300,
        max : 200,
        spacing : 0
    });
});

◆HTML

<ul class="kwicks" >
    <li id="kwick1"><a href="#">ホーム</a></li>
    <li id="kwick2"><a href="#">コンテンツ</a></li>
    <li id="kwick3"><a href="#">問い合わせ</a></li>
    <li id="kwick4"><a href="#">サイトマップ</a></li>
</ul>

◆CSS

このCSSはこのブログ用にカスタマイズされたものです。

.kwicks {
	list-style: none;
	position: relative;
	margin: 0 0 10px 0;
	padding: 0;
}
.kwicks li{
    display: block;
    float:left;
	overflow: hidden;
	padding: 0;
	margin-right: 0px;
	cursor: pointer;
	width: 115px;
	height: 45px;
	_height:50px;/*for IE*/
	background:
	   url(https://h2ham.up.seesaa.net/image/08011.png) no-repeat;  
}

.kwicks li a{  
    display:block;  
	height: 55px;
	margin-top:-5px; 
    text-indent:-9999px;
    outline:none;  
}  

#kwick1 { 
	background-position:0px 0px;
}
#kwick2 {
	background-position:-200px 0px;
}
#kwick3 {
	background-position:-400px 0px;
}
#kwick4 { 
	background-position:-600px 0px;
}

#kwick1.active, #kwick1:hover { 
	background-position:0px -58px;
}
#kwick2.active, #kwick2:hover {
	background-position:-200px -58px;
}
#kwick3.active, #kwick3:hover {
	background-position:-400px -58px;
}
#kwick4.active, #kwick4:hover { 
	background-position:-600px -58px;
}

#kwick1 a{  
    background:
        url(https://h2ham.up.seesaa.net/image/08012.png)
        no-repeat left top;  
}
    
#kwick4 a{  
    background:
        url(https://h2ham.up.seesaa.net/image/08012.png)
        no-repeat right -58px;  
}

#kwick4 a:hover{  
    background:
        url(https://h2ham.up.seesaa.net/image/08012.png)
        no-repeat  -58px;  
}  

◆プレビュー

※IEでみるとちらついたり消えたりしますが一応動作します。

IEでのバグ

実はこれ昨日すぐにつくったのですが、
面白い事にIE6だけ動作しない!!(IE7は未確認)

なぜ!?

なんて思って原因を探ったところ、
<div id="container">となっているところを消したら動作することがわかった。
僕は一番大枠となるdivのidをcontainerとつけているのだけど、
どうもこのidネームのせいで動作しなくなっていたらしい。
kwicks.jsのソースをみると、変数にcontainerが使われているから、
きっとそのせいなんだろうなって思う。

つまり、これを使う時はid="container"を使ってはいけないということだ。

そしてたぶんの話だが、同じようにidと変数が同じになっていると
もしかしたらIEで動作しなくなるので、idとかclassの名前は注意したほうが良さそうだ。

この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス: [必須入力]

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック

jQueryを使ってApple風デザインのナビゲーション
Excerpt: 今回の情報元サイトです。Create an apple style menu and improve it via jQuery こういうナビゲーションって今はそんなに見かける事はないのですが、今後..
Weblog: CSS Lecture
Tracked: 2008-08-02 03:40

トップに戻る

×

この広告は90日以上新しい記事の投稿がないブログに表示されております。