0

jQueryでトグルスイッチを作成しました。マーカーをクリックするとサイドバーが画面内にスライドし、同じマーカーをクリックするとスライドして戻ります。しかし、画面に複数のマーカーがあり、別のマーカーをクリックすると、アニメーションが内側にスライドし続けるため、サイドバーが大きくなります。私が望むのは、マーカーをクリックしたときにサイドバーが同じサイズのままであることですが、私が自分で試したものではそれを達成できません。コード:

   google.maps.event.addListener(marker, 'click', function() {
                infowindow.open(map,marker);

                if(windowOpen)
                {

                    sidebar.animate({ 
                        width: "-=300px" 
                    }, 500, function()
                    {
                        console.log('complete');
                    });


                 windowOpen = false;

                }
                else
                {
                    sidebar.animate({ 
                        width: "+=300px" 
                    }, 500, function()
                    {



                    });

                    windowOpen = true;
                }



              });

誰かが私を正しい方向に向けることができますか?

どうもありがとう!

4

1 に答える 1

0

windowOpeneventHandler の外で定義していないようです。したがって、クリックするたびに windowOpen が未定義になり、elseコードが実行されます。これを試して:

var windowOpen = false;

google.maps.event.addListener(marker, 'click', function() {
  // your code
}
于 2013-11-07T20:30:21.403 に答える