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

 找回密码
 立即注册
搜索

[疑问] ●悶 想做一個像DZ滾動公告或調用文章 一直出不來●

[复制链接]
2038 发表于 2009-9-4 18:16:33 | 显示全部楼层 |阅读模式
HTML 我改下面這樣
頭部為
<script type="text/javascript" src="{S_URL}/templates/$_SCONFIG[template]/images/zjscroll.js"></script>

BODY為

<div id="infboxradio"><!--通知通告開始-->
<div id="anc">
</div>
<!--{block name="announcement" parameter="order/displayorder DESC/limit/0,10/cachetime/900/subjectlen/30/cachename/gg/tpl/data"}--><!--gg-->
<script language="javascript" type="text/javascript">new zjScroll("anc",21,20,2000);</script>
</div><!--通知通告結束-->

CSS為
#infboxradio {PADDING-RIGHT: 5px; PADDING-LEFT: 70px; background: url(http://romostars.com/images/ dot05.gif)ADDING-BOTTOM:

0px; OVERFLOW: hidden; WIDTH: auto; PADDING-TOP: 5px; HEIGHT: 30px }
#anc {OVERFLOW: hidden; WIDTH: auto; PADDING-TOP: 1px; HEIGHT: 20px;}
#anc LI { FLOAT: left; OVERFLOW: hidden; WIDTH: 150px; MARGIN-RIGHT: 5px; WHITE-SPACE: nowrap; TEXT-OVERFLOW: ellipsis}

JS
上傳到 默認內 zjscroll.js

function zjScroll(){
        this.id = arguments[0];
        if(this.id == null) this.id = "";
        this.height = arguments[1];
        if(this.height == null) this.height = 20;
        this.speed = arguments[2];
        if(this.speed == null) this.speed = 20;
        this.delay = arguments[3];
        if(this.delay == null) this.delay = 2000;
        this.ispause = false;
        this.sctop = 0;
        this.step = 0;
        this.flag = true;
        var idcnt;
        if(!(this.id == "")){
                idcnt = $(this.id).innerHTML;
                $(this.id).innerHTML = "<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tr><td id=\"" + this.id + "_S1\">" + idcnt + "</td></tr><tr><td id=\"" + this.id + "_S2\">" + idcnt + "</td></tr></table>";
                this.init();
        }
}

zjScroll.prototype.init = function(){
        var myobj = this;
        $(myobj.id).scrollTop = 0;
        myobj.Scroll = function(){
                $(myobj.id).onmouseover = function(){
                        myobj.ispause = true;
                }
                $(myobj.id).onmouseout = function(){
                        myobj.ispause = false;
                }
                if(myobj.flag){
                        myobj.flag = false;
                        if(myobj.sctop >= $(myobj.id+"_S1").offsetHeight){
                                myobj.sctop = myobj.sctop - $(myobj.id+"_S1").offsetHeight;
                                $(myobj.id).scrollTop = myobj.sctop;
                        }
                        setTimeout(myobj.Scroll, myobj.delay);
                        return true;
                }
                if(!myobj.ispause){
                        myobj.sctop++;
                        myobj.step++;
                        $(myobj.id).scrollTop = myobj.sctop;
                        if(myobj.step == myobj.height){
                                myobj.step = 0;
                                myobj.flag = true;
                        }
                }
                setTimeout(myobj.Scroll, myobj.speed);
        }
        myobj.Scroll();
}

上面這樣因該沒錯呀 怎麼一直不顯示呢  好悶
回复

使用道具 举报

littlehz 发表于 2009-9-4 19:59:33 | 显示全部楼层
你的模块没有loop循环,怎么输出数据。
回复

使用道具 举报

 楼主| 2038 发表于 2009-9-4 21:20:46 | 显示全部楼层
我有試過說 一樣不能
  1. <div id="infboxradio"><!--通知通告開始-->
  2. <div id="anc">
  3. </div>
  4. <!--{block name="announcement" parameter="order/displayorder DESC/limit/0,10/cachetime/900/subjectlen/30/cachename/gg/tpl/data"}--><!--gg-->
  5. <!--{loop $_SBLOCK['gg'] $value}-->
  6. <script language="javascript" type="text/javascript">new zjScroll("anc",21,20,2000);</script>
  7. <!--{/loop}-->
  8. </div><!--通知通告結束-->
复制代码
回复

使用道具 举报

edvon 发表于 2009-9-4 22:00:55 | 显示全部楼层
看不懂混点分数别说我灌水啊
回复

使用道具 举报

 楼主| 2038 发表于 2009-9-4 22:17:20 | 显示全部楼层
呃  我也被js打敗了
回复

使用道具 举报

littlehz 发表于 2009-9-4 22:41:29 | 显示全部楼层
你这样写loop循环明显错误的啊。看你原来找的滚动代码中的新闻标题,标题的地方用$value[subject],loop配好循环就是。
回复

使用道具 举报

 楼主| 2038 发表于 2009-9-4 22:51:21 | 显示全部楼层
要從js 裡面代碼改嗎

因為我是下載板來研究的
我看他的代碼只有下面這樣
  1. <div id="infbox"><!--籵眭籵豢羲宎-->
  2. <div id="anc">
  3. <!--{block name="spacenews" parameter="catid/2/order/i.dateline DESC/limit/0,10/subjectlen/40/tpl/tztg"}--><!--tztg-->
  4. </div>
  5. <script language="javascript" type="text/javascript">new zjScroll("anc",21,20,2000);</script>
  6. </div><!--籵眭籵豢賦旰-->
复制代码
loop循环 我也不清楚要放那 第一次遇到有js
标题的地方用$value[subject] 是加到 js裡讓他循環嗎
有點亂了
回复

使用道具 举报

 楼主| 2038 发表于 2009-9-4 22:55:33 | 显示全部楼层
  1.         if(!(this.id == "")){
  2.                 idcnt = $(this.id).innerHTML;
  3.                 $(this.id).innerHTML = "<table border="0" cellspacing="0" cellpadding="0"><tr><td id="" + this.id + "_S1">" + idcnt + "</td></tr><tr><td id="" + this.id + "_S2">" + idcnt + "</td></tr></table>";
  4.                 this.init();
  5.         }
  6. }
复制代码
加入 標題 循環
  1.         if(!(this.id == "")){
  2.                 idcnt = $(this.id).innerHTML;
  3.                 $(this.id).innerHTML = "<!--{loop $_SBLOCK['gg'] $value}-->
  4. <table border="0" cellspacing="0" cellpadding="0"><tr><td id="$value[subject]" + this.id + "_S1">" + idcnt + "</td></tr><tr><td id="$value[subject]" + this.id + "_S2">" + idcnt + "</td></tr></table><!--{/loop}-->";
  5.                 this.init();
  6.         }
  7. }
复制代码
不知道對不對
回复

使用道具 举报

littlehz 发表于 2009-9-5 11:54:38 | 显示全部楼层
不是这里,找到原来的标题那些演示数据存放的地方。
回复

使用道具 举报

 楼主| 2038 发表于 2009-9-5 17:29:44 | 显示全部楼层
通常那個标题循環是會做在php還是
模板內呢
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-13 09:53 , Processed in 0.085734 second(s), 14 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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