Discuz!NT官方社区

首页 » Discuz!NT开发与测试 » Discuz!NT插件开发 » 关于论坛公告向上滚动的代码
7seren - 2008-5-22 12:13:00
因实际需要,论坛默认的滚动方式是从右到左,这样屏幕太宽,要滚动一半天才能显示完,
我想实现一条一条的显示 或者是上下翻动,或者是一条一条的切换都行,

找到了相关的JS代码,但是因为 .net 不太熟悉,所以无法修改,请各位兄弟帮忙解决一下,谢谢

呵呵,提问前搜索过论坛了,没找到相关解决方法,相信很多朋友需要这个功能!
附JS代码

  <script>
var marqueeContent=new Array();  //滚动新闻
  </script>
 
主要是在这里要指定一个  i  来循环数字 loop的代码应该是:   
<script>marqueeContent["& i &"]='公告循环1';</script>
 
      <script>marqueeContent[0]='公告循环1';</script>
      <script>marqueeContent[1]='公告循环2';</script>
      <script>marqueeContent[2]='公告循环3';</script>
      <script>marqueeContent[3]='公告循环4';</script>
      <script>marqueeContent[4]='公告循环5';</script>
      <script>marqueeContent[5]='公告循环6';</script>



        <script>
var marqueeInterval=new Array();  //定义一些常用而且要经常用到的变量
var marqueeId=0;
var marqueeDelay=3000;
var marqueeHeight=20;
//接下来的是定义一些要使用到的函数
function initMarquee() {
var str=marqueeContent[0];
document.write('<div id=marqueeBox style="overflow:hidden;height:'+marqueeHeight+'px" width = "370" ><div  " >'+str+'</div></div>');
marqueeId++;
marqueeInterval[0]=setInterval("startMarquee()",marqueeDelay);
}
function startMarquee() {
var str=marqueeContent[marqueeId];
marqueeId++;
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>
7seren - 2008-5-22 12:53:00
顶上去,
1
查看完整版本: 关于论坛公告向上滚动的代码