krpano调用js的含有参数的方法

             krpano为我们提供了三种JavaScript的接口,分别是set,get和call。已经有很多这方面的介绍,不做详解。 如果要传js的函数到krpano中调用,也可以用call和set的方式,如:

 

krpano.set("hotspot[" layer "].onclick", "js(text_recall();)");

             这是为热点添加一个点击事件,事件是写在js代码中的,需要用到krpano提供的“js()”方法来引用这个你要传js的方法。这样写对于不含参数的js方法是可行的;但是如果是含参数的,而且你要传入的参数还是在js代码中声明的,那么就会遇到一系列的问题。

             这时要用到krpano和js的交互了,参考http://www.krpano360.com/waibu_javascriptjiekouactionshuomingwendang-jsfscommand/

        

jsget(variable,..JavaScript code..)
         获取JavaScript变量的值,并将其存到变量variable中,如果变量名不存在,则创建一个变量。


         所以,我们就可以先将js中的变量传到krpano中,再在krpano中调用,这样就不会存在变量不存在等一些古怪的问题了。

如:

这是我在js中声明的一个加载热点的函数,需要传入读取出的json格式的字符串。

function loadhotspot(jsontext) {
    var name=krpano.get("xml.scene");
    for (var i = 0; i < jsontext.length; i++) {
          。。。。。
        }
}
我要在全景的场景变换的时候调用这个函数,那么就需要将读取的jsontext传到krpano中,再调用:

krpano.call("jsget(jsontext,'jsontext1')");//传进krpano
var xml = '<events onloadcomplete="js(loadhotspot(get(jsontext)))"/>';
krpano.call("loadxml(" + xml + ");loadscene(scene_1);");

这样就解决了传递值,调用含参函数的问题。



  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值