私はウェブデザインの初心者であり、どん底に突き落とされています。この 2 週間で、マップ外のリンクをクリックするとマーカーと情報ウィンドウがポップアップするカスタム Google マップを作成することができました。
----- map.js
function triggerClick(id) {
google.maps.event.trigger(gmarkers[id],"click")
};
function createMarker(latlng, html, id) {
var contentString = html;
var marker = new google.maps.Marker({
position: latlng,
map: map
});
google.maps.event.addListener(marker, 'click', function() {
infowindow.setContent(contentString);
infowindow.open(map,marker);
});
gmarkers[id] = marker;
}
今、jqueryを使用する別のスクリプトを使用して、クリックしたリンクからページをマップに移動するアニメーション視差スクロールを実装する別のスクリプトと組み合わせようとしています。これも機能しますが、マーカー + 情報ウィンドウのポップアップは発生しません。必要なのは、スクロールが終了した後にポップするマーカー + 情報ウィンドウです。
----- scripts.js
jQuery(document).ready(function ($) {
$(window).stellar();
var chartLink = $('.chart').find('li');
slide = $('.slide');
htmlbody = $('html,body');
function goToByScroll(dataslide) {
htmlbody.animate({
scrollTop: $('.slide[data-slide="' + dataslide + '"]').offset().top
}, 2000, 'easeInOutQuint');
}
chartLink.click(function (e) {
e.preventDefault();
dataslide = $(this).attr('data-slide');
goToByScroll(dataslide);
});
});
私がターゲットにしようとしている HTML リンクは次のとおりです。
----- index.html
<ul class="chart">
<li>
<a data-slide="3" href="javascript:triggerClick('bond')">Bond Street</a></li>
<li><a data-slide="3" href="javascript:triggerClick('barbican')">Barbican</a>
</li>
</ul>
私が理解している限りでは、同じクリック イベントが 2 つの異なるイベントを同時にトリガーしています。1 つは triggerClick 関数から、もう 1 つは goToByScroll 関数からです。
私は何日も解決策を探し、多くのこと、特に callback() を試してきましたが、個別のスクリプトを扱うことは私の揚げられた頭脳を超えています。誰か手を貸してくれませんか。
ありがとう!