한줄스크롤 중복사용 > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

한줄스크롤 중복사용 정보

한줄스크롤 중복사용

본문

엑박님의 한줄스크롤 소스를 사용했는데요
이소스는 두개를 중복해서 사용할수가 없나봐요..
 
최신게시물소스를 복사해서 2개로 만들어서 각각 이름 다르게 주고 사용했는데 한개뿐이
작동을 안합니다.
 
검색해봤는데
변수명등을 바꿔주라고 되어있어서 이것저것 수정해봤는데 잘안되서 질문합니다.
어디를 수정해야만 중복으로 사용할 수 있을까요?
 
 
한개의 소스로 중복사용하면 더 좋겠지만...
소스를 복사해서 여러개로 만들어서 각각 <?=latest("scroll1", "notice1", 2,2);?> <?=latest("scroll2", "notice2",2,2);?>의 형태등으로 사용해도 되구요..
 
-----------------------------------------------------------------------------------------
소스 올립니다.
-----------------------------------------------------------------------------------------
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
?>
<style type="text/css">
DIV,blockquote {line-height:160%;}
</style> 
<script language="javascript">
<!--
//Math.random()
    var scrollerheight=20; // 스크롤러의 세로
    var html,total_area=0,wait_flag=true;
    
    var bMouseOver = 1;
    var scrollspeed = 1; // Scrolling 속도
    var waitingtime = 4000; // 멈추는 시간
    var s_tmp = 0, s_amount = 20;
    var scroll_content=new Array();
    var startPanel=0, n_panel=0, i=0;
    
    function startscroll()
    { // 스크롤 시작
        i=0;
        for (i in scroll_content)
            n_panel++;
            
        n_panel = n_panel -1 ;
        startPanel = Math.round(Math.random()*n_panel);
        if(startPanel == 0)
        {
            i=0;
            for (i in scroll_content)
                insert_area(total_area, total_area++);
        }
        else if(startPanel == n_panel)
        {
            insert_area(startPanel, total_area);
            total_area++;
            for (i=0; i<startPanel; i++)
            {
                insert_area(i, total_area);
                total_area++;
            }
        }
        else if((startPanel > 0) || (startPanel < n_panel))
        {
            insert_area(startPanel, total_area);
            total_area++;
            for (i=startPanel+1; i<=n_panel; i++)
            {
                insert_area(i, total_area);
                total_area++;
            }
            for (i=0; i<startPanel; i++)
            {
                insert_area(i, total_area);
                total_area++;
            }
        }
        window.setTimeout("scrolling()",waitingtime);
    }
    function scrolling(){ // 실제로 스크롤 하는 부분
        if (bMouseOver && wait_flag)
        {
            for (i=0;i<total_area;i++){
                tmp = document.getElementById('scroll_area'+i).style;
                tmp.top = parseInt(tmp.top)-scrollspeed;
                if (parseInt(tmp.top) <= -scrollerheight){
                    tmp.top = scrollerheight*(total_area-1);
                }
                if (s_tmp++ > (s_amount-1)*scroll_content.length){
                    wait_flag=false;
                    window.setTimeout("wait_flag=true;s_tmp=0;",waitingtime);
                }
            }
        }
        window.setTimeout("scrolling()",1);
    }
    function insert_area(idx, n){ 
        html='<div style="left: 0px; width: 100%; position: absolute; top: '+(scrollerheight*n)+'px" id="scroll_area'+n+'">\n';
        html+=scroll_content[idx]+'\n';
        html+='</div>\n';
        document.write(html);
    }
    // 스크롤러에 들어갈 내용들을 태그와 함께 넣어 줍니다
<?
       
    //$rows = "10"; // 자료가 숫자보다 작으면 안됩니다. - 숫자변경은 10이상 5의 배수로 하세요
   
    $sql = " select *
              from {$g4[write_prefix]}{$bo_table}
              where wr_comment >= 0
              order by wr_id desc limit 0, $rows ";
 $result = sql_query($sql);
 $i = 0;$j = 0;
 while($row = mysql_fetch_array($result)) {
         $list[i] = $row;
    
         $list[i][subject]=stripslashes(cut_str($row[wr_subject], 88)); //제목 글자수자르기
        
         if($row[wr_datetime] >= date("Y-m-d H:i:s", time() - 24 * 3600)) {//새글표시---제목색상변경
           
                 $subject = "<b>{$list[i][subject]}</b>";
           
                 } else {
           
                 $subject = $list[i][subject]; //새글이 아닐경우 그냥 나타남
            }
           
         $date1 = substr($list[$i][datetime],0,10); //날짜표시형식변경
         $date = explode("-", $date1);
            $year = $date[0];
            $month = $date[1];
            $day = $date[2];
            $latest_date = $month."월".$day."일";
        
             if($i==0) {
            echo "scroll_content[".$j."]=\"";
        }
            echo "<font color=#313131>[$latest_date]</font><a href='$g4[bbs_path]/board.php?bo_table=$board[bo_table]&wr_id=$row[wr_id]'> {$subject}</a><br>";
        $i++;
        if($i==1) {
            echo "\";\n\t";
            $i = 0; $j++;
        }
    }
    ?>
//-->
</script> 

     
    <table  height="19" border="0" cellpadding="0" cellspacing="0" width=290>
        <tr>           
            <td valign='top' style='padding-top:1px;'><div style="position: absolute; width: 290px; height: 18px; overflow:hidden;" onMouseover="bMouseOver=0" onMouseout="bMouseOver=1" id="scroll_image">
            <script>startscroll();</script>
            </div>
            </td>
        </tr>
    </table>

           
  • 복사

댓글 전체

//Math.random()
    var scrollerheight=20; // 스크롤러의 세로
    var html,total_area=0,wait_flag=true;
   
    var bMouseOver = 1;
    var scrollspeed = 1; // Scrolling 속도
    var waitingtime = 4000; // 멈추는 시간
    var s_tmp = 0, s_amount = 20;
    var scroll_content=new Array();
    var startPanel=0, n_panel=0, i=0;

여기서 정의된 변수명을 모두 각각 다르게 바꿔줬던 기억이 나네요.
그 아래 사용된 변수명도 모두........
중복사용하면 변수명이 동일한데 엉켜버릴텐데.....
var 변수명
© SIRSOFT
현재 페이지 제일 처음으로