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 中的服务器端代码有关。在 web 检查器(如 firebug 或 chrome 开发人员工具)中检查资源的加载时间。

于 2013-07-15T07:00:57.243 回答