0

我有一个 JSON,其中包括以下内容,

OverlaySpaceID = 1, id = "example-overlay1", px = 0, py = 0, width = 100, height = 100, className = "highlight" ,location = "https://www.google.co.in"

我使用以下代码解析 json,

 $.ajax({
     type: "Get",
     async: false,
     dataType: "json",
     url: '***/OverlayJson',
     success: function (data) {
         over = data;
     },
     error: function (httpReq, status, exception) {
         alert(status + " " + exception);
     }
 });

我在 dzi 图像中使用 JSON 如下

OpenSeadragon({
    id: "example-zoomit-tilesource",
    prefixUrl: "openseadragon/images/",
    tileSources: [{
        Image: {
            xmlns: 'http://schemas.microsoft.com/deepzoom/2008',
            Url: "http://cache.zoom.it/content/WwI0_files/",
            Format: 'jpg',
            Overlap: "0",
            TileSize: "256",
            ServerFormat: "Default",
            Size: {
                Width: "5816",
                Height: "3961"
            }
        },
        overlays: over //json 
    }, ]
});

JSON 被映射到一个天珠图像作为叠加层。当我点击它时,我需要 JSON 中“位置”字段的值。

jQuery(function () {
    setTimeout(bindtooltip, 2000);
});

function bindtooltip() {

    jQuery('.highlight').click(function () {

        var status = $(this).attr('id') //works fine
        var loc = $(this).attr('location') // not working
        alert(status);
        alert(loc);
        // window.location.href=loc;
    });
}

我怎样才能获得位置?

请看链接

4

1 回答 1

0

我通过将我的 bindtooltip() 函数更改为以下函数获得了输出:

 function bindtooltip(){ 

         jQuery('.highlight').click(function(){

                    var status = $(this).attr('id');
                       alert(status);

   $.getJSON('***/OverlayJson', function(data) {
              var items = [];
               $.each(data, function(e) {
                  if(status ==$(this).attr('id'))
                              { items.push(data[e].location);
                                       window.location.href =items;
                               }
                  });


           });
于 2013-07-22T06:36:43.640 回答