Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[美化] 仿FreeDiscuz滚动式公告

[复制链接]
oytktk 发表于 2006-7-13 15:01:13 | 显示全部楼层 |阅读模式
演示:

http://www.freediscuz.net/bbs/index.php


方法:


1. templates/defalult/index.htm[模板文件]注意别的模板也要改

查找:

  1. <marquee direction="left" scrollamount="3" onMouseOver="this.stop();" onMouseOut="this.start();">
  2.                 $announcements
  3.                 </marquee>
复制代码


[安装了首页四格TOPLIST插件的]查找:

  1. <marquee onMouseOver="this.stop();" onMouseOut="this.start();" TrueSpeed scrollamount=1 scrolldelay=25 direction="left">$announcements</marquee>
复制代码


替换为:


  1. <script language="javascript">
  2.         var marqueeContent=new Array();
  3.         $announcements
  4.         initMarquee();
  5. </script>
复制代码



2.include/common.js

文章的最后加入:


  1. var marqueeInterval=new Array();
  2. var marqueeId=0;
  3. var marqueeDelay=3000;
  4. var marqueeHeight=15;
  5. function initMarquee() {
  6.         var str=marqueeContent[0];
  7.         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>');
  8.         marqueeId++;
  9.         marqueeInterval[0]=setInterval("startMarquee()",marqueeDelay);
  10. }

  11. function startMarquee() {
  12.         var str=marqueeContent[marqueeId];
  13.         marqueeId++;
  14.         if(marqueeId>=marqueeContent.length) marqueeId=0;
  15.         if(document.getElementById('marqueeBox').childNodes.length==1) {
  16.                 var nextLine=document.createElement('DIV');
  17.                 nextLine.innerHTML=str;
  18.                 document.getElementById('marqueeBox').appendChild(nextLine);
  19.         } else {
  20.                 document.getElementById('marqueeBox').childNodes[0].innerHTML=str;
  21.                 document.getElementById('marqueeBox').appendChild(document.getElementById('marqueeBox').childNodes[0]);
  22.                 document.getElementById('marqueeBox').scrollTop=0;
  23.         }
  24.         clearInterval(marqueeInterval[1]);
  25.         marqueeInterval[1]=setInterval("scrollMarquee()",20);
  26. }

  27. function scrollMarquee() {
  28.         document.getElementById('marqueeBox').scrollTop++;
  29.         if(document.getElementById('marqueeBox').scrollTop%marqueeHeight==(marqueeHeight-1)){
  30.                 clearInterval(marqueeInterval[1]);
  31.         }
  32. }

复制代码


3.index.php

查找:

  1. $navigation = $navtitle = '';
复制代码


再查找:

  1. unset($_DCACHE['announcements']);
复制代码



把中间的部分替换为[不包含以上两段]:


  1.         $announcements = $space = '';
  2.         $announcementn = 0;
  3.         if($_DCACHE['announcements']) {
  4.                 foreach($_DCACHE['announcements'] as $announcement) {
  5.                         $announcements .= 'marqueeContent['.$announcementn.']=\'<a href="announcement.php?id='.$announcement['id'].'#'.$announcement['id'].'"><span class="bold">'.$announcement['subject'].'</span> ('.gmdate($dateformat, $announcement['starttime'] + $timeoffset * 3600).')</a>\';
  6. ';
  7.                         $announcementn++;
  8.                 }
  9.         }
复制代码



完工...如果有问题就反馈一下,因为时间太急没有很充分的做测试工作.

[ 本帖最后由 oytktk 于 2007-8-24 09:12 编辑 ]

评分

1

查看全部评分

sw08 发表于 2006-7-13 15:02:49 | 显示全部楼层
服了~JS没一个看得懂的。
回复

使用道具 举报

176506209 发表于 2006-7-13 15:05:14 | 显示全部楼层
原帖由 sw08 于 2006-7-13 15:02 发表服了~JS没一个看得懂的。

回复

使用道具 举报

lu5266 发表于 2006-7-13 15:17:06 | 显示全部楼层
兄弟有开始动起来了
回复

使用道具 举报

咕咕 发表于 2006-7-13 15:27:27 | 显示全部楼层
前排支持
回复

使用道具 举报

wishyou 发表于 2006-7-13 15:31:15 | 显示全部楼层
N年没见到你啦????
回复

使用道具 举报

瓦李李 发表于 2006-7-13 15:35:42 | 显示全部楼层
好久没见到飒哥啦
回复

使用道具 举报

我飘过 发表于 2006-7-13 15:37:22 | 显示全部楼层
- -我88偷我东西.....
回复

使用道具 举报

我飘过 发表于 2006-7-13 15:38:15 | 显示全部楼层
回复

使用道具 举报

我飘过 发表于 2006-7-13 15:41:00 | 显示全部楼层
:):):)
P.S.有个BUG.
88没发现.我在那里也没更新.
88试试只发布一个公告.然后盯着看第一个滚动的出来了什么.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-12-22 20:52 , Processed in 0.030858 second(s), 6 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表