私はGPS座標(一度)を取得し、彼/彼女と私がページに表示しているレストランのリストとの距離を計算するjavascriptを書いています。最大コールスタックが超過
$(document).bind("DOMNodeInserted", function(e) {
if($('#user-gps').length) {
$('.restaurant').each(function(index, value) {
var lat = $(value).find('.latitude').attr('data-src');
var long = $(value).find('.longitude').attr('data-src');
var distance = geolocator.calcDistance({
from: {
latitude: $('#user-gps').attr('lat'),
longitude: $('#user-gps').attr('long')
},
to: {
latitude: lat,
longitude: long
},
formula: geolocator.DistanceFormula.HAVERSINE,
unitSystem: geolocator.UnitSystem.METRIC
});
var string = Math.round(distance * 10)/10 + "km";
var restaurantTitle = '#restaurant-' + index + ' .restaurant-title';
//$(restaurantTitle).append(string);
//
console.log($(restaurantTitle));
//console.log($(value).find('.restaurant-title').text() + " - " + Math.round(distance, -1) + "km");
$(restaurantTitle).append('<span>' + string + '</span>');
});
}
});
私は各レストランをループして距離を計算します。その後、3.2kmの値を表示するように文字列をフォーマットします。私はそれからDOMにこれを追加したいと思います。
$(restaurantTitle).append('<span>' + string + '</span>');
はできるだけ早く私はこれを試してみて、私は最大コールスタックはコンソールでエラーを超過取得します。
私は、現在繰り返している要素を選択していることを確認するためにいくつかの方法を試しました。私はそれぞれのレストランにユニークなIDを与えたことさえある。セレクタは正常に動作しますが、エラーが発生することなく文字列を追加することはできません。
ご迷惑をおかけして申し訳ありません。
やりたいためにあなたのロジックを再考し、いくつかの他のイベントや方法を見つける必要があり**実行可能を投稿してください** [MCVE]の質問にスタックスニペット( '<>'ツールバーを使用してボタン)。これにより、人々は問題を見て解決するのを助け、必要なすべてのコンテンツがオンサイトに確実に届くようにします。 –