1

我正在使用带有 Flash AS3 的 SlideShowPro,并且我有以下代码:

function onSlideShowClick(event:SSPImageEvent) {
  if (event.type == "imageClick") {
    // modify the link for when the image is clicked.
  }
}

单击图像时如何修改链接?可以在这里做吗?别处?

4

2 回答 2

1

你可以试试这样的事情......

var currentLink:String = "";

function onSlideShowData(event:SSPDataEvent) {
  currentLink = event.link;
}
my_ssp.addEventListener(SSPDataEvent.IMAGE_DATA, onSlideShowData);

function onSlideShowClick(event:SSPImageEvent) {
  if (event.type == "imageClick") {

    // Alter the image link
    currentLink = currentLink + "?someparam=somevalue";

    // Send the user to the altered url.
    flash.net.navigateToURL(currentLink);
  }
}
my_ssp.addEventListener(SSPImageEvent.IMAGE_CLICK, onSlideShowClick);

每当图像更改时,它基本上都会将当前link(假设您在 xml 中定义一个)存储到一个变量中。然后,当您单击图像时,它仅使用标准navigateToUrl()方法。

现在,我怀疑这会起作用,因为您无法SSPImageEvent在处理程序函数中取消 from,因此我认为 SSP 只会navigateToURL()在处理程序执行后立即在 xml 中定义的任何内容上触发该函数。但是试一试。

于 2010-03-19T18:22:38.027 回答
0

我最终在 API 文档的帮助下解决了这个问题。

public function onSlideShowData(event:SSPDataEvent):void {
  if (event.type == "imageData") {
    // Modify the image link.
    event.data.link = "http://somedomain.com/?url=" + escape(event.data.link);
  }
}
my_ssp.addEventListener(SSPDataEvent.IMAGE_DATA, onSlideShowData);

参考 API 文档:http ://wiki.slideshowpro.net/SSPfl/API-AS3Event-imageData

于 2010-03-19T19:11:15.133 回答