jQuery1.9でHTML内の特定の要素の位置を取得する関数を用意し、要素ごとに位置を取得しようとしているのですが、2回目に実行した分が以下のようなエラーになります。
Uncaught TypeError: target_pos is not a function at window.onload (test.js:7)
ソースは以下です。
HTML
1<div class="ow_ura"> 2hogehoge 3</div> 4 5<div class="ow_omote"> 6hogehoge 7</div> 8 9<div class="ow_ura"> 10hogehoge 11</div> 12
jQuery
1$(function() { 2 window.onload =function(){ 3 4 var ura_pos = target_pos('ow_ura'); 5 var base_pos = target_pos('ow_ura'); 6 } 7}); 8 9 10function target_pos(target_class){ 11 target_pos = []; 12 $('.'+target_class).each(function(key){ 13 target_pos[key] = $(this).offset().top; 14 }); 15 return target_pos; 16} 17
エラーの「test.js:7」というのが2回目に実行した行です。
取得される要素側に問題があるのかと思い、全く同じ要素を対象にしたのですが、やはりエラーになります。
対象要素が複数ある場合はそれぞれの位置を取得する必要があるため、eachメソッドを使っていますが、このあたりに問題があるように思うのですが、1回目は正常に処理できているため、原因が特定できていない状況です。
お気づきの点があればご教示いただければ幸いです。
どうぞよろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/01/10 07:40