0

サーバーから取得した動的マーカー リストを実装しようとしています。ユーザーがボタンを非常に速くクリックすると (たとえば 0.5 秒/秒)、マーカーが大幅に遅れて (3 秒以上) 再表示されることに気付きました... ? 何が原因でしょうか?これが私のコードです。本当にありがとう ?

          $("a#userBookmark").click(function () {
              $.ajax({
                  type: "POST",
                  url: "Details.aspx/LoadUserBookmark",
                  data: "",
                  contentType: "application/json",
                  dataType: "json",
                  success: function (res) {
                      if (!res.d) {
                          window.location = "login.aspx?url=" + "<%= clsStringExtensions.base64Encode("Details.aspx")%>";
                      }
                      else {
                          $("#MapDetail").gmap3({
                              clear: {
                                  name: "marker",
                                  all: true
                              },
                              marker: {
                                  values: res.d,
                                  options: {
                                      draggable: false
                                  },
                                  events: {
                                      click: function (marker, event, context) {
                                          var map = $(this).gmap3("get"),
                                            infowindow = $(this).gmap3({ get: { name: "infowindow" } });
                                          if (infowindow) {
                                              infowindow.open(map, marker);
                                              infowindow.setContent(context.data);
                                          } else {
                                              $(this).gmap3({
                                                  infowindow: {
                                                      anchor: marker,
                                                      options: {
                                                          content: context.data,
                                                          maxWidth: 400
                                                      }
                                                  }
                                              });
                                          }
                                      }
                                      //                         mouseout: function () {
                                      //                             var infowindow = $(this).gmap3({ get: { name: "infowindow" } });
                                      //                             if (infowindow) {
                                      //                                 infowindow.close();
                                      //                             }
                                      //                         }
                                  }
                              }
                          });
                      }

                  },
                  error: function (errorObjString) {
                      var err = $.parseJSON(errorObjString.responseText);
                      alert(err.Message);
                  }

              });
          });
4

1 に答える 1

0

これは、ajax のサーバー側コードと関係があると思います。firebug や chrome 開発者ツールなどの Web インスペクターでリソースの読み込み時間を確認します。

于 2013-07-15T07:00:57.243 に答える