• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:function (el)のelってなんですか?)

JavaScriptのfunction (el)のelってなんですか?

bornlessの回答

  • ベストアンサー
  • bornless
  • ベストアンサー率46% (7/15)
回答No.2

これはfunctionの定義を行なっている箇所です。 そのため、実際にこのfunctionが呼ばれている箇所では、elではなく他の値が入っていると思います。 例示されているTiny Scrollingのコード( http://www.centralscrutinizer.it/en/download/tinyscrolling.js )では、 --------------- initScroll: function(e){ var targ; if (!e) var e = window.event; if (e.target) targ = e.target; else if (e.srcElement) targ = e.srcElement; tinyScrolling.hash = targ.href.substr(targ.href.indexOf('#')+1,targ.href.length); tinyScrolling.currentBlock = document.getElementById(tinyScrolling.hash); if(!tinyScrolling.currentBlock) return; tinyScrolling.requestedY = tinyScrolling.getElementYpos(tinyScrolling.currentBlock); tinyScrolling.scroll(); return false; }, --------------- この箇所でgetElementYpos(tinyScrolling.currentBlock)が呼ばれていますが、ここではtinyScrolling.currentBlockがelに当たります。 もしfunctionと引数の関係がわからないのであれば、参考URLを参照してみるといいと思います。

参考URL:
http://ja.wikipedia.org/wiki/%E5%BC%95%E6%95%B0
otyanoco
質問者

お礼

ありがとうございます。 elがこのコード内のどこから取ってきた物なのか分かり、処理の流れを掴むことができました。

関連するQ&A

  • 関数の作成は・・・?

    今までVBAやjavascriptを使ってきたのですが、少しづつVisual StudioでC++を覚えようと思います。 そこで、VBAやJSで使ってきた、「function 関数名(引数)」というのはC++だとどういう記述になるのでしょうか?JSだと 関数の作成----------------------------------  function getSecond(hour, min, sec)  {   var answer = hour * 3600 + min * 60 + sec;   return(answer);  } ここまで------------------------------------ 関数の利用----------------------------------  document.write(getSecond(12, 34, 56)); ここまで------------------------------------ で値が返ってきます。 どうもクラスというのがVBAやJSにはないのでこのクラスがそうなのかと思うのですがいまいち読んでいてわかりません…。 上記のような単純な例だとどのように記述するのですか? 非常に単純な質問ですみません…。

  • TABLEタグ内に入った項目の座標取得について

    オブジェクトの座標位置を取得する"offsetTop"はTABLEタグ内のものには使えないとありました。 (参考質問URL:http://oshiete1.goo.ne.jp/kotaeru.php3?q=1556067) 参考URLの回答例を見ながら、簡単なソースを組んでみたのですが、結果が「0」となってしまい値がとれていません。 (TABLEタグにはいっていなければ取得できます) 何がいけなくてこうなってしまっているのかわからず、大変悩んでいます。 お分かりになられる方、ご教授お願いいたします。 (文字数制限の関係で、インデントがとれてません。みにくくてごめんなさい) <xmp> <html> <head> <script language="JavaScript" type="text/javascript"> <!-- function absOffsetTopR(el){ if(el.offsetParent.tagName.toLowerCase()=="body"){ return el.offsetTop; }else{ return el.offsetTop+absOffsetTopR(el.offsetParent); } } function absOffsetTop(id){ var el=document.getElementById(id); if(el.offsetParent.tagName.toLowerCase()=="body"){ return el.offsetTop; }else { return absOffsetTopR(el); } } //--> </script> </head> <body> <form name="fm_test"> <table name="testTable" border="1" width="150"> <tr> <td align="center"> <input type="text" size="20" name="testText"> <script language="JavaScript" type="text/javascript"> <!-- zahyo = absOffsetTop("testText"); document.fm_test.elements["testText"].value=zahyo; //--> </script> </td> </tr> </table> </form> </body> </html> </xmp>

  • 別ファイルのfunctionの読み込み方

    こんにちは 外部ファイル hello.js ----------------------------- function aisatsu(){ var aa="hello" } ----------------------------- というファイルが存在した時にjikkou.htmlでaaの値、”hello”を呼び込みたい場合はどう記述すればよいのでしょうか?htmlのなかでaisatsu()をどこに記述していいのか分かりません。どうか教えてください。ただ、hello.jsのほうは実際の記述を簡略化したものであるのでそちらのほうはいじれません。 宜しくお願いします。 必要ないかもしれませんが、念のために私が最初に書いたhtmlの文です(もちろん実行できませんでした) ------------------------------------ <html> <script language="javascript" src="hello.js"> aisatsu(){ document.write(aa); } </script></html> ------------------------------------

  • n次式を手入力から自動変換にしたい

    n次式を手入力から自動変換にしたい。 たとえば、 var y = x³(x-5)² / 27; 現在は、式を手入力しています。 function test1(x){ var y = x * x * x * (x-5) * (x-5) / 27; return y; } これを自動変換して、次のようにしたい。 function test2(x){ var y = □□□□□□□□; return y; } for~ループ、または while文などを使ってできますか? わかる方、ご教示ください。

  • 引数なしの関数で疑問です

    とほほのjavascriptで勉強しています。 http://www.tohoho-web.com/js/function.htm#objFunction ここの function goukei() { var ans = 0; for (i = 0; i < goukei.arguments.length; i++) { ans += goukei.arguments[i]; } return(ans); } sum = goukei(1, 2, 3, 4, 5); goukei関数を定義したときの引数は、なしなのに goukei関数を呼び出すとき、goukei(1, 2, 3, 4, 5)と、このように5つも引数を指定しています。 Javaでは、こんな呼び出し方をすれば、コンパイルエラーになりますよね。 javascriptでは、引数なしで関数を宣言しても、呼び出すときに、好きな個数の引数を渡せるのですか? 「javascript 引数 省略」とか、「javascript 引数なし」とかいろいろググッてみたのですが 肝心の、javascriptでは引数なしにして宣言しても、呼び出すとき、好きな個数の引数つけて呼び出しても大丈夫。みたいな、確認したい記述はみつかりませんでした。 javascriptでは、このような書き方もできるということでしょうか。

  • 【javascript】『-』や『+』を再定義したい。

    引数にエレメントを指定するとエレメントの座標を返すfancitonを作りました。(行頭は全角スペースです。) function getLocation(element){  var x=0,y=0,p=element;  while(p){   x+=p.offsetLeft - p.scrollLeft;   y+=p.offsetTop - p.scrollTop;   p=p.offsetParent;  }  return {x: x,y: y}; }; たとえば、これを以下の様にして使うのですが、 locA=getLocation(getElementById("AAA")); locB=getLocation(getElementById("BBB")); locAとlocBの差分を求めたいとき、 def={x: (locA.x - locB.x),y: (locA.y - locB.y)} といちいち書かなくてはならず面倒です。 fanciton def(a,b){ return {x: (a.x-b.y),y: (a.y-b.y)}; }; のようなfancitonを作れば少しは楽になるでしょうけど、 def = locA - locB; と書けるようになると、イイなぁと思います。 {x: x,y: y}と定義したオブジェクトに対する『-』や『+』を再定義する事はjavascriptでは、できないものでしょうか?

  • JS 親functionのフィールドを参照したい

    ボタンをクリックすると、任意の文字がalertで表示されるHTMLを生成するプログラムをJavaScriptで(JQueryを使用しています)書いています。 イメージは、 <button onclick='alert(任意の文字列)'>CLICK ME!</button> のようなHTMLです。 JavaScript部分は以下です。 var ButtonMaker = function(msg){    this.msg = msg; } ButtonMaker.prototype = {    getButton: function(){       var button = $('<button>').text('CLICK ME!');       button.click(this.eventMaker());       return button;    },        eventMaker: function(){       var that = this; // ←これをしたくありません       return function(){          alert(that.msg);       }    } } // 以下のようにして使います var bmaker = new ButtonMaker('This is a message.'); $(document.body).append(bmaker.getButton()); 上記のコードを実行すれば、自分の思い通りの動きになります。ですが、eventMaker()メソッドが気に入りません。var that = thisをしたあと、that.msgなどとして参照しないといけないのが嫌です。 また、以下のコードのようにeventMaker()にmsgを引数に渡すのもあまりしたくありません。なぜなら、実際はButtonMakerのフィールドがもっとたくさんあり、それらのいくつかを参照するからです。 eventMaker2: function(msg){   return function(){     alert(msg);   } } よろしくお願いします

  • javascript引数

    文字列(a)を入れると、ある文字を返してくれるロジックを作成したのですが 1.jsの中身。 ************************************** function test(a){var i 省略 a.charAt(i);}return s;} ************************************** http <script type="text/javascript" src="1.js"></script> ~ ここで、引数のaに値を渡して、返してもらうのは、 この後、どのようにコーディングすれば宜しいですか。 すみませんが宜しくお願いします。

  • 関数とarguments配列

    ●質問の主旨 下記サイト、CodeStudyによる JavaScriptの関数とarguments配列の 使い方に関する問題に対する 答えとなるコードの記述が分かりません。 どなたかアドバイスをお願いします。 CodeStudy 関数その2 3.arguments その3 http://jeek.jp/study/section18/3 ●問題文 関数checkが定義されています。 check内のif文により、引数が3つ以外の際は、 outputで"引数が3つではありません。"と出力させましょう。 function check(x, y, z) { if() { output("引数が3つではありません。"); } } check(1, 2, 3, 4); ●自分で作った途中経過 resultやreturnの使い方がよく分かりません。 function check(x, y, z) {  var result = 0; if(arguments.length !== 3) { output("引数が3つではありません。"); } return result; } check(1, 2, 3, 4); output(check); ●コードの条件(ヒント) argumentsは、引数を格納する配列で、 argumentsを使うと引数をいくつでもとることが出来ます。 また、argumentsは配列なので、 .lengthを使うと長さが求められます。

  • <body>にwindow.onload = functionを2つ設定すると、最後に書いたイベントだけが実行されてしまいます。

    <body>タグにonloadイベントを実行させる2つの外部jsを<head>内に設置し実行すると、 最後に記述したイベントだけが反映されてしまいます。 http://blog.webcreativepark.net/2008/02/26-185844.html を参考にいろいろといじってはみたのですが、 function addEvent(elm,listener,fn){ try{ elm.addEventListener(listener,fn,false); }catch(e){ elm.attachEvent("on"+listener,fn); } } js初心者でして、上の関数の中にどのように記述をすれば良いのかわかりません。 IE6・IE7・safariで動作させるには、実際にどのようなソースを書けばいいのでしょうか。 どなたかご教授いただけますでしょうか。 <head>内の外部jsは、以下のように記述しました。 <script src="/A.js" type="text/javascript"></script> <script src="/B.js" type="text/javascript"></script> </head> 外部jsのソースは以下になります。 //A.js window.onload = function() { var blur = function () { this.blur() }; for (var i = 0; i < document.links.length; i++) document.links[i].onfocus = blur; } //B.js window.onload = function() { prepZooms(); insertZoomHTML(); zoomdiv = document.getElementById(zoomID); zoomimg = document.getElementById(theID); } 以上になります。宜しくお願い致します。