滚动经典最新话题[prototype框架]下编写

轩辕进进5

轩辕进进5

2016-02-19 12:01

有了下面这个滚动经典最新话题[prototype框架]下编写教程,不懂滚动经典最新话题[prototype框架]下编写的也能装懂了,赶紧get起来装逼一下吧!
前天见到sin100看到的那个日本网站的滚动,挖掘后原来是使用Ajax读取xml后显示出来的。

就弄了这个滚动经典最新话题的供朋友参考参考。
范例使用了prototype.js的ajax轻便型框架。
因为远程调用了 prototype.js 这个文件,测试的朋友请耐心等候一下下。

经典不允许远程调用别的站点的js文件,所以还请多一部操作,复制到本地运行查看结果。
代码如下:

!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
html xmlns="http://www.w3.org/1999/xhtml" xml:lang="gb2312" 
head
    meta http-equiv="content-type" content="text/html; charset=gb2312" /
    meta name="author" content="Smiling Dolphin" /
    meta name="keywords" content="design, css, cascading, style, sheets, xhtml, graphic design, w3c, web standards, visual, display, java, javascript, c++, php, jsp, asp, py, pl" /
    meta name="description" content="my favorites language." /
    meta name="robots" content="all" /
    titleDolphin Document/title

    style type="text/css" title="currentStyle" media="screen"
        #scroll{width:99%;height:25px;border:1px solid #2BBB00;background:#E7FFE0;overflow:hidden;}
        #scrollFrame,#scrollFrame2{line-height:25px;font-size:13px; word-break:keep-all;line-break:normal; white-space:nowrap;}
        #scrollFrame span,#scrollFrame2 span{display:inline;margin-right:20px;}
    /style
    script src="http://prototype.conio.net/dist/prototype-1.4.0.js" type="text/javascript"/script
/head
body
div id="scroll"
    div id="scrollFrame"/div
    div id="scrollFrame2"/div
/div
script language="javascript" type="text/javascript"

var Ticker = Class.create();
Ticker.prototype = {
    initialize: function() {
        try{
        this.scrollType = "normal";
        this.m_scroll = $(arguments[0]);
        this.m_scroll_1 = $(arguments[1]);
        this.m_scroll_2 = $(arguments[2]);
        this.m_speed = (arguments[3][0])?arguments[3][0]:3;
        this.m_request = (arguments[3][1])?arguments[3][1]:60;
        this.m_loop = (arguments[3][2])?arguments[3][2]:0.05;
        this.m_url = (arguments[3][3])?arguments[3][3]:'http://bbs.blueidea.com/rss.php?fid=1';
        }catch(e){}
        finally{}
        Event.observe(this.m_scroll, 'mouseover', this.mouseover.bindAsEventListener(this), false);
        Event.observe(this.m_scroll, 'mouseout',  this.mouseout.bindAsEventListener(this), false);
        new PeriodicalExecuter(this.scroll.bindAsEventListener(this), this.m_loop);
        new PeriodicalExecuter(this.load.bindAsEventListener(this),   this.m_request);
        this.load();
    },
    load:function(){
        var request = new Ajax.Request(
          this.m_url,
          {
            method:    'post',
            onSuccess: this.update.bindAsEventListener(this),
            onFailure: false,
            on304:     false
          }
        );
    },
    update:function(request){
        var items = request.responseXML.getElementsByTagName("item");
        for(var i=0;iitems.length;i++){

            var title = items[i].childNodes[0].childNodes[0].nodeValue;
            var link = items[i].childNodes[1].childNodes[0].nodeValue;
            var description = items[i].childNodes[2].childNodes[0].nodeValue;
            var author = items[i].childNodes[4].childNodes[0].nodeValue;
            this.m_scroll_1.innerHTML += "spana href=""+link+"" title=""+author+":rn"+description+"""+i+":"+title+"/a/span";
        }
        this.m_scroll_2.innerHTML = this.m_scroll_1.innerHTML;
    },
    scroll:function(event){
        switch(this.scrollType){
            case "slow":
                if(this.m_scroll_2.offsetWidth-this.m_scroll.scrollLeft=0){
                    this.m_scroll.scrollLeft -= this.m_scroll_1.offsetWidth;
                }else{
                    this.m_scroll.scrollLeft++;
                }
            break;
            case "normal":
            default:
                if(this.m_scroll_2.offsetWidth-this.m_scroll.scrollLeft=0){
                    this.m_scroll.scrollLeft -= this.m_scroll_1.offsetWidth;
                }else{
                    this.m_scroll.scrollLeft+=3;
                }
            break;
        }
    },
    mouseover:function(){
        this.scrollType = 'slow';
        return false;
    },
    mouseout:function(){
        this.scrollType = 'normal';
        return false;
    }
}
ticker1  = new Ticker("scroll","scrollFrame","scrollFrame2",[3,60,0.05,'http://bbs.blueidea.com/rss.php?fid=1']);

/script

/body
/html

展开更多 50%)
分享

猜你喜欢

滚动经典最新话题[prototype框架]下编写

Web开发
滚动经典最新话题[prototype框架]下编写

Ajax框架 Prototype 1.6.1 发布

Web开发
Ajax框架 Prototype 1.6.1 发布

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

基于prototype的web验证框架

Web开发
基于prototype的web验证框架

Prototype框架是怎样扩展DOM的

Web开发
Prototype框架是怎样扩展DOM的

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

javascript 编写自己的框架

Web开发
javascript 编写自己的框架

如何控制框架页的滚动

Web开发
如何控制框架页的滚动

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

用Java Swing作一个日历控制程序

用Java Swing作一个日历控制程序

获取DOM对象的几种扩展及简写

获取DOM对象的几种扩展及简写
下拉加载更多内容 ↓