자동슬라이드 2개가 작동이안되는데 질문입니다ㅜㅜ
본문
$n_thumb_width = 150; //썸네일 가로 크기
$n_thumb_height =47; //썸네일 세로 크기
$n_thumb_height2 = $n_thumb_height + 30; //썸네일 세로 크기
?>
<link rel="stylesheet" href="<?php echo $latest_skin_url; ?>/style.css">
<script type="text/javascript">
var sliderwidth="1030px" //스크롤 가로 사이즈
var sliderheight="<?=$n_thumb_height;?>px" //스크롤 세로 사이즈
var sliderheight2="<?=$n_thumb_height2;?>px" //스크롤 세로 사이즈
var slidespeed="1"
var slidebgcolor="transparent" // 배경색을 주시려면 #99cc00 등과 같이 바꾸시면 됩니다 !
var leftarrowimage = "<?php echo $latest_skin_url;?>/img/left.gif";
var rightarrowimage = "<?php echo $latest_skin_url;?>/img/right.gif";
var leftrightslide=new Array()
var finalslide=''
<?
for ($i=0; $i<count($list); $i++) {
$n_thumb = get_list2_thumbnail($bo_table, $list[$i]['wr_id'], $n_thumb_width, $n_thumb_height);
$n_noimg = "$latest_skin_url/img/noimg.gif";
if($n_thumb['src']) {
$img_content = $n_thumb['src'];
} else {
$img_content = $n_thumb_width;
}
?>
leftrightslide[<?=$i;?>] = "<span style=' padding-top:85px; width:120px; text-align:center; position:absolute; overflow:hidden'><A HREF='<?php echo $list[$i]['href'];?>'><?= $list[$i]['subject']; ?></A></span> <img src='<?=$img_content;?>' border=1 width='<?=$n_thumb_width?>' height='<?=$n_thumb_height?>' > ";
<?
}
?>
var imagegap=""
var slideshowgap=0
var copyspeed=slidespeed
leftrightslide='<nobr>'+leftrightslide.join(imagegap)+'</nobr>'
var iedom=document.all||document.getElementById
if (iedom)
document.write('<span id="temp" style="visibility:hidden;position:absolute;top:-100px; left:-9000px">'+leftrightslide+'</span>')
var actualwidth=''
var cross_slide, ns_slide
var righttime,lefttime
function fillup(){
if (iedom){
cross_slide=document.getElementById? document.getElementById("test4") : document.all.test4
cross_slide2=document.getElementById? document.getElementById("test5") : document.all.test5
cross_slide.innerHTML=cross_slide2.innerHTML=leftrightslide
actualwidth=document.all? cross_slide.offsetWidth : document.getElementById("temp").offsetWidth
cross_slide2.style.left=actualwidth+slideshowgap+"px"
}
else if (document.layers){
ns_slide=document.ns_slidemenu.document.ns_slidemenuorange
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+slideshowgap
ns_slide2.document.write(leftrightslide)
ns_slide2.document.close()
}
lefttime=setInterval("slideleft()",30)
}
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+"px"
else
cross_slide.style.left=parseInt(cross_slide2.style.left)+actualwidth+slideshowgap+"px"
if (parseInt(cross_slide2.style.left)>(actualwidth*(-1)+8))
cross_slide2.style.left=parseInt(cross_slide2.style.left)-copyspeed+"px"
else
cross_slide2.style.left=parseInt(cross_slide.style.left)+actualwidth+slideshowgap+"px"
}
else if (document.layers){
if (ns_slide.left>(actualwidth*(-1)+8))
ns_slide.left-=copyspeed
else
ns_slide.left=ns_slide2.left+actualwidth+slideshowgap
if (ns_slide2.left>(actualwidth*(-1)+8))
ns_slide2.left-=copyspeed
else
ns_slide2.left=ns_slide.left+actualwidth+slideshowgap
}
}
function slideright(){
if (iedom){
if (parseInt(cross_slide.style.left)<(actualwidth+8))
cross_slide.style.left=parseInt(cross_slide.style.left)+copyspeed+"px"
else
cross_slide.style.left=parseInt(cross_slide2.style.left)+actualwidth*(-1)+slideshowgap+"px"
if (parseInt(cross_slide2.style.left)<(actualwidth+8))
cross_slide2.style.left=parseInt(cross_slide2.style.left)+copyspeed+"px"
else
cross_slide2.style.left=parseInt(cross_slide.style.left)+actualwidth*(-1)+slideshowgap+"px"
}
else if (document.layers){
if (ns_slide.left>(actualwidth*(-1)+8))
ns_slide.left-=copyspeed
else
ns_slide.left=ns_slide2.left+actualwidth+slideshowgap
if (ns_slide2.left>(actualwidth*(-1)+8))
ns_slide2.left-=copyspeed
else
ns_slide2.left=ns_slide.left+actualwidth+slideshowgap
}
}
function right(){
if(lefttime){
clearInterval(lefttime)
clearInterval(righttime)
righttime=setInterval("slideright()",30)
}
}
function left(){
if(righttime){
clearInterval(lefttime)
clearInterval(righttime)
lefttime=setInterval("slideleft()",30)
}
}
document.write('<table width='+sliderwidth+' border="0" cellspacing="0" cellpadding="0" style="margin-left:50px; margin-top:-12px; ">');
//document.write('<tr><td align=center valign=middle width=20><img src='+leftarrowimage+' onMouseover="left(); copyspeed=2" onMouseout="copyspeed=1" style="cursor:hand"></td>')
document.write('<tr>')
if (iedom||document.layers){
with (document){
document.write('<td>')
if (iedom){
write('<div style="position:relative;width:'+sliderwidth+';height:'+sliderheight2+';overflow:hidden">')
write('<div style="position:absolute;width:'+sliderwidth+';height:'+sliderheight2+';background-color:'+slidebgcolor+'" onMouseover="copyspeed=0" onMouseout="copyspeed=1">')
write('<div id="test4" style="position:absolute;left:0px;top:0px"></div>')
write('<div id="test5" style="position:absolute;left:-1000px;top:0px">aa</div>')
write('</div></div>')
}
else if (document.layers){
write('<ilayer width='+sliderwidth+' height='+sliderheight+' name="ns_slidemenu" bgColor='+slidebgcolor+'>')
write('<layer name="ns_slidemenuorange" 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>')
}
}
document.write('</tr></table>')
</script>
같은 latest스킨이고, 복사해서 latest1, latest2 이렇게 사용중이며
고유아이디인 test2, test3 , temp부분은
latest2에서 사용할때 test4, test5, temp2로 해서 사용중인데도
test4,5, temp2로 수정한 latest2에서는 슬라이드가 정상적으로 안보이네요ㅠㅠ
도저히 감이안옵니다..도와주세요
아이디가 중복 되었다는 경고(에러)는 없어요.
latest2번 슬라이드가 정상적으로 안보여서, 1번슬라이드를 잠시 주석처리하니
2번 슬라이드가보입니다ㅠ 하지만 2개의 슬라이드를 같이 놓으니
다시 latest2번 자리에 슬라이드가 안보이고, latest1번 자리의 슬라이드만 보여집니다....
답변 1
내부 파일이 아닌 외부 js 파일에서도 중복되어 출력이 안될수 있습니다.
또한 이 전 스크립트에서 오류가 나서 현재 스크립트 로드가 안되는수도 있구요
위 내용으론 어떤 오륜지 정확하게 알수가 없습니다.
1개만 사용시 작동된다면 100% 함수 중복으로 인한 오류 입니다.
외부 라이브러리(js)에서도 해당 고유id 를 변경해주셔야하며
별도로 다르게 불러오셔야 합니다.