AS自学
[20050125]
1.”_root.**”为对根对象(//主场景)中的元素状况进行控制;
//我原以为只能对主场景中进行控制的,也许是吧,我还没试过多于两层的控制呢.
2.”_parent.**”对本对象中的元素的自身之上层(//上级对象)内部状况进行控制;
//原解中说是对父对象的控制,可我怎么觉得听得不明不白呢?还不如按我自己所说的,控制下级对象.
3.对于”动态文本”的显示控制,只需要将name(//文本变量名)=”*”或name=**(//”**”为变量名)即可;
4.那种按钮很缓和的松开变回,其实就是用一个MC实现的.既用rollOver(滑入)和rollOut(滑出)
5.屏蔽右击:getURL(”FSCommand:showmenu”, false);和getURL(”FSCommand:allowscale”, false);
6.鼠标动作:
press点击; release释放; releaseOutside释放离开; rollOver指针经过; rollOut指针离开; dragOver拖放经过; dragOut拖放离开; keyPress”__”按键;
7.隐藏手形指针: MC.useHandCursor=false;
8.控制剪辑帧位:MC._currentframe(通过MC的此属性,可以得知该MC所在的帧.这样就可以对此MC的帧进行控制了.
9.一个很好的来回播放MC的例子:
[code]onClipEvent (load)
{
this.stop();
}
onClipEvent (enterFrame)
{
if (_root.bh02 == “forwards”)
{
this.gotoAndStop(this._currentframe + 1);
}
if (_root.bh02 == “back”)
{
this.gotoAndStop(this._currentframe - 1);
}
}[/code]
事先要设定变量bh02,以便确定其是否被播放过.而在MC中,要加上将b02改过的变量附值.最好是用按钮触动,如:
[code]on (rollOver)
{
_root.bh02 = “forwards”;
}[/code]
还可以设定多个MC播放,用多个变量来控制就是.
10.loading下载比例(20060317)
方法一:文件大小
[第1帧]

程序代码
i=_root.getBytesTotal();
[第2或3帧]

程序代码
j=_root.getBytesTotal();
[第3帧]
[code]if(j==i){
gotoAndPlay(4);
}
else
{
gotoAndPlay(2);
}[/code]
方法二:帧数
已下载帧数:_framesloaded
所有帧数:_totalframes
方法三:(获取)已下载帧数
[code]ifFrameLoaded(_totalframes){
gotoandplay(3);
}else{
gotoandplay(1);
}[/code]
方法四:已播放时间数(gettimer()单位的是微秒)
[code]text=gettimer()/1000;
if(text>=10){
gotoandstop(3);
}else{
gotoandplay(1);[/code]假设此程序位于动画的主场景的第二帧。那么当开始播放10秒钟之后才会正式开始播放,不然只会在第一帧与第二帧之间循环。
常识+FL与JS结合
1.flash全屏:
[code][/code]
2.flash关闭窗口:
[code]on (release) {
getURL(”javascript:window.close();”);
}[/code]
3.标准的三种
[code]
Jul 06
现在XHTML都学不来,讲HTML的老问题显得有些过时了?
未然吧,至少我现在还在用HTML中的table在布局……
发现同事也不是我想的那么不济,有些地方,还是让我有收获的。
关于页面加载的问题,我得知了如下两点:
1.table在页面加载时,会是整个table内容出来之后,页面才会显示这个table中的内容。
也就是说,在大的页面中,最好不要用一整个table把所有的内容框起来。
那要是必须用到,又怕加载困难呢?那就看下一点。
2.tbody用在table紧贴之间,可以将页面加载时,table以行tr显示。
也就是说,加上tbody标记后,table中的页面内容,会逐行显示。
我问他是否确信?从何得知。他说是从“经典论坛”上知道的。
吓!原来是我太不爱研究问题了……
不过,程序员GG又有意见了,他用.net做页面模板,.net的2003版开始,就已经不支持tbody这个属性了。 而且,许多浏览器对其支持也不好。
看在我们还未达到Web2.0标准的份上,他答应在生成HTML页面时,依我们的方法加上tbody。
不过这一定不是长久之计。
将来随着XHTML的深入,一切烦恼的问题会被简单话。
而原本简单的问题,在许多人看来却变得麻烦了吧?
我不怕,因为对CSS还是存着那么多兴趣和已知知识的。至少在同事面前秀了一小小,颇有发现,原来我懂的已经比别人多了……当然,我知道,一定还是懂得不够精的。
加油!
Jun 23
其实CSS对象命名想要实用,首先该提的是要英文好一点。可惜我没有这个底子,于是就一直按着自己的层次和命名:
[命名]
1.命名和表达相一致。
像是标题,英文用title;新闻,英文用news;表单,英文用list;菜单用menu。
2.如果命名中的代表涵义英文,和HTML的标记、属性和值的英文相冲突,那么就在该命名后面加上一个数字。
我一般把通用的类名,在英文后加上“0”(其实想想也没什么原因,就是突然习惯了。)
像“.title0”表示的是所有具有相同属性
把ID加上其包含的内容所要表达的内容主题。如新闻下面的新闻条目列表。叫“#news_list”
3.CSS2.0里的命名规范,我记得的不太多。但是,有两点值得一提。
一是CSS命名的大小写要非常注意。页面中运用的名称,和CSS定义的名称,是区分大小写的。所以,我一定都用小写。除非是用到特别的简写代码时才用到大写。
二是多个单词才能表达出对象名称的时候。2.0中的两种方法是把英文单词写在一起,每个单词开头字母大写,或是全小写,用下划线“_”把英文单词连起来。
因为我一直都用小写,所以就用下划线来区分单词。
[层次]
1.什么情况下用ID,什么情况下用class。我觉得这里许多人有个误区,就是觉得用得多的叫class,只用一次的用ID。
我的建议和习惯是,在一个首页试的页面中,很明显的把内容分成了几个块。如果每个块都有其特性又相互之间有些共性。就果断一些的把每个块用上它们特别的ID(即能代表他们板块意义的英文单词或词组)。而其中相似的部分,再用到class。而相似的又有个别不同的,就定义到多层象。即:#IDname .classname{somestyle;}。我把其称为“准确定位”。
好处在于我们了解到整个ID,在页面中的含义,的确是一个内容板块,而不是一个只用到过一次的样式。
2.能够“准确定位”的样式,尽量定到全部层次。
像这样的层次#sub1 #content0 .title0 h3 a{color:#a00;}
如果只定义.title0 h3 a,也许像上一篇中提到的,a被统一定义了颜色,那这个样式效果就实现不了。而之后你调试,又没有发现代码中的输写错误(DW中的调试,只能调试语法错误,对出不来的效果,它可没功夫提示你。),就是不知道怎么样才能把效果弄出来。又多浪费了许多去尝试的时间。
所以,不如首先就把层次分明来,不要太懒了哦…个人认为,这里不能用“能省就省”的方法吧?
3.现在还处于从HTML+CSS向XHTML的转变的过程中。只能是尽是少用table,少用属性定义页面表现形式。而是转到CSS中去定义。哪怕多几层次的定义,修改这些样式在我看来也比在页面中查找替换属性来得容易。
当直接转向XHTML(并非我转不过来,只是工作上还没有完全向这方面转向)之后,相信我这两篇说到的大部分问题,根本就不是什么问题。
只要按Web2.0XHTML标准,习惯也会是更好,更合理,更规范的。
Recent Comments