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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[修改] 超酷论坛公告美化!仿 FreeDiscuz滚动式公告!FOR D5

[复制链接]
零点迷雾 发表于 2006-12-21 00:35:41 | 显示全部楼层 |阅读模式
效果说明:
论坛公告   向上滚动一条  停止 3秒  继续滚下条!再停 !效果好很好!
经测试非官方风格也支持  完整无错版!

技术支持: http://bbs.eno.cc/thread-389-1-1.html


演示:
http://bbs.eno.cc          非官方风格演示
http://www.aodot.net   官方风格演示

适用版本:

DZ 5.0

开发此插件体会:
继本人开发的 D4版本此插件得到了不少朋友的支持!
https://discuz.dismall.com/viewthread.php?tid=301123
从DZ 版本升级后本人没时间开发此插件!而此插件开发也很简单!可没人做!
有很多朋友来消息询问我D5版本的怎么还不出来
故本人在此通宵开发此插件!

需要修改部分:
include/common.js
index.php
templates/default/discuz.htm

开始操作:
打开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. }
复制代码
打开 templates/default/discuz.htm

搜索
  1. <!--{if !empty($announcements)}-->
复制代码
  1.                 <div id="announcement" style="clear: both; width: {TABLEWIDTH}">$announcements</div>
  2.                 <script type="text/javascript">announcement();</script>
复制代码
替换为
  1. <div id="announcement" style="clear: both; width: {TABLEWIDTH}"><script language="javascript">
  2.         var marqueeContent=new Array();
  3.         $announcements
  4.         initMarquee();
  5. </script></div>
复制代码
打开index.php

将:
  1. if(empty($gid)) {
  2.         $announcements = $space = '';
  3.         if($_DCACHE['announcements']) {
  4.                 foreach($_DCACHE['announcements'] as $announcement) {
  5.                         if(empty($announcement['redirect'])) {
  6.                                 $announcements .= $space.'<a href="announcement.php?id='.$announcement['id'].'#'.$announcement['id'].'"><span class="bold">'.$announcement['subject'].'</span> '.
  7.                                         '('.gmdate($dateformat, $announcement['starttime'] + $timeoffset * 3600).')</a>';
  8.                         } else {
  9.                                 $announcements .= $space.'<a href="'.$announcement['message'].'" target="_blank"><span class="bold">'.$announcement['subject'].'</span> '.
  10.                                         '('.gmdate($dateformat, $announcement['starttime'] + $timeoffset * 3600).')</a>';
  11.                         }
  12.                         $space = '       ';
  13.                 }
  14.         }
复制代码
替换为
  1. if(empty($gid)) {
  2.         $announcements = $space = '';
  3.         $announcementn = 0;
  4.         if($_DCACHE['announcements']) {
  5.                 foreach($_DCACHE['announcements'] as $announcement) {
  6.                         if(empty($announcement['redirect'])) {
  7.                                 $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>\';';
  8.                         } else {
  9.                                 $announcements .= 'marqueeContent['.$announcementn.']=\'<a href="'.$announcement['message'].'" target="_blank"><span class="bold">'.$announcement['subject'].'</span>('.gmdate($dateformat, $announcement['starttime'] + $timeoffset * 3600).')</a>\';';
  10.                         }
  11.                         $announcementn++;
  12.                 }
  13.         }
复制代码

评分

1

查看全部评分

 楼主| 零点迷雾 发表于 2006-12-21 00:36:50 | 显示全部楼层
留位更新
!~~~~~~~
回复

使用道具 举报

 楼主| 零点迷雾 发表于 2006-12-21 00:37:06 | 显示全部楼层
留位!~~~~~~~~~~~~~~~~~~~~~~
回复

使用道具 举报

juse 发表于 2006-12-21 00:39:20 | 显示全部楼层
错位问题。。。。。。。。。。。。

[ 本帖最后由 juse 于 2006-12-21 00:47 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

H5N1 发表于 2006-12-21 00:41:55 | 显示全部楼层
非常不错的东西!!!!!!!!!!!!!!!1      
回复

使用道具 举报

 楼主| 零点迷雾 发表于 2006-12-21 09:45:33 | 显示全部楼层
原帖由 juse 于 2006-12-21 00:39 发表
错位问题。。。。。。。。。。。。


非官方风格  地址
回复

使用道具 举报

 楼主| 零点迷雾 发表于 2006-12-21 10:41:15 | 显示全部楼层
回复

使用道具 举报

 楼主| 零点迷雾 发表于 2006-12-21 11:26:20 | 显示全部楼层
有朋友做成功的 地址发出来给大家看看哈
回复

使用道具 举报

5025488.net 发表于 2006-12-21 11:30:28 | 显示全部楼层
:L
回复

使用道具 举报

 楼主| 零点迷雾 发表于 2006-12-21 11:31:00 | 显示全部楼层
原帖由 5025488.net 于 2006-12-21 11:30 发表
:L

???????
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-24 13:06 , Processed in 0.034784 second(s), 7 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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