JQuery UI | memo-memo Skip to content

memo-memo

web制作に便利そうな情報をメモるブログ

Archive

Tag: jQuery UI

久々のjQueryの記事。
jQueryで、ページをスムーズに移動させる方法は、沢山ありますが、今回はこちらのチュートリアルにそってつくってみました。

どうやら、FAQを作るための物らしいけれど、今回は普通にページの移動として使わせてもらいました。

まずは、「Sourse」をクリックして、ダウンロードします。

zipファイルを解凍すると、ファイルが色々入っているのですが、その中の

js/jquery-scrollTo.js

が本体です。

まずは、ファイルを読み込みます。

<script type="text/javascript" src="jquery.js"></script>
<script type="text/ecmascript" src="jquery-ui.js"></script>
<script type="text/javascript" src="jquery-scrollTo.js"></script>

jQuery-uiは、ダウンロードされるフォルダーに一緒に入っているものは、1.7.2だけど、別に1.8でも動きました。

次に、htmlを記述します。

<ul id="questions">
<li id="q000"><a href="#a000">質問その1</a></li>
<li id="q000"><a href="#a001">質問その2</a></li>
</ul>
<div id="a000">
…
…
</div>
<div id="a001">
…
…
</div>

こんな感じです。最終的に、「質問その1」をクリックすると、<div id=”a000″>に、「質問その2」をクリックすると、<div id=”a001″>にスルスル移動する様な感じになります。

次に、実行するスクリプトを記述します。

<script type="text/javascript">
$(function() {
 $("#questions > li").click(function() {
 var qu = $(this).attr("id");
 var an = "#" + qu.replace("q","a");

 $.scrollTo(an, {duration: 800, axis:"y", onAfter:function(){
 $(an).effect("highlight", {color: "#99c0e1"}, 2000); }
 });
 });
});
</script>

クリックすると、liのidを取得して、「q」を「a」に置換して、#を追加してます。

青字の部分が実行部分っぽいです。スクロールした後、該当箇所(divで囲ってある部分)を、#99c0e1の色でハイライトさせてます。

とりあえずはここまでで、ページのスルスルスクロールとハイライトは完成です。

本サイトのチュートリアルには、ページトップに戻る方法も記述されてます。

jQueryと、jQuery.uiを使って、画像を拡大、縮小する方法が、下記のサイトに紹介されています。

http://webdesignledger.com/tutorials/create-a-resizable-image-grid-with-jqueryこちらが、英語版の本家のサイト

で、
http://e0166.blog89.fc2.com/blog-entry-658.htmlこちらが、翻訳した日本語サイト

まだ、ちゃんと見ていないけど、工夫すれば、いい感じなUIになりそうな気がする。

これって、文字の大きさに応用出来ないかなぁ?

いつかやってみよう。

正直、まだまだきちんと理解できていない部分が多いけど、とりあえず出来たことだけでもメモ。

まず、jQuery UIのダウンロードは、

http://jqueryui.com/

で、ただダウンロードするだけではなく、Themesなるものが指定できるらしい。ここで、好きな色とかパターンを選択する。

で、いざダウンロードすると、指定した色やパターンのcssと、imgが、jQuery UIと一緒にくっついてダウンロードされるっぽい。

で、ダウンロードされたzipファイルを解凍すると、やたらとファイルが多くて、どれがどれだかよくわからなかった(笑)

とりあえず、色々調べてみて、色々試してみたところ。

development-bundle/ui の中のjsファイルと、

development-bundle/themes/custom-theme の中のcssファイルを使うとよさそう。

各々のフォルダにある、jquery-ui-1.7.2.custom.js、とjquery-ui-1.7.2.custom.cssを使うっぽい。

後は、同じフォルダの中にある使いたいUI用のファイル?(ui.tabs.jsとか、ui.tabs.cssとか)を一緒に読み込めば良いっぽい。多分、このファイルは使いたい機能によって、読み込むべきファイルが違うんだと思う。「タブ」なら「ui.tabs.js」で、「アコーディオン」なら「ui.accordion.js」。

さらに、scriptタグで、使いたいUIの実行を記述すると良い。

html


<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>
<html xmlns=”http://www.w3.org/1999/xhtml”>
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″ />
<title>タブテスト</title>
<script type=”text/javascript” src=”path/to/jquery.js”></script>
<script type=”text/javascript” src=”path/to/jquery-ui-1.7.2.custom.js“></script>
<script type=”text/javascript” src=”path/to/ui.tabs.js“></script>
<link rel=”stylesheet” type=”text/css” href=”path/to/jquery-ui-1.7.2.custom.css” />
<link rel=”stylesheet” type=”text/css” href=”path/to/ui.tabs.css” />
<script type=”text/javascript”>
$(function(){
$(“#tab-container”).tabs();
});

</script>

</head>
<body>
<div id=”tab-container”>
<ul>
<li><a href=”#fragment-1″><span>タブ-1 </span></a></li>
<li><a href=”#fragment-2″><span>タブ-2 </span></a></li>
<li><a href=”#fragment-3″><span>タブ-3 </span></a></li>
</ul>

<div id=”fragment-1″>
タブ1の内容
</div>

<div id=”fragment-2″>
タブ2の内容
</div>

<div id=”fragment-3″>
タブ3の内容
</div>
</div>

</body>
</html>


上記のように記述すれば、とりあえず動きました…

因みに、

$(“#tab-container”).tabs({fx:{opacity:’toggle’,duration:’500′}});

こんな感じで、tabs()の中にオプションが指定できます。上記の場合、タブの中を切り替える時にfadeします。

いやいや、jQuery UIは、まだまだ勉強不足です。もうちょっと勉強しないと、はっきりと解らない事が多すぎですな……

まあ、とりあえず動いたからよかった。

因みに、このサイトの説明はわかりやすかったです。

http://ameblo.jp/totally-awesome/entry-10321306303.html