스크롤메뉴 설정 질문입니다 > 그누4 질문답변

그누4 질문답변

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

스크롤메뉴 설정 질문입니다 정보

스크롤메뉴 설정 질문입니다

본문

아래는 스크롤 메뉴의 좌우 상하..조절하는 곳의 일부입니다.

//환경설정
var ContentsWidth = 900;//움직이는 레이어를 제외한 콘텐츠 너비, 가운데 정렬에만 해당, 전체 테이블중 제일큰 테이블 너비
var DivMovingLayerX = 450;//레이어가 위치할 레프트 값
var DivMovingLayerY = 180;//레어가 위치할 탑 값
var DivMovingLayerRule = 'center';//center -->가운데 정렬을 기준으로 x만큼, left --> 레프트 정렬을 기준으로 x만큼


위에서 450 이라고 있는곳에 변수를 넣을 수는 없나요...

가령 필드등의 변수를 요...

만약 필드명 gr_1 를 넣은다면 어찌넣으면 되나요...

댓글 전체

메뉴파일을 별도로 두고 있고 그 파일에 그누보드 환경변수가 들어있지 않은 경우라면 이 파일을 <script type="text/javascript" src="path"></script> 식으로 호출하는 형태로는 gr_1 변수가 안먹힐겁니다.

메뉴파일 상단에 필요한 그누보드 환경변수를 선언해주거나,
아니면 해당 페이지에 스크립트를 직접 코딩하고 var DivMovingLayerX = <?=$gr_1?>; 이런식으로 해보세요.

함수화 하는 취지에 맞게 메뉴파일은 분리하고 페이지마다 다르게 적용해야 하는 유동적인 값들은 함수에서 매개변수로 처리해서 함수을 호출할때마다 따로 값을 줄 수 있도록 해주면 더욱 좋을것 같습니다.
전체 코드를 올려주시면 고수님들께서 한번 봐주시지 않을까 싶네요.
답변감사합니다..제가 워낙 초보라 위 답글의 해석이 난해하여 아래 소스를 올립니다....잘좀 봐주세요..

<SCRIPT language=javascript>
//리모콘 레이어
//이 자료는 유창화님과 네잎클로버님께서 만들어 주신 것으로
//저는 플래시 디자인 말고는 한게 아무것도 없습니다.
//사용함수
//사용함수
function ResetRemocon(){
 
  var DivMovingLayerYFrom, DivMovingLayerYTo, OffsetY, ResetTime;

  ResetTime = 100;

  if (DivMovingLayerRule == 'center'){
    //해상도 기준, 가운데 에서 x만큼 떨어진 곳에 위치

    if (navigator.userAgent.toLowerCase().indexOf("gecko") > -1) {

      if (document.body.clientWidth < ContentsWidth + 10) {

        DivMovingLayer.style.left = parseInt (ContentsWidth / 2, 10) + DivMovingLayerX + 10 + "px";
      }
      else {

        DivMovingLayer.style.left = (DivMovingLayerX + (document.body.clientWidth / 2)) + "px";
      }
    }
    else{

      if (document.body.clientWidth < ContentsWidth) {

        DivMovingLayer.style.left = parseInt (ContentsWidth / 2, 10) + DivMovingLayerX + "px";
      }
      else {

        DivMovingLayer.style.left = (DivMovingLayerX + (document.body.clientWidth / 2)) + "px";
      }
    }
  }
  else if (DivMovingLayerRule == 'left'){
    //해상도와 무관, 왼쪽 에서 x만큼 떨어진 곳에 위치

    DivMovingLayer.style.left = (DivMovingLayerX) + "px";
  }

  DivMovingLayerYFrom = parseInt (DivMovingLayer.style.top, 10);
  DivMovingLayerYTo = DivMovingLayerY + document.body.scrollTop + 1;

  if ( DivMovingLayerYFrom != DivMovingLayerYTo ) {

    OffsetY = Math.ceil( Math.abs( DivMovingLayerYTo - DivMovingLayerYFrom ) / 20 );

    if ( DivMovingLayerYTo < DivMovingLayerYFrom )
      OffsetY = -OffsetY;

    DivMovingLayer.style.top = (DivMovingLayerYFrom + OffsetY) + "px";

    ResetTime = 10;
  }

  setTimeout ("ResetRemocon()", ResetTime);
}

function SetRemocon() {

  DivMovingLayer.style.display = "block";

  DivMovingLayer.style.top = (DivMovingLayerY + document.body.scrollTop + 1) + "px";

  ResetRemocon();
  return true;
}

function NoneRemocon() {

  DivMovingLayer.style.display = "none";
  selectBoxVisible();
}

//레이어 디자인부분
document.write("<div id=DivMovingLayer style='position:absolute;left:0px;top:0px; z-index:8;display:none;'>");
////selectBoxVisible() --> 그누보드 자체 지원함수, 레이어와 셀렉트박스가 겹쳐서 숨겼던 셀렉트 박스를 다시보여줌
////selectBoxHidden(레이어이름) --> 그누보드 자체 지원함수, 레이어와 셀렉트박스가 겹치면 셀렉트 박스를 숨김

//document.write("<table border=0 cellpadding=3 cellspacing=0 style='background-color:#F6FAFF; border: #9DADE5 solid; border-width: 1px 1px 1px 1px; width: 60px; padding: 3px;'>");
//아래에 보여줄 메뉴를 넣으세요.
document.write("<tr><td align='center'><img src='<?=$side_scroll_menu_skin_path?>/img/1.gif' ></td></tr>");

//document.write("<tr><td align='center'><a href='javascript:history.go(-1);' title='뒤로가기'>[뒤로가기]</a></td></tr>");

document.write("</table>");
document.write("</div>");



if (typeof document.body == "undefined")
  document.body = document.getElementsByTagName("BODY")[0];

var DivMovingLayer = document.getElementById("DivMovingLayer");

//환경설정
var ContentsWidth = 900;//움직이는 레이어를 제외한 콘텐츠 너비, 가운데 정렬에만 해당, 전체 테이블중 제일큰 테이블 너비
var DivMovingLayerX =450;//레이어가 위치할 레프트 값
var DivMovingLayerY = 180;//레어가 위치할 탑 값
var DivMovingLayerRule = 'center';//center -->가운데 정렬을 기준으로 x만큼, left --> 레프트 정렬을 기준으로 x만큼

//레이어 보이기
//SetRemocon();
window.onload=SetRemocon;

</SCRIPT>
var DivMovingLayerX =<?=$group[gr_1]?>;//레이어가 위치할 레프트 값
var DivMovingLayerY = 180;//레어가 위치할 탑 값
var DivMovingLayerRule = 'center';//center -->가운데 정렬을 기준으로 x만큼, left --> 레프트 정렬을

위와 같이 점을 빼니되네요...감사합니다
전체 66,554 |RSS
그누4 질문답변 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT