免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1751 | 回复: 4
打印 上一主题 下一主题

求文章轮显源代码 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-11-17 11:29 |只看该作者 |倒序浏览
文章轮显的功能如何实现呀,

http://www.china.com/zh_cn/,像中华网里面的“新闻,品位,健康..”那样轮流显示,不要图片的。

谁有源代码给我一份,谢谢

论坛徽章:
0
2 [报告]
发表于 2006-11-17 12:16 |只看该作者
没看到LZ说的东东,是像阿里巴巴首页的供求统计那样的么?类同于不间断翻屏的那种。

论坛徽章:
0
3 [报告]
发表于 2006-11-17 12:17 |只看该作者
这位老兄的不错哦~

yueliangdao0608 (骑着上帝他老婆看戏)   
<!--
/*MSClass (Class Of Marquee Scroll通用不间断滚动JS封装类) Ver 1.2*\

 制作时间:2006-08-29 (Ver 0.5)
 发布时间:2006-08-31 (Ver 0.
 更新时间:2006-09-22 (Ver 1.2)
 更新说明: + 加入功能 * 修正、完善
        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="MSClass.js"></script>

        创建实例:new Marquee("marquee",0,1,760,52,50,5000,3000)
                 new Marquee("marquee",0,1,760,104,50,5000,3000,52)

        参数说明:marquee        容器ID
                 0                向上滚动(0向上 1向下 2向左 3向右)
                 1                滚动的步长
                 760                容器可视宽度
                 52                容器可视高度
                 50                定时器 数值越小,滚动的速度越快(1000=1秒,建议不小于20)
                 5000                间歇停顿时间(0为不停顿,1000=1秒)
                 3000                开始时的等待时间(0为不等待,1000=1秒)
                 (52)                间歇滚动间距(可选)

\***程序制作/版权所有:崔永祥(333) E-Mail:zhadan007@21cn.com 网址:http://www.popub.net***/

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];
        if(arguments[8])
                this.ScrollStep = arguments[8]
        else
                this.ScrollStep = this.Direction>1 ? this.Width : this.Height;
        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.ClientScroll = this.Direction>1 ? this.ID.scrollWidth : this.ID.scrollHeight;
        this.ID.innerHTML += this.ID.innerHTML;
        this.Start(this,this.Timer,this.WaitTime,this.StopTime);
}


Marquee.prototype.Start = function(msobj,timer,waittime,stoptime)
{
        msobj.StartID = function(){msobj.Scroll()}
        msobj.Continue = function()
                                {
                                        if(msobj.MouseOver == 1)
                                        {
                                                setTimeout(msobj.Continue,waittime);
                                        }
                                        else
                                        {        clearInterval(msobj.TimerID);
                                                msobj.CTL = msobj.Stop = 0;
                                                msobj.TimerID = setInterval(msobj.StartID,timer);
                                        }
                                }
        msobj.Pause = function()
                        {
                                msobj.Stop = 1;
                                clearInterval(msobj.TimerID);
                                setTimeout(msobj.Continue,waittime);
                        }
        msobj.Begin = function()
        {
                msobj.TimerID = setInterval(msobj.StartID,timer);
                msobj.ID.onmouseover = function()
                                        {
                                                msobj.MouseOver = 1;
                                                clearInterval(msobj.TimerID);
                                        }
                msobj.ID.onmouseout = function()
                                        {
                                                msobj.MouseOver = 0;
                                                if(msobj.Stop == 0)
                                                {
                                                        clearInterval(msobj.TimerID);
                                                        msobj.TimerID = setInterval(msobj.StartID,timer);
                                                }
                                        }
        }
        setTimeout(msobj.Begin,stoptime);
}

Marquee.prototype.Scroll = function()
{
        switch(this.Direction)
        {
                case 0:
                        this.CTL += this.Step;
                        if(this.CTL >= this.ScrollStep && this.WaitTime > 0)
                        {
                                this.ID.scrollTop += this.ScrollStep + this.Step - this.CTL;
                                this.Pause();
                                return;
                        }
                        else
                        {   
                                if(this.ID.scrollTop >= this.ClientScroll)
                                {
                                        this.ID.scrollTop -= this.ClientScroll;
                                }
                                this.ID.scrollTop += this.Step;
                        }
                break;

                case 1:
                        this.CTL += this.Step;
                        if(this.CTL >= this.ScrollStep && this.WaitTime > 0)
                        {
                                this.ID.scrollTop -= this.ScrollStep + this.Step - this.CTL;
                                this.Pause();
                                return;
                        }
                        else
                        {
                                if(this.ID.scrollTop <= 0)
                                {
                                        this.ID.scrollTop += this.ClientScroll;
                                }
                                this.ID.scrollTop -= this.Step;
                        }
                break;

                case 2:
                        this.CTL += this.Step;
                        if(this.CTL >= this.ScrollStep && this.WaitTime > 0)
                        {
                                this.ID.scrollLeft += this.ScrollStep + this.Step - this.CTL;
                                this.Pause();
                                return;
                        }
                        else
                        {
                                if(this.ID.scrollLeft >= this.ClientScroll)
                                {
                                        this.ID.scrollLeft -= this.ClientScroll;
                                }
                                this.ID.scrollLeft += this.Step;
                        }
                break;

                case 3:
                        this.CTL += this.Step;
                        if(this.CTL >= this.ScrollStep && this.WaitTime > 0)
                        {
                                this.ID.scrollLeft -= this.ScrollStep + this.Step - this.CTL;
                                this.Pause();
                                return;
                        }
                        else
                        {
                                if(this.ID.scrollLeft <= 0)
                                {
                                        this.ID.scrollLeft += this.ClientScroll;
                                }
                                this.ID.scrollLeft -= this.Step;
                        }
                break;
        }
}
-->

论坛徽章:
0
4 [报告]
发表于 2006-11-17 13:45 |只看该作者
谢谢楼上的朋友,一会看下
自己试着编了,可是水平有限!

论坛徽章:
0
5 [报告]
发表于 2006-11-17 13:52 |只看该作者
刚才看了...,不是我说的那种效果,
他是像中华网那样的,(http://www.china.com/zh_cn/),这个里面的(“新闻,品位,健康”)这样的模块
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP