我想大家都看过各种各样的滚动(最常用的就是用在新闻的更新上面),一般情况下只要不是图片,都是用html本身就有提供一个很不错的滚动标记——marquee来完成的(用js也可以同样实现这种效果);当然并不是说图片就不能那样做。
以下为marquee的一些基本的参数:
该标记语法格式如下:
<marquee
aligh=leftcenterrighttopbottom
bgcolor=#n
direction=leftrightupdown
behavior=type
height=n
hspace=n
scrollamount=n
scrolldelay=n
width=n
vspace=n
loop=n>内容</marquee>
下面解释一下各参数的含义:
align:是设定活动字幕的位置,除了居左、居中、居右三种位置外,又增加靠上(top)和靠下(bottom)两种位置。
bgcolor:用于设定活动字幕的背景颜色,可以使用英文的单词也可以是十六进制数的。
direction:用于设定活动字幕的滚动方向是向左(left)、向右(right)、向上(up)、向下(down)。
behavior:用于设定滚动的方式,主要由三种方式:
behavior="scroll"表示由一端滚动到另一端;
behavior="slide":表示由一端快速滑动到另一端,且不再重复;
behavior="alternate"表示在两端之间来回滚动。
height:用于设定滚动字幕的高度。
width:则设定滚动字幕的宽度。
hspace和vspace:分别用于设定滚动字幕的左右边框和上下边框的宽度。
scrollamount:用于设定活动字幕的滚动距离。数值越小,滚动的速度就越快。
scrolldelay:用于设定滚动两次之间的延迟时间,数值越小,间隔就越小。
loop:用于设定滚动的次数,当loop=-1表示一直滚动下去,直到页面更新。其中默认情况是向左滚动无限次,字幕高度是文本高度;滚动范围:水平滚动的宽度是当前位置的宽度;垂直滚动的高度是当前位置的高度。
现在要介绍的是一种新型的滚动,利用js的方法来做字幕的滚动:向上,在中间停顿一到两秒(就像经典的这种):
将以下代码贴到您要显示的位置就可以了:
<script>
var marqueecontent=new array(); //定义一个数组,用来存放显示内容
marqueecontent[0]='<a href="#" onclick="reinitmarquee()">刷新最新列表</font></a>';
marqueecontent[1]='<a href=http://www.blueidea.com/updatelist.asp target=_blank>站点最新更新六十条</a>';
marqueecontent[2]='<a href=http://www.blueidea.com/tech/graph/2003/875.asp target=_blank>羽毛效果制作教程</a>';
marqueecontent[3]='<a href=http://www.blueidea.com/tech/program/2003/831.asp target=_blank>mysql&asp</a>';
marqueecontent[4]='<a href=http://www.blueidea.com/tech/web/2003/874.asp target=_blank>初步了解css3</a>';
marqueecontent[5]='<a href=http://www.blueidea.com/tech/graph/2003/864.asp target=_blank>fireworks mx 2004执行面版操作</a>';
marqueecontent[6]='<a href=http://www.blueidea.com/tech/graph/2003/872.asp target=_blank>fireworks mx 2004等高渐变填充</a>';
marqueecontent[7]='<a href=http://www.blueidea.com/photo/gallery/2003/873.asp target=_blank>瓶子里的花</a>';
marqueecontent[8]='<a href=http://www.blueidea.com/tech/graph/2003/871.asp target=_blank>fireworks mx 实现选项卡式效果</a>';
marqueecontent[9]='<a href=http://www.blueidea.com/photo/gallery/2003/870.asp target=_blank>情侣:黑白的爱情空气</a>';
marqueecontent[10]='<a href=http://www.blueidea.com/tech/graph/2003/866.asp target=_blank>制作 mac 风格的苹果标志</a>';
marqueecontent[11]='<a href=http://www.blueidea.com/tech/graph/2003/868.asp target=_blank>蛋壳制作及破壳而出的人物合成</a>';
var marqueeinterval=new array(); //定义一些常用而且要经常用到的变量
var marqueeid=0;
var marqueedelay=4000;
var marqueeheight=16;
//接下来的是定义一些要使用到的函数
array.prototype.random=function() {
var a=this;
var l=a.length;
for(var i=0;i<l;i++) {
var r=math.floor(math.random()*(l-i));
a=a.slice(0,r).concat(a.slice(r+1)).concat(a[r]);
}
return a;
}
function initmarquee() {
marqueecontent=marqueecontent.random();
var str='';
for(var i=0;i<math.min(3,marqueecontent.length);i++) str+=(i>0?' ':'')+marqueecontent[i];
document.write('<div id=marqueebox style="overflow:hidden;height:'+marqueeheight+'px" onmouseover="clearinterval(marqueeinterval[0])" onmouseout="marqueeinterval[0]=setinterval(\'startmarquee()\',marqueedelay)"><div>'+str+'</div></div>');
marqueeid+=2;
if(marqueecontent.length>3)marqueeinterval[0]=setinterval("startmarquee()",marqueedelay);
}
function reinitmarquee() {
js_scroll_content.src='scroll_content2.js';
marqueecontent=marqueecontent.random();
var str='';
for(var i=0;i<math.min(3,marqueecontent.length);i++) str+=(i>0?' ':'')+marqueecontent[i];
marqueebox.childnodes[(marqueebox.childnodes.length==1?0:1)].innerhtml=str;
marqueeid=2;
}
function startmarquee() {
var str='';
for(var i=0;(i<3)&&(marqueeid+i<marqueecontent.length);i++) {
str+=(i>0?' ':'')+marqueecontent[marqueeid+i];
}
marqueeid+=3;
if(marqueeid>marqueecontent.length)marqueeid=0;
if(marqueebox.childnodes.length==1) {
var nextline=document.createelement('div');
nextline.innerhtml=str;
marqueebox.appendchild(nextline);
}
else {
marqueebox.childnodes[0].innerhtml=str;
marqueebox.appendchild(marqueebox.childnodes[0]);
marqueebox.scrolltop=0;
}
clearinterval(marqueeinterval[1]);
marqueeinterval[1]=setinterval("scrollmarquee()",20);
}
function scrollmarquee() {
marqueebox.scrolltop++;
if(marqueebox.scrolltop%marqueeheight==(marqueeheight-1)){
clearinterval(marqueeinterval[1]);
}
}
initmarquee();
</script>
以上已经将网站的这种滚动的做法做了一个大概的介绍。
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器