我不会使用JavaScript调用从KRPANO检索热点。

使用以下内容,我将检索未定义的内容。

KRPANO XML代码段:

<hotspot name="spot0" style="hotspot_ani_white" ath="-25" atv="-10" />
<hotspot name="spot1" style="hotspot_ani_white" ath="-25" atv="-10" />


通过index.html加载的外部javascript文件:

$(function() {

  var krpano = $('#krpanoSWFObject')[0];
  var spotName = 'spot0';
  curSpot = krpano.get(hotspot[spotName]);
  console.log(curSpot)

});


欢迎任何帮助。提前致谢!

最佳答案

您已经很接近了。但是我不确定您能否在编写该元素时得到它。

首先,您应该将KRPano插件作为对象而不是HTML DOM元素:

    var myKRPano = $('#krpanoSWFObject'); // First way, no need of "[0]"
    var otherKRPano = document.getElementById("krpanoSWFObject"); // Another way


现在,您有了JS对象,只需调用“ get”方法。但是您应该知道“ get()”执行内部代码:因此,您必须将请求放置为字符串!例如,使用您自己的代码:

    var spotname = "spot0";
    var query = "hotspot['"+spotname+"']"; // i.e. "hotspot['spot0']"
    var myHotspot = myKRPano.get(query); // or myKRPano.get("hotspot['spot0']");


这将为您提供以下信息:

    Object { _type="hotspot",  DATA={...},  plugin={...},  plus...}


从那里,你可以要求

    > myHotspot.atv
      -10.5868612
    > myHotspot.name
      "spot0"


作为一般建议,在使用KRPano时,请不要在浏览器中使用调试工具。然后,您可以直接尝试您的代码并得到问题。
如果这样做,则会看到设置了“ $('#krpanoSWKObject')。get()”,而未设置“ $('#krpanoSWKObject')[0] .get()”。 :)

问候,

关于javascript - 如何使用Javascript从KRPANO检索热点,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35730210/

10-12 06:42