快速业务通道

用纯AS写滚动条

作者 佚名技术 来源 服务器技术 浏览 发布时间 2012-07-08
ndongtiao_mc.xiasanjiao_mc._rotation = 180;
//定位下三角形
gundongtiao_mc.xiasanjiao_mc.dingwei(0, gundongtiao_mc._height/2-gundongtiao_mc.xiafangkuai_mc._height/2);
///////////绘制滑块
//长宽矩形法绘制滑块矩形
gundongtiao_mc.createEmptyMovieClip("huakuai_mc", 5);
gundongtiao_mc.huakuai_mc.beginFill(huakuaibeijingse, huakuaitoumingdu);
gundongtiao_mc.huakuai_mc.changkuanjuxing(-gundongtiao_mc._width/2, 0, gundongtiao_mc._width, gundongtiao_mc._width, huakuaibiankuangcuxi, huakuaibiankuangse, huakuaibiankuangtoumingdou);
gundongtiao_mc.huakuai_mc.endFill();
//---------滚动初始化---------//
//滑块的初始高度,并记录
chushigaodu = Math.floor(gundongtiao_mc.xiafangkuai_mc._y-gundongtiao_mc.shangfangkuai_mc._y-gundongtiao_mc.shangfangkuai_mc._height);
//初始化滑块Y坐标,并记录
ychushiweizhi = gundongtiao_mc.huakuai_mc._y=Math.round(gundongtiao_mc.shangfangkuai_mc._y+gundongtiao_mc.
shangfangkuai_mc._height/2);
//小滑块不可见
gundongtiao_mc.huakuai_mc._visible = false;
};
//%%%%%%%%%%%%%%%%滚动代码%%%%%%%%%%%%%%%%%%//
//////////为父剪辑的文字域注册侦听器,以侦听在文字域产生变化时,也就是在文本被载入进来时,执行下面的代码。这样就不用担心代码执行顺序问题!
var zhentingqi = new Object();
wenben_txt.addListener(zhentingqi);
//当文字域载入完成时,为什么触发onScroller事件,而不是onChange事件?
zhentingqi.onScroller = function() {
trace("-------------------------");
trace("滚动总行数="+wenben_txt.maxscroll);
trace("当前行="+wenben_txt.scroll);
//判断滑块儿是否显示,并根据文本内容多少定义滑块高度
if (_parent.wenben_txt.maxscroll != 1) {
gundongtiao_mc.huakuai_mc._visible = true;
//定义一个高度因子,此因子随加载文本的增多,将无限趋向于1。
var gaoduyinzi = 1-(wenben_txt.maxscroll-1.5)/wenben_txt.maxscroll;
//初始化滑块的高度,它的最小高度定义为2象素。
gaodu = gundongtiao_mc.huakuai_mc._height=Math.floor(chushigaodu*Math.pow(gaoduyinzi, 1/6));
trace("滑块高="+gaodu);
}
//滑块滚动的总象素数
var zongxiangsu = gundongtiao_mc.xiafangkuai_mc._y-gundongtiao_mc.shangfangkuai_mc._y-gundongtiao_mc.shangfangkuai_mc._height-gundongtiao_mc.huakuai_mc._height;
//定义平均象素,每一行所包含的像素数,即文本域每滚动一行,滑块需要移动的象素数。
var pingjunxiangsu = zongxiangsu/(wenben_txt.maxscroll-1);
//定义平均行数,每一像素包含的行数,即滑块每移动一象素,文本域在理论上应当滚动的行数(尽管非整数行在视觉上没有反映)。
var pingjunhangshu = (wenben_txt.maxscroll-1)/Math.floor(zongxiangsu);
trace("滚动总象素="+zongxiangsu);
trace("平均象素值="+pingjunxiangsu);
///////////定义上按钮
gundongtiao_mc.shangfangkuai_mc.onRollOver = function() {
gundongtiao_mc.shangsanjiao_mc.shangse(jiluhuodongse);
this.onPress = function() {
this.onEnterFrame = function() {
wenben_txt.scroll--;
// 使滑块儿移动到相应的位置。
gundongtiao_mc.huakuai_mc._y = ychushiweizhi+pingjunxiangsu*(wenben_txt.scroll-1);
trace("滑块Y坐标="+gundongtiao_mc.huakuai_mc._y);
};
};
this.onRelease = function() {
delete this.onEnterFrame;
};
this.onRollOut = function() {
gundongtiao_mc.shangsanjiao_mc.shangse(jiluyuanshise);
};
};
//////

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号