ホームページを作る人のネタ帳

一晩で覚えるjQueryの逆引き基礎サンプル7つ

一個のサンプルは非常に単純な構造になっておりますゆえ、jQueryをすでにやったことがある人にとって必要ないものだということをあらかじめご了承くださいませ。

エフェクト関係とかそれ以前に、どんなことをすればどうなるのかという基礎的なサンプルです。

プラグイン関係は以前書いた記事を参照してください。
jQueryでweb制作をする時にキープしておきたい30リスト

そもそもjQueryって何ですかという人は以下を。
今更ですが、jQueryにはまりました

追記:ほんとすいませんローカルで動作確認したところ動くのですが、オンラインではfirefoxしか動作確認せずに公開。
IE7では上の4つが動きません。
いくつか確認したのですが、どうしてもIE7でJavaScriptエラー。ダメすぎる自分・・・。


追記2:まいりました。他のサイトの記述を見てもミスが見つかりません。言語問題でしょうか・・・アクティブXでしょうか・・・。なぜか動きません。どなたか万が一わかる方がいらっしゃいましたら教えていただきたいと思います。どうぞよろしくお願いします。


追記3:Re:一晩で覚えるjQueryの逆引き基礎サンプル7つ (でぃべろっぱーず・さいど)
言及ありました~。ありがとうございます。あとでじっくり見させていただきます。

追記4:IE7のAjaxローディング問題が解決しました。

トラックバックとコメントから原因がcharset=noneを吐き出していると推測。ローカルのApacheインストールして確認したところ、たぶん間違いない。管理会社に連絡入れて了承いただけましたので、きっと今日中には直るはず!・・・たぶん・・・。

Ajaxのように部分ローディングがしたい


sampleダウンロード

sampleデモ

html側の表示
<div id="load1"></div>

js側の表示
$(document).ready(function (){
$("#load1").load("./load.html");
});

ページの一部をローディングしたいときに使えます。
たったこれだけで読み込めちゃうんですよね。


フォームボタンを押したら読み込みたい


sampleダウンロード

sampleデモ

html側の表示
<input name="btn22" type="button" value="ローディング" onClick="bt01()">
<div id="load1"></div>

js側の表示
function bt01(){
$("#load1").load("./load.html");
};

これでボタンを押すとローディングを開始し、読み込みに行くようになります。


開いたら閉じたい


sampleダウンロード

sampleデモ

html側の表示
<input name="btn22" type="button" value="ローディング" onClick="bt01()">
<div id="load1"></div>

上のscriptの呼ばれる側に新たに閉じるボタンを設置する
<input name="btn23" type="button" value="閉じる" onClick="clause()">

js側の表示
function bt01(){
$("#load1").load("./load.html");
};
function clause(){
$("#load1").html("");
};
これでボタンを押すと開き、開いた先に閉じるボタンが出現します。
loadでは無く、html、もしくはtextを用いて、何も無い状態にします。
htmlやtextを使う場合は、jsファイルのエンコードもきっちり統一しておく必要があります。


閉じる、開くボタンを同一の場所で交互にしたい


sampleダウンロード

sampleデモ

html側の表示
<div id="load1"><input name="btn22" type="button" value="ローディング" onClick="bt01()"></div>

こちらはボタンをdivの中に最初から入れておきます。
閉じるボタンを呼ばれるload.htmlの頭に移動すれば、そんな感じに見えます。


フォームに入力されている情報を動的に監視したい


sampleダウンロード

sampleデモ

html側の表示
デモで確認してみてください。
そのほうがわかりやすい・・・。

js側の表示
$(document).ready(function(){
$("#forms1").keyup(function () {
var value = $(this).val();
$("#forms2").val(value/2);
}).keyup();
});

ここでは、フォームを2個設置し、上のフォームを常に監視。
入力があれば、その入力された数値を2で割り、下のフォームに入れました。


複数のフォームを監視し、掛け算させたい


sampleダウンロード

sampleデモ

js側の表示
$(document).ready(function(){
$("#ls1").keyup(function () {
var value1 = $("#ls1").val();
var value2 = $("#ls2").val();
$("#ls3").val(value1 * value2);
}).keyup();

$("#ls2").keyup(function () {
var value1 = $("#ls1").val();
var value2 = $("#ls2").val();
$("#ls3").val(value1 * value2);
}).keyup();
});

フォームID ls1とls2の二つのフォームを監視し、お互いの数値を掛け合わせてls3のフォームに入れました。


ひとつのリンクで、複数のフォームに情報を挿入したい


sampleダウンロード

sampleデモ

かなり強引な方法を使ってますが、こんな方法もあるよと。
すべてのフォームをクリアにするクリアボタンも設置しました。

js側の表示
$(document).ready(function(){
$("code").click(function () {
var title1 = $(this).attr("title1");
var title2 = $(this).attr("title2");
var title3 = $(this).attr("title3");
$("#ls1").val(title1);
$("#ls2").val(title2);
$("#ls3").val(title3);
});
});
//クリアボタン
function del(){
$("#ls1").val("");
$("#ls2").val("");
$("#ls3").val("");
}

普通にやるならボタンを使ったほうがいいです。
というかかなり邪道な気がしてなりません。
同じ事を、もっと素敵に出来る方法を知っている人がいたら是非教えてください。


どいうわけで今回の7つのsample全てが収納されたZIPは以下。
sampleダウンロード


それでは、また。

yamada
Posted byyamada

Comments 5

There are no comments yet.

hoge  

IE7はAjaxでローカルファイルの読み込みできなかったような気がします

2008/04/18 (Fri) 07:40

mo  

ダウンロードしたものを試しに自分サーバーにアップしたら正常に見れましたよ。
サーバーの言語の違いかな?

2008/04/18 (Fri) 07:51

名前を名乗れない人  

なるほど、jQUeryを分かってない人はこういう書き方をするんですね。

2008/04/18 (Fri) 10:21

umitanuki  

charset=none

load.htmlがcharset=noneで吐かれてます。
>>IE7問題。

2008/04/18 (Fri) 14:27

aaa  

1.2.1

最新版使ってないのはどういう意図なんでしょう?

2008/04/21 (Mon) 11:01

Leave a reply

Trackbacks 4

Click to send a trackback(FC2 User)
この記事へのトラックバック
  • 技術系ネタはumitanuki::quartetに書くことにしてるけど、たまにはこっちに書いてみよう。 親子丼セット食べたら眠くなってきたので仕事放棄でネットみてたら、 一晩で覚えるjQueryの逆引き基礎サンプル7つ*ホームページを作る人のネタ帳 追記:ほんとすいませんローカルで

    2008.04.18 (Fri) 15:01 | umitanuki日記
  • JavaScriptライブラリといえばjQuery。 短いコードで簡単に今までや...

    2008.04.19 (Sat) 18:56 | Web制作会社が届ける情報サイト:EXアーカイブ
  • HTMLやCSSが出来てもjavaScriptが出来ない自分のために勉強タイムで...

    2008.08.02 (Sat) 22:08 | ma-creators
  • スパイスラボ神部です。 OpenSocial アプリの開発を効率かするために、jOpenSocial か opensocial-jquery のどちらかを使いた...

    2009.04.28 (Tue) 11:27 | ラボブログ