私は流星アプリをやっています。データベースの詳細に基づいて Google マップに表示される動的なインフォボックスがいくつかあります。内部のデータが変更されたときに、インフォボックスのカスタム div に jquery 効果を与えようとしています。問題は、jquery 効果関数が機能していないことです。これは、div 要素の作成が完全に機能していないように見えるためです。setTimeout と Meteor.defer を使用してみましたが、まだ機能していません。この状況を克服するには?
Template.myTemplate.rendered = function() {
//some code
if (!rendered) {
//map rendering code
this.rendered = true;
}
for (var i = 0; i < count; i++) {
//some code
var elem = document.createElement("div"); //custom div to be used in infobox
elem.id = i+'_div'; // id is dynamic
elem.innerHTML = '<div><b>' +some_data +'</div>';
var elemInfoBoxOptions = {
content: elem,
disableAutoPan: false,
maxWidth: 0,
pixelOffset: new google.maps.Size(-20, 0),
zIndex: null, boxStyle: {opacity: 1, width: "100px"},
infoBoxClearance: new google.maps.Size(1, 1),
visible: true,
pane: "floatPane",
enableEventPropagation: false,
closeBoxURL: ''
};
var elemInfobox = new InfoBox(elemInfoBoxOptions);
elemInfobox.setPosition(new google.maps.LatLng(latitude, longitude));
elemInfobox.open(map);
$("#"+i+"_div").effect('highlight', {color: 'red'}, 1000); //Tried putting this code inside setTimeout and Meteor.defer. Did not work.
}
};
ありがとう。