再次更新!MSClass (Class Of Marquee Scroll通用不间断滚动JS封装类 Ver 1.6)

/*MSClass (Class Of Marquee Scroll通用不间断滚动JS封装类) Ver 1.6*\

 制作时间:2006-08-29 (Ver 0.5)
 发布时间:2006-08-31 (Ver 0.8)
 更新时间:2007-01-31 (Ver 1.6)
 更新说明: + 加入功能 * 修正、完善
        1.6.070131
                + 禁止鼠标控制暂停或继续 (将第9个参数设置为-1或者动态赋值将ScrollSetp设置为-1)
                + 判断是否可以滚动 (若内容区域小于显示区域,则自动取消滚动)
                + 跳过初始化错误 (避免引起其它滚动的停止)
                + 默认值 (除容器ID必选外,其他参数均可根据情况进行选择设置)
                + 参数动态赋值 (方向可用英文表示top|bottom|left|right,使其更直观、方便)
                * 文字滚动不准确 (本次更新主要目的解决此Bug,感谢周珺参与测试)
        1.4.061211
                + 鼠标悬停改变滚动方向 (鼠标悬停控制左右滚动)
                * 由于文档下载过慢而导致获取的高度/宽度不准确
                * 浏览器兼容问题 (IE、FF、Opera、NS、MYIE)
        1.2.060922
                + 指定范围间歇滚动
                * 程序调整
                * 连续间歇滚动停止的错误
        1.0.060901
                + 向下、向右滚动
                + 开始等待时间
                + 连续滚动
                * 调整时间单位
                * 滚动误差
                * 随机死循环
                * 加强性能
                * 程序优化
        0.8.060829
                  翻屏不间断向上、向左滚动

 演示地址:http://www.popub.net/script/MSClass.html
 下载地址:http://www.popub.net/script/MSClass.js

 应用说明:页面包含<script type="text/javascript" src="/UploadFiles/2021-04-02/MSClass.js">
        创建实例:
                //参数直接赋值法
                new Marquee("marquee")
                new Marquee("marquee","top")
                ......
                new Marquee("marquee",0,1,760,52)
                new Marquee("marquee","top",1,760,52,50,5000)
                ......
                new Marquee("marquee",0,1,760,104,50,5000,3000,52)
                new Marquee("marquee",null,null,760,104,null,5000,null,-1)

                //参数动态赋值法
                var marquee1 = new Marquee("marquee")        *此参数必选
                marquee1.Direction = "top";        或者        marquee1.Direction = 0;
                marquee1.Step = 1;
                marquee1.Width = 760;
                marquee1.Height = 52;
                marquee1.Timer = 50;
                marquee1.DelayTime = 5000;
                marquee1.WaitTime = 3000;
                marquee1.ScrollStep = 52;
                marquee1.Start();

        参数说明:
                ID                "marquee"        容器ID                (必选)
                Direction        (0)                滚动方向        (可选,默认为0向上滚动) 可设置的值包括:0,1,2,3,"top","bottom","left","right" (0向上 1向下 2向左 3向右)
                Step                (1)                滚动的步长        (可选,默认值为2,数值越大,滚动越快)
                Width                (760)                容器可视宽度        (可选,默认值为容器初始设置的宽度)
                Height                (52)                容器可视高度        (可选,默认值为容器初始设置的高度)
                Timer                (50)                定时器                (可选,默认值为30,数值越小,滚动的速度越快,1000=1秒,建议不小于20)
                DelayTime        (5000)                间歇停顿延迟时间(可选,默认为0不停顿,1000=1秒)
                WaitTime        (3000)                开始时的等待时间(可选,默认或0为不等待,1000=1秒)
                ScrollStep        (52)                间歇滚动间距        (可选,默认为翻屏宽/高度,该数值与延迟均为0则为鼠标悬停控制,-1禁止鼠标控制)
 使用建议:
                1、建议直接赋予容器的显示区域的宽度和高度,如(<div id="marquee" style="width:760px;height:52px;">......</div>)
                2、建议为容器添加样式overflow = auto,如(<div id="marquee" style="width:760px;height:52px;overflow:auto;">......</div>)
                3、为了更准确的获取滚动区域的宽度和高度,请尽可能将各滚动单位直接赋予正确宽高度
                4、对于TABLE标记的横向滚动,需要对TABLE添加样式display = inline,如(<div id="marquee" style="width:760px;height:52px;overflow:auto;"><table style="display:inline">......</table></div>)
                5、对于翻屏滚动或间歇滚动,要注意各滚动单位间的间距,同时需要对容器的可视高度和可视宽度做好准确的设置,对于各滚动单位间的间距可以通过设置行间距或者单元格的高宽度来进行调整
                6、对于LI自动换行的问题暂时没有更好的解决办法,建议将其转换成表格(TABLE)的形式来达到同等的效果
                7、针对横向滚动的文字段落,如果最末端是以空格" "结束的,请将空格" "转换成" "
                8、鼠标悬停滚动思想源自Flash,所以有一定的局限性(容器内仅允许用图片<img>或者带链接的图片<a><img></a>的形式,并需要禁止其自动换行)

 感  谢:
        周珺 zhoujun#yuchengtech.com (文字滚动跳行的bug) 2007/01/31
        自本程序发布以来,收到不少朋友的邮件,提出了很多意见和建议,感谢大家的支持!
很不错。

不过演示代码的new Marquee("marquee",0,1,760,52,50,5000,3000)那么多参数看了让人有点迷糊,呵呵,做成这种模式可能让人看得懂一些:
复制代码 代码如下:
function Marquee() 

    this.ID = document.getElementById(arguments[0]); 
    this.Direction = arguments[1]; 
    this.Step = arguments[2]; 
    this.Width = arguments[3]; 
    this.Height = arguments[4]; 
    this.Timer = arguments[5]; 
    this.WaitTime = arguments[6]; 
    this.StopTime = arguments[7]; 
    this.CTL = this.StartID = this.Stop = this.MouseOver = 0; 
    this.ID.style.overflowX = this.ID.style.overflowY = "hidden"; 
    this.ID.noWrap = true; 
    this.ID.style.width = this.Width; 
    this.ID.style.height = this.Height; 
    this.ID.innerHTML += this.ID.innerHTML; 
}  


然后使用:
复制代码 代码如下:
var m = new Marquee; 
m.ID = document.getElementById("marquee"); 
m.Direction = 0; 
m.Step = 1; 
m.Width = 760; 
// ...... 
m.Start(m, m.Timer, m.WaitTime, m.StopTime); 

m.Start的参数好像都和m有关,可以省略掉?
标签:
再次更新!MSClass,(Class,Of,Marquee,Scroll通用不间断滚动JS封装类,Ver,1.6)

免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
狼山资源网 Copyright www.pvsay.com

《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线

暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。

艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。

《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。