发新话题
打印

仿FreeDiscuz!Lite滚动式公告For4.1

仿FreeDiscuz!Lite滚动式公告For4.1

演示:
你见的到这贴你就能见的到演示,FD首页就是了

方法:


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

查找:
复制内容到剪贴板
代码:
<marquee direction="left" scrollamount="3" onMouseOver="this.stop();" onMouseOut="this.start();">
                $announcements
                </marquee>
[安装了首页四格TOPLIST插件的]查找:
复制内容到剪贴板
代码:
<marquee onMouseOver="this.stop();" onMouseOut="this.start();" TrueSpeed scrollamount=1 scrolldelay=25 direction="left">$announcements</marquee>
替换为:
复制内容到剪贴板
代码:
<script language="javascript">
        var marqueeContent=new Array();
        $announcements
        initMarquee();
</script>
2.include/common.js

文章的最后加入:
复制内容到剪贴板
代码:
var marqueeInterval=new Array();
var marqueeId=0;
var marqueeDelay=3000;
var marqueeHeight=15;
function initMarquee() {
        var str=marqueeContent[0];
        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++;
        marqueeInterval[0]=setInterval("startMarquee()",marqueeDelay);
}

function startMarquee() {
        var str=marqueeContent[marqueeId];
        marqueeId++;
        if(marqueeId>=marqueeContent.length) marqueeId=0;
        if(document.getElementById('marqueeBox').childNodes.length==1) {
                var nextLine=document.createElement('DIV');
                nextLine.innerHTML=str;
                document.getElementById('marqueeBox').appendChild(nextLine);
        } else {
                document.getElementById('marqueeBox').childNodes[0].innerHTML=str;
                document.getElementById('marqueeBox').appendChild(document.getElementById('marqueeBox').childNodes[0]);
                document.getElementById('marqueeBox').scrollTop=0;
        }
        clearInterval(marqueeInterval[1]);
        marqueeInterval[1]=setInterval("scrollMarquee()",20);
}

function scrollMarquee() {
        document.getElementById('marqueeBox').scrollTop++;
        if(document.getElementById('marqueeBox').scrollTop%marqueeHeight==(marqueeHeight-1)){
                clearInterval(marqueeInterval[1]);
        }
}
3.index.php
复制内容到剪贴板
代码:
$navigation = $navtitle = '';
再查找:
复制内容到剪贴板
代码:
unset($_DCACHE['announcements']);
把中间的部分替换为[不包含以上两段]:
复制内容到剪贴板
代码:
        $announcements = $space = '';
        $announcementn = 0;
        if($_DCACHE['announcements']) {
                foreach($_DCACHE['announcements'] as $announcement) {
                        $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>\';
';
                        $announcementn++;
                }
        }
完工~,有问题CALL我
愿FreeDisucz!重拾昨日辉煌。.

TOP


一个不规范的字词可能导致整个句子表达错误
一句不规范的话语可能导致整段文字失去意义
规范的不仅是答案------更重要的是思路方法
规范不是机械呆板------更重要的是活学活用

TOP

这个插件回娘家了

TOP

引用:
原帖由 CS1.3 于 2006-11-18 08:15 PM 发表。
此楼身为FreeDiscuz!实际管理者,竟发纯水贴,罚捆在椅子上看CC跳脱衣
愿FreeDisucz!重拾昨日辉煌。.

TOP

引用:
原帖由 碧水无波 于 2006-11-19 07:24 PM 发表。

此楼身为FreeDiscuz!实际管理者,竟发纯水贴,罚捆在椅子上看CC跳脱衣

TOP

CC说: 我身材不好看.还是不跳了

一个不规范的字词可能导致整个句子表达错误
一句不规范的话语可能导致整段文字失去意义
规范的不仅是答案------更重要的是思路方法
规范不是机械呆板------更重要的是活学活用

TOP

跳,一定要跳.
支持好插件~

TOP

好玩的說

TOP

請問有辦法讓他一次出現2則或3則公告嗎?

TOP

我只好自己弄了
www.yyhoo.net.cn 样样会

TOP

发新话题