3시간동안 헤매다가 안되서 올립니다~ > 그누4 질문답변

그누4 질문답변

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

3시간동안 헤매다가 안되서 올립니다~ 정보

3시간동안 헤매다가 안되서 올립니다~

본문

메인화면에 최근게시물을 2개를 붙이는데 이 소스가
이미지 스크롤 되면서 우에서 좌로 움직입니다.
근데 게시판 2개를 출력하면 하나는 안뜨고 하나만 뜨네요
어떤지좀 고수님들의 해결 좀 도움좀 받아도 될까 해서 올립니다.

<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
$sliderwidth=320;// 스크롤러의 가로크기
$sliderheight=107 ;// 스크롤러의 높이 ; 이미지높이보다 조금 길게
$slidespeed=1 ;// 스크롤 속도 (클수록 빠릅니다 1-10)
$slidebgcolor="#ffffff" ;// 배경색상
$img_width=90 ;// 이미지의 폭
$img_height=70 ;// 이미지의 높이
?>


<table cellpadding=0 cellspacing=0>
<tr><td bgcolor=yellow>
<script language="JavaScript1.2">
var sliderwidth=<?=$sliderwidth?>;
var sliderheight=<?=$sliderheight?> ;
var slidespeed=<?=$slidespeed?>;
slidebgcolor="<?=$slidebgcolor?>";
var leftrightslide=new Array()
var finalslide=''
<?
echo "leftrightslide[0]=\"<table border=0 cellpadding=0 cellspacing=0><tr>\";"."\r";
$c_cnt=0;
 for ($i=0; $i<count($list); $i++) {  //@@@@@@@@@@@@@@@@@@@@@@@
$c_cnt=$c_cnt+1;

$data_temp ="";
    $title = get_text($list[$i][wr_subject]);
    $content = cut_str(get_text($list[$i][wr_content]), 80);
    $img = "$g4[path]/data/file/$bo_table/".urlencode($list[$i][file][0][file]);
    if (!file_exists($img) || !$list[$i][file][0][file])
      $img = "$latest_skin_path/img/no_image.gif";
    $href = "$g4[bbs_path]/board.php?bo_table=$bo_table";
$img="<img src='".$img."' width='".$img_width."' height='".$img_height."' border='0' align='absmiddle' title='".$title."'>";

$data_temp ="";
$data_temp .="leftrightslide[".$c_cnt."]=\"";
$data_temp .="<td style='padding-left:2pt;padding-right:2pt;' height=70>";
$data_temp .="<TABLE cellSpacing=0 cellPadding=0 border=0><TR><TD> <TABLE cellSpacing=5 cellPadding=0 border=0><TR><TD align=middle>";  //테두리선

//실제내용시작
$data_temp .="<table border=0 cellpadding=0 cellspacing=0 width=100><tr><td align=center  style='padding : 0 0 0 0'><a href='$g4[bbs_path]/board.php?bo_table=$bo_table&wr_id={$list[$i][wr_id]}'>{$img}</a></td></tr>";
//실제내용끝
$data_temp .="<tr><td align=center style='padding : 7 0 0 0'><a href='$g4[bbs_path]/board.php?bo_table=$bo_table&wr_id={$list[$i][wr_id]}'>{$list[$i][subject]}</a> {$list[$i][icon_new]}</td></tr></table>";

$data_temp .="</td></tr></table></td></tr></table>"; //테두리선
$data_temp .="</td>";
$data_temp .="\";"."\r";
echo $data_temp ;
}//@@@@@@@@@@@@@@@@@@@
echo "leftrightslide[".($c_cnt+1)."]=\"</tr></table>\";";
?>

var copyspeed=slidespeed
leftrightslide='<nobr>'+leftrightslide.join(" ")+'</nobr>'
var iedom=document.all||document.getElementById
if (iedom)
document.write('<span id="temp" style="visibility:hidden;position:absolute;top:-100;left:-1000">'+leftrightslide+'</span>')
var actualwidth='0' ;
var cross_slide, ns_slide
function fillup(){
if (iedom){
cross_slide=document.getElementById? document.getElementById("test2") : document.all.test2
cross_slide2=document.getElementById? document.getElementById("test3") : document.all.test3
cross_slide.innerHTML=cross_slide2.innerHTML=leftrightslide
actualwidth=document.all? cross_slide.offsetWidth : document.getElementById("temp").offsetWidth
cross_slide2.style.left=actualwidth+0
}
else if (document.layers){
ns_slide=document.ns_slidemenu.document.ns_slidemenu2
ns_slide2=document.ns_slidemenu.document.ns_slidemenu3
ns_slide.document.write(leftrightslide)
ns_slide.document.close()
actualwidth=ns_slide.document.width
ns_slide2.left=actualwidth+0
ns_slide2.document.write(leftrightslide)
ns_slide2.document.close()
}
lefttime=setInterval("slideleft()",40)
}
window.onload=fillup
function slideleft(){
if (iedom){
if (parseInt(cross_slide.style.left)>(actualwidth*(-1)+8))
cross_slide.style.left=parseInt(cross_slide.style.left)-copyspeed
else
cross_slide.style.left=parseInt(cross_slide2.style.left)+actualwidth+0
if (parseInt(cross_slide2.style.left)>(actualwidth*(-1)+8))
cross_slide2.style.left=parseInt(cross_slide2.style.left)-copyspeed
else
cross_slide2.style.left=parseInt(cross_slide.style.left)+actualwidth+0
}
else if (document.layers){
if (ns_slide.left>(actualwidth*(-1)+8))
ns_slide.left-=copyspeed
else
ns_slide.left=ns_slide2.left+actualwidth+0
if (ns_slide2.left>(actualwidth*(-1)+8))
ns_slide2.left-=copyspeed
else
ns_slide2.left=ns_slide.left+actualwidth+0
}
}

if (iedom||document.layers){
with (document){
document.write('<table border="0" cellspacing="0" cellpadding="0"><td>')
if (iedom){
write('<div style="position:relative;width:'+sliderwidth+';height:'+sliderheight+';overflow:hidden">')
write('<div style="position:absolute;width:'+sliderwidth+';height:'+sliderheight+';background-color:'+slidebgcolor+'" onMouseover="copyspeed=0" onMouseout="copyspeed=slidespeed">')
write('<div id="test2" style="position:absolute;left:0;top:0;width:'+sliderwidth+';height:'+sliderheight+';"></div>')
write('<div id="test3" style="position:absolute;left:-1000;top:0;width:'+sliderwidth+';height:'+sliderheight+';"></div>')
write('</div></div>')
}
else if (document.layers){
write('<ilayer width='+sliderwidth+' height='+sliderheight+' name="ns_slidemenu" bgColor='+slidebgcolor+'>')
write('<layer name="ns_slidemenu2" left=0 top=0 onMouseover="copyspeed=0" onMouseout="copyspeed=slidespeed"></layer>')
write('<layer name="ns_slidemenu3" left=0 top=0 onMouseover="copyspeed=0" onMouseout="copyspeed=slidespeed"></layer>')
write('</ilayer>')
}

document.write('</td></table>')
}
}
</script>
</td></tr>
        </table>

이 소스인데, 2개의 게시판을 최근게시물로 하면 하나가 안뜨네요
<?= latest("ssh_garo_scroll", "photo",6,10); ?>
<?= latest("ssh_garo_scroll", "gal",6,10); ?>

즉 위와 같이 하면 하나는안뜨구 하나는 뜨구 이러네요
좀 부탁드리겠습니다^^
  • 복사

댓글 전체

코드는 머리아파서  ^^;

그냥 제 생각인데 두개가 충돌나는 것  같은데요
id 값을 두개 다르게 줘보세요
동일한 id로 두개 실행하면 당근 하나는 뻗겠죠

이런  질문은 대부분 주소를 적어주셔야 정확하게 알 수 있습니다.
상태표시줄 노란 느낌표 안  뜨나요?
저도 소스는 눈이 침침해서...ㅠ.ㅜ

개가죽님의 답이 맞을듯합니다. 알아듣기 쉽게 사족을 답니다.

스킨자료실에서 그냥 받아서 하는 게시판의 경우 제작자들이 제작할때 id값(게시판 호출값(?))을 고정값으로 하나로 만듭니다.

그 스킨을 같은 화면에서 2개를 사용하다보니 그 고정id값이 서로 충돌을 일으키는것입니다.

스킨에 들어있는 *.php 를 열어서 곰곰히 비교를 하면서 해보시면 눈에 보일겁니다..^^;;;;
둘중에 하나를 iframe 에 넣으면 됩니다. 둘다 넣으셔도 되구요.
서 스크립트는 페이징에 하나의 스크롤러만 가능하게 되어 있습니다. 괜히 스크립트 건드리면 정신건강에 해로울수 있습니다. 깔끔하게 iframe 로 처리하심 됩니다.
© SIRSOFT
현재 페이지 제일 처음으로