| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 583 人关注过本帖
标题:[求助]怎么才能实现连续滚动???
只看楼主 加入收藏
wangchaojlls
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2006-5-15
收藏
 问题点数:0 回复次数:9 
[求助]怎么才能实现连续滚动???
在一个网页上实现连续滚动且鼠标放上之后就暂停滚动,鼠标移开就再开始滚动..
哪个大哥大姐可以教教在下啊?????
搜索更多相关主题的帖子: 滚动 
2006-05-21 17:00
阳光白雪
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:39
帖 子:2220
专家分:0
注 册:2005-11-18
收藏
得分:0 

一、在<head>与<head>之间插入以下代码:
<SCRIPT language=javascript>
function gdnewsl(news_id,news_name,news_link,news_content)//存放信息的数组结构
{
this.news_id=news_id;
this.news_name=news_name;
this.news_link=news_link;
this.news_content=news_content;
}

newsl=new Array();//申明信息数组
newsl[1]=new gdnewsl('1','欢迎光临!','http://dnjy.2000y.net','欢迎光临');
newsl[2]=new gdnewsl('2','欢迎光临!','http://dnjy.2000y.net','欢迎光临');
newsl[3]=new gdnewsl('3','欢迎光临!','http://dnjy.2000y.net','欢迎光临');
newsl[4]=new gdnewsl('4','欢迎光临!','http://dnjy.2000y.net','欢迎光临');
newsl[5]=new gdnewsl('5','欢迎光临!','http://dnjy.2000y.net','欢迎光临');
newsl[6]=new gdnewsl('2','欢迎光临!','http://dnjy.2000y.net','欢迎光临');
newsl[7]=new gdnewsl('7','欢迎光临!','http://dnjy.2000y.net','欢迎光临');
newsl[8]=new gdnewsl('8','欢迎光临!','http://dnjy.2000y.net','欢迎光临');
isns = navigator.appName == "Netscape";
function initl()
{
if(isns)
{
tag0='document.divnewsl.document.clipnewsl.document.'
tag1='document.divnewsl.document.clipnewsl.'
tag2=''
}
else
{
tag0=''
tag1=''
tag2='.style'
}
newsnuml=newsl.length-1
if(isns) eval(tag1+'clip.width=280')
eval(tag0+'newsl1'+tag2+'.top=10')
if(isns) eval(tag1+'visibility="show"')
if(newsnuml>7) newsmovel()
}
stephl=1 //移动步长控制变量
nnl=false
strtnum=false
heightlimit=280 //字幕窗口宽度
jg=1 //间隔控制变量
function newsmovel()
{
nnl=true
strtnum=true
yminl=1
for(i=1;i<=newsnuml;i++)
{
if(isns) ytop=eval(tag0+'newsl'+yminl+'.top')
else ytop=eval('newsl'+yminl+'.style.pixelTop')
if(isns) nitop=eval(tag0+'newsl'+i+'.top')
else nitop=eval('newsl'+i+'.style.pixelTop')
if(nitop<ytop) yminl=i
}
if(isns) tt=eval(tag0+'newsl'+yminl+'.top');
else tt=eval('newsl'+yminl+'.style.pixelTop');//这里的T必须大写
tt-=stephl;
eval(tag0+'newsl'+yminl+tag2+'.top=tt');
ymaxl=yminl-1;
if(yminl==1) ymaxl=newsnuml
if(yminl>=1&&yminl<newsnuml)
for(i=yminl+1;i<=newsnuml;i++)
{
j=i-1;
followl(i,j)
}
if(yminl!=1)
for(i=1;i<=ymaxl;i++)
{
j=i-1
if(j==0) j=newsnuml
followl(i,j)
}
for(i=1;i<=newsnuml;i++)
{
if(isns) topi=eval(tag0+'newsl'+i+'.top')
else topi=eval('newsl'+i+'.style.pixelTop')
if(isns) heighti=eval(tag0+'newsl'+i+'.clip.Height')
else heighti=eval('newsl'+i+'.offsetHeight')
buttoni=topi+heighti
if(buttoni<-14)
eval(tag0+'newsl'+i+tag2+'.top=heightlimit')
}

if(nnl) domovel=setTimeout('newsmovel()',20);
}

function stopml()
{
if(nnl)
{clearTimeout(domovel)
nnl=false}
}

function startml()
{
if(!nnl&&strtnum) newsmovel()
}

function followl(nexti,prei)
{
if(isns) newtop=eval(tag0+'newsl'+prei+'.top')
else newtop=eval('newsl'+prei+'.style.pixelTop')//这里的T必须大写
if(isns) newheight=eval(tag0+'newsl'+prei+'.clip.Height')
else newheight=eval('newsl'+prei+'.offsetHeight')//这里的H必须大写
newpos=newtop+newheight+jg
if(newpos>heightlimit) newpos=heightlimit
eval(tag0+'newsl'+nexti+tag2+'.top='+newpos)
}
</SCRIPT>

二、在你要插入滚动条的地方插入以下代码:

<div id=clipnewsl style="LEFT: 0px; WIDTH: 150px; CLIP: rect(0px 180px 200px 0px); POSITION: absolute; top: 120px; height: 150">
<script language=javascript>
aal=''
for(i=1;i<newsl.length;i++)
{
dd=(i-1)*50
if(i>1) dd=150
aal="<div id=newsl"+i+" style='position:absolute;top:"+dd+"'>"
if(newsl[i].news_link!='')
aal+="<table border=0 cellpadding=0 cellspacing=0 onmouseover=stopml() onmouseout=startml()><tr><td class=a3 bgcolor='#cccccc' ><a href="+newsl[i].news_link+" target=_blank >"+newsl[i].news_name+"</a>"+newsl[i].news_content+"</td></tr></table></div>"
else
aal+="<table border=0 cellpadding=0 cellspacing=0><tr><td>没有文字链接</td></tr></table></div>"
document.write(aal)
}
</script>
</div>

三、在<body>加上代码onload=initl(),即这样:<body onload=initl()><br>
再按上面的说明修改成你要在滚动字幕中显示的内容


专注于WEB前端交互平台开发:[url=http://blog./]blog.[/url](富客户端技术(RIA)交流平台)
2006-05-21 17:15
lanya1983
Rank: 1
等 级:新手上路
帖 子:96
专家分:0
注 册:2006-3-11
收藏
得分:0 
恩 斑竹这法很高级
我说个简单的用<marquee>实现

<marquee derection=left scrollamount="2" onMouseOver="stop()"
onMouseOut="start()">内容</marquee>

derection控制移动的方向

我的网站http:\\\\lanya. http:\\\\leilei. 主要是练练手
2006-05-21 17:24
阳光白雪
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:39
帖 子:2220
专家分:0
注 册:2005-11-18
收藏
得分:0 
以下是引用lanya1983在2006-5-21 17:24:00的发言:
恩 斑竹这法很高级
我说个简单的用<marquee>实现

<marquee derection=left scrollamount="2" onMouseOver="stop()"
onMouseOut="start()">内容</marquee>

derection控制移动的方向

以上能实现滚动,可要等每次全部结束后才能从头开始滚动,中间就会有一段空白

不知道楼主要的是什么效果,自己定吧


专注于WEB前端交互平台开发:[url=http://blog./]blog.[/url](富客户端技术(RIA)交流平台)
2006-05-21 17:30
wangchaojlls
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2006-5-15
收藏
得分:0 
谢谢各位的解释我去试一下 ....
2006-05-21 17:35
wangchaojlls
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2006-5-15
收藏
得分:0 
各位大哥大姐请看看这个代码......我是想把这个代码上加上鼠标放上以后就停止 鼠标移开就再动 是上下的动不是左右啊...

<body>
<div id=demo style=overflow:hidden;height:60px>
<div id=demo1>
111111111111111<br>
222222222222222<br>
333333333333333<br>
444444444444444<br>
555555555555555
</div>
<div id=demo2></div>
<script>
var t=demo.scrollTop
demo2.innerText=demo1.innerText
function qswhMarquee(){
if(demo2.offsetTop-demo.scrollTop<=0)
demo.scrollTop-=demo1.offsetHeight
else
demo.scrollTop++
}
setInterval(qswhMarquee,30)
</script>
</body>

2006-05-21 17:51
craft001wen
Rank: 2
等 级:论坛游民
帖 子:242
专家分:62
注 册:2006-5-4
收藏
得分:0 
<marquee direction="down" scrollamount="1" onMouseOver="stop()" onMouseOut="start()">
1111111111111111<br>
2222222222222222<br>
3333333333333333<br>
4444444444444444<br>
</marquee>

2006-05-22 09:28
wangchaojlls
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2006-5-15
收藏
得分:0 
谢谢谢谢
2006-05-29 17:21
binyanmei
Rank: 1
等 级:新手上路
帖 子:93
专家分:0
注 册:2005-12-20
收藏
得分:0 
谢谢各位啊,我在这里学到了好多东西哦
2006-05-29 18:43
binyanmei
Rank: 1
等 级:新手上路
帖 子:93
专家分:0
注 册:2005-12-20
收藏
得分:0 
我顶啊

2006-05-29 18:43
快速回复:[求助]怎么才能实现连续滚动???
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.025883 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved