作家
登录

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

作者: 来源:www.28hudong.com 2013-03-30 04:01:59 阅读 我要评论

前天见到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" /> <title>Dolphin 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;i<items.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 += "<span><a 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>

  推荐阅读

  静态页面的值传递(三部曲)

这两窗口之间存在着关系.父窗口parent.htm打开子窗口son.htm 子窗口可以通过window.opener指向父窗口.这样可以访问父窗口的对象. 优点:取值方便.只要window.opener指向父窗口,就可以访问所有对象. 不仅可以>>>详细阅读


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

地址:http://www.17bianji.com/kaifa2/JS/31500.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)