作者etrexetrex (ETREX)
看板Flash
标题Re: [问题] flash与js中的lightbox作结合
时间Wed Sep 12 11:10:41 2007
※ 引述《etrexetrex (ETREX)》之铭言:
: 我想作一个按钮
: 按下後可以有JS的lightbox效果 => http://swf.com.tw/?p=76
: AS可以呼叫JS函数
: 但lightbox的使用语法却不是在JS里
: 以下是lightbox使用时的语法:
: <a href="XXX.jpg" rel="lightbox"> 123 </a>
: ^^^^^^^^^^^^^^
: 我试过用getURL('XXX.jpg" rel="lightbox'); 这是很天真的做法,结果当然不行...
: (把getURL()视为a href="")
: 我也试过用htmlText读上述html语法,但rel的部分好像不被读入...
: 而 lightbox.js 我看半天没懂. QQ
: 我不晓得 rel="lightbox" 跟 lightbox.js 之间的关系
: 也没找到 lightbox.js 读图的函数名称
: 如果可以知道rel="lightbox" 是呼叫 lightbox.js 的哪个函数
: 也许问题可以解决
自问自答:D
首先lightbox介绍:
http://www.huddletogether.com/projects/lightbox2/
问题:如何在FLASH内使用lightbox特效?
一般的lightbox使用方法是以html语法的<A>来写超连结图片到lightbox内
HTML => <A> => JS
^^^^^^^^ ^^^^^^^^^
这写在html里 这写在lightbox.js里
但是我们没办法在FLASH内做超连结到lightbox
AS => <A> => JS 此路不通
解:AS可以直接呼叫JS
AS => JS
AS呼叫JS范例:按下滑鼠跳出讯息视窗,内容为XD
import flash.external.*;
onMouseDown = function(){
ExternalInterface.call("alert", "XD");
}
JS部分:
在lightbox.js当中发现执行lightbox读图的函数名称为myLightbox.start(imageLink)
参数imageLink是<A>标签物件
我们新增一个函数 flashstart(href,title) 在start後面
将读到imageLink的部分全部改成href跟title两个变数
因详细部分不好说明因此附上修改後的程式码:
http://web.ntust.edu.tw/~B9409041/link/lightbox-flash.txt
AS部分:
将刚刚写好的flashstart宣告成AS函数使用
import flash.external.*;
function lightbox(href,title)
{
ExternalInterface.call("myLightbox.flashstart", href,title);
}
href是要读的图片档案路径,例如范例中"images/image-1.jpg"
title是lightbox的标题
--
http://etrex.blogspot.com/
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 125.226.176.28
1F:推 icedesign:^_^推! 09/12 13:51
2F:推 liveinlow:^_^推! 09/15 03:19