我在Flash AS3中使用SlideShowPro,我有以下代码:
function onSlideShowClick(event:SSPImageEvent) {
if (event.type == "imageClick") {
// modify the link for when the image is clicked.
}
}
如何修改单击图像时的链接?可以在这做吗?别处?
答案 0 :(得分: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
(假设您为defined one in the xml)存储到变量中。然后,当您单击图像时,它只使用标准navigateToUrl()
方法。
现在,我有一些疑问,这会有效,因为你无法从处理函数中取消SSPImageEvent
,因此我认为SSP只会触发navigateToURL()
函数在处理程序执行后立即在xml中定义的内容。但试一试。
答案 1 :(得分: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