Java Scriptにおいて、"this"はどういう働きをするのですか?なにぶん初心者なもので猿でもわかるくらい簡単に教えて頂ければありがたいです。お願いします。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

> Java Scriptにおいて、"this"はどういう働きをするのですか?



日本語そのままなんですが、「要素そのもの」を表します。

要素は、それにつけた名前でアクセスできるので、あるページ専用の関数を
書く上では、あまり this のありがたみを感じられないかもしれません。

でも、例えば、ボタンが複数あって、その内容に応じた処理を共通に記述で
きる、とか、スクリプト自体を外部のファイルに逃がして、複数のページで
共通な処理を書くとか、というときに、そのありがたみを感じることができます。

例えば、ボタンが押される度に、その値(ボタンの文字)を決まったテキスト
エリアに書き込むような場合を考えます。

<form name="FORM1">
<input type=text name="BUTTON_NAME" size=50>
<input type=button value="BUTTON1" onClick="document.FORM1.BUTTON_NAME.value='BUTTON1'">
<input type=button value="BUTTON2" onClick="document.FORM1.BUTTON_NAME.value='BUTTON2'">
<input type=button value="BUTTON3" onClick="document.FORM1.BUTTON_NAME.value='BUTTON3'">
</form>

でも良いんですが、onClick の処理が全部同じですよね。そういう時には、

<script>
function set_button_name(form, button) {
form.BUTTON_NAME.value = button.value;
}
</script>

<form name="FORM1">
<input type=text name="BUTTON_NAME" size=50>
<input type=button value="BUTTON1" onClick="set_button_name(this.form, this)">
<input type=button value="BUTTON2" onClick="set_button_name(this.form, this)">
<input type=button value="BUTTON3" onClick="set_button_name(this.form, this)">
</form>

というふうに、処理を関数に追い出せます。

この例だと、あまりありがたみが感じられないかもしれませんが、同じ処理が
複雑で何十行にもわたる、とか、複数のフォームで同様の処理をしなくては
いけないとか、というときに便利です。

# お猿さんに分かるかどうかは自信がありません (^^;
# 分からなければ、補足を。
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aと関連する良く見られている質問

Q「script」は台本という意味ですがjava scriptはjavaの台本?

よろしくお願いします。
javaとjava scriptは全く別物と聞きますが
そうであれば何故javaの台本という名前なのでしょうか?

「script」は台本とは別の意味なのでしょうか?

全くの素人です。ご教授よろしくお願いします

Aベストアンサー

人気上昇中のjavaの名前にあやかったscript言語。

スクリプト言語の由来はたぶん、台本じゃなくて脚本だと思います。

今ではほとんどのスクリプト言語に出来る事が増えすぎて、
脚本と呼べるほど単調な流れのプログラムだけでなく、様々なプログラムに使われるようになったため、
スクリプト言語という分類は意味をなさなくなったと思います。
(スクリプト言語に対する分類はおそらく「記述言語」、CやPascalなど)

QJava Scriptの件で質問をさせて頂きます。よろしくお願いいたし

Java Scriptの件で質問をさせて頂きます。よろしくお願いいたします。
よく、ホームページの一番下に「このページのトップへ」とか「HOME」などとあり、それをクリックすると、当該のページの一番上まで行くものがありますが、あれはJava Scriptを使っているのでしょうか
?私としては、出来るかどうかは不明なのですが、Java Scriptをcssのような感じで外部ファイルにして「このページのトップへ」を作成したいと考えております。どなた様かご指導のほどよろしくお願いいたします。
また、「このページのトップへ」にやはり何らかのリンクを張るのだと思いますが、その点に付きましてもご指導をどうかよろしくお願いいたします。

また、話は少し変わってしまうのですが、ロールオーバーをホームページの上部に横に並べて表示させたいのですが、このようなこともJava Scriptで出来るのでしょうか?現在はcssで試行錯誤している最中ですが、Java Scriptでも可能ならとも考え合わせてご質問をさせて頂きました。


どなた様か、ご指導のほどよろしくお願いいたします。

Java Scriptの件で質問をさせて頂きます。よろしくお願いいたします。
よく、ホームページの一番下に「このページのトップへ」とか「HOME」などとあり、それをクリックすると、当該のページの一番上まで行くものがありますが、あれはJava Scriptを使っているのでしょうか
?私としては、出来るかどうかは不明なのですが、Java Scriptをcssのような感じで外部ファイルにして「このページのトップへ」を作成したいと考えております。どなた様かご指導のほどよろしくお願いいたします。
また、「このページの...続きを読む

Aベストアンサー

>当該のページの一番上まで行くものがありますが、あれはJava Script
>を使っているのでしょうか
大抵のものはアンカータグではないでしょうか?
 <a href="#top">とか
 http://www.tohoho-web.com/html/a.htm

連続的にスクロールして戻るなんてのは、javascriptでやってる可能性が高い。


>ロールオーバーをホームページの上部に横に並べて表示させたいの
>ですが、このようなこともJava Scriptで出来るのでしょうか?
可能ですが、CSSだけでもできます。

ぐぐってみれば解説や例がたくさん見つかると思います。
(以下はごく一例)

単純なロールオーバー(CSS)の例
 http://hac-design.com/css/rollover.html

横並びナビゲーションの例(CSS)
http://css-happylife.com/log/css-template/000040.shtml

プルダウンメニューの例(CSS+javascript)
http://www.stylish-style.com/csstec/ultimate/css-roll-1.html

プルダウンメニュー(CSS)
(横)http://www.cssplay.co.uk/menus/final_drop.html
(縦)http://www.cssplay.co.uk/menus/example_flyout.html

>当該のページの一番上まで行くものがありますが、あれはJava Script
>を使っているのでしょうか
大抵のものはアンカータグではないでしょうか?
 <a href="#top">とか
 http://www.tohoho-web.com/html/a.htm

連続的にスクロールして戻るなんてのは、javascriptでやってる可能性が高い。


>ロールオーバーをホームページの上部に横に並べて表示させたいの
>ですが、このようなこともJava Scriptで出来るのでしょうか?
可能ですが、CSSだけでもできます。

ぐぐってみれば解説や例がたくさ...続きを読む

QJava Script

WEB作りに詳しい方に質問です。
HP作りをしておりまして、リンクからウィンドウが
小さく開く言語を教えてください。

もう1つFlashで画像から、次のリンク場所に飛ぶ Flashの
手順&言語も教えてくださるとありがたいです。

よろしくお願いしまーす。

Aベストアンサー

はじめまして。どういったときなのかもうちょっと詳細がほしいところなのですが、単純にリンク(文字)からウインドウが小さく開くということでいいのでしょうか?もしそうでしたら、以下のURLを参考にしてみてください。ほかの方法でも使える構文がいくつかありますので、おそらくbearbearさんが必要なのもあるかなと思います。
http://www.interq.or.jp/pink/taka1112/javascript/js_subwindow03.html

それからFlashですが、これは次のリンク場所ということですが、どういった状態のことなのか非常に分かりにくいです。ボタン形式になっているとかもっと具体的(2)質問されたほうがアドバイスしてくれる人もわかりやすいと思いますよ(^O^)
もし解決されていなようでしたら、OS、Flashのバージョン、具体的にどういったことをやりたいのか(参考にしているホームページがあればこういう形でFlashを使いたいなども一緒に添えるとアドバイスしやすいかもしれません)ぜひ補足してみてください。きっといいアドバイスがもらえることと思いますよ。

それでは頑張ってください。

はじめまして。どういったときなのかもうちょっと詳細がほしいところなのですが、単純にリンク(文字)からウインドウが小さく開くということでいいのでしょうか?もしそうでしたら、以下のURLを参考にしてみてください。ほかの方法でも使える構文がいくつかありますので、おそらくbearbearさんが必要なのもあるかなと思います。
http://www.interq.or.jp/pink/taka1112/javascript/js_subwindow03.html

それからFlashですが、これは次のリンク場所ということですが、どういった状態のことなのか非常に分かり...続きを読む

QJava Scriptでページを振り分け

お願いします、教えてください!

今までマルチドメインサービスで、2つのドメインについて同一のページを表示させていたのですが、今後はそれぞれ別のページに自動で振り分けたいんです。

例)http://www.aaa.co.jp/にアクセスした場合→yyy.htmlを表示させる
  http://www.bbb.co.jp/にアクセスした場合→zzz.htmlを表示させる

今までJavaScriptを書くときは、サンプルを見つけて何とかアレンジしていたのですが、サンプルが見つからなくて困っています。
一から勉強する時間もないのです。

すみませんが、どなたか教えてください!

Aベストアンサー

シンプルですが、こんなかんじでしょうか。

--JavaScript部分--
function selectPage(){
if (location.hostname=="www.aaa.co.jp"){
location.href="http://www.aaa.co.jp/yyy.html";
}else if(location.hostname=="www.bbb.co.jp"){
location.href="http://www.bbb.co.jp/zzz.html";
}
}

--bodyタグ--
<body onload="selectPage();">

QJava Scriptのカウントダウン

ホームページでJava Scriptを使って2007年1月1日0時0分0秒までのカウントダウンをしたいのですが、探してもテキストボックスの中に表示される物しか見つかりません。
テキストボックスの中ではなく、ページに直接表示するにはどのように組めばいいですか?
また、できれば2007年になった瞬間にカウントダウンを終了し(-○秒とか表示されたら怪しいですから)、「あけましておめでとうございます」と表示したいです。

Aベストアンサー

書き込みたい対象要素にidを設定して
テキストボックスにデータセットしているところを以下のように書き換えてみて。

<script内>
str = "作成した文字列"; // テキストボックスの中に表示用のを参照して作る
document.getElementById("id_name").innerHTML = str;

<書き込みたいタグ>
<div id="id_name"></div>

古いブラウザその他で、innerHTMLに未対応のこともあるけど、IEやmozilla系、operaの最近のは大丈夫です。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報