一聚教程网:一个值得你收藏的教程网站

热门教程

AS+JS的Flash网站无刷新定位技术

时间:2022-07-02 17:19:26 编辑:袖梨 来源:一聚教程网

1 新建一FLASH文档,保存为main.fla
2 然后,在FLASH里创建四帧,四个均为关键帧,
第一帧为空,写入代码stop();
第二帧放入静态文本Page 1,帧标签为page1,
第三帧放入静态文本Page 2,帧标签为page2,
第四帧放入静态文本Page 3,帧标签为page3,
3 插入一图层,放在最底,里头放上三个按钮。分别写上
on(release){
        gotoAndStop("page1")//跳转到指定的帧标签
        fscommand("setAddress","page1")//这是个FSCOMMAND命令,让FLASH去调用JS函数,函数将在JS里定义。
}

on(release){
        gotoAndStop("page2")
        fscommand("setAddress","page2")
}

on(release){
        gotoAndStop("page3")
        fscommand("setAddress","page3")
}

4 文件保存后,按照刚才的方法发布一个带FSCOMMAND跟踪的HTML文件。之后,建议在格式选项卡里把HTML选项的勾去掉。为了防止大意时,以后HTML文件手动加入的代码给覆盖掉。

5 用记事本打开main.html文件,找到//place your code here(代码放在此处),在这里输入
if(command=="setAddress"){
  document.location.hash=args//获得FLASH中FSCOMMAND传出的参数,并赋值给hash值,让地址栏在无刷新的情况下发生改变
}

6 测试HTML文件,可以看到点按钮之后,地址栏发生了改变。但是刷新页面后,FLASH显示的还是第一帧,因为在刷新页面的时候,没有一个命令让FLASH的页面发生跳转

7 为此,在main_DoFSCommand函数下面定义一个控制跳转的函数:
function setFlashPos(){
  main.TGotoLabel("_root",document.location.hash.slice(1))//让Flash跳转到地址栏#后面内容的标签名,之所以用slice(1),是因为JS读取出来的值是包含#的。所以要用slice(1)把#去掉。}

8 让刷新页面或者打开页面时调用该代码,就在body标签里加入onload=setFlashPos()
此时测试,就可以实现全FLASH站的无刷新地址跳转,达到FLASH站定位的目的了。

热门栏目