모바일 레이아웃에서 메뉴를 가로 스크롤로 구현했습니다.

모바일 브라우저 가로를 벗어나는 경우에 해당 메뉴로 진입했을 경우 해당 메뉴가 화면에 보이게끔 작업해보았습니다.


JS

function gnb(){
   let position = $(".gnb-bar").find(".on").offset().left - 100,
      gnb =  $(".gnb-bar").find(".depth2")
   if(position>=$(window).width()-200){
      gnb.scrollLeft(position);  
   }  
}
function lnb(){
   let target = $(".lnb-bar").find(".on");
   if(target.length==1){
      let position = $(".lnb-bar").find(".on").offset().left - 100,
         lnb =  $(".lnb-bar").find(".depth3")
      if(position>=$(window).width()-200){
         lnb.scrollLeft(position);
      }  
   }  
}

on 클래스를 찾아서 해당 부모 요소의 스크롤값을 제이쿼리로 이동시켜주는 코드입니다.


HTML

      <div class="gnb-bar">
   <!--@if($mid=='index' || $mid=='about')-->
   <ul>
              <li class="on"|cond="$mid=='index' || $mid=='about'"><a href="/index">홈</a></li>
              <li class="on"|cond="$mid=='talks'"><a href="/talks">커뮤니티</a></li>
              <li class="on"|cond="$mid=='shop'"><a href="/shop">포인트마켓</a></li>
              <li class="on"|cond="$mid=='tip'"><a href="/tip">웹디벨로퍼</a></li>
              <li class="on"|cond="$mid=='order'"><a href="/order">제작의뢰</a></li>
              <li class="on"|cond="$mid=='portfolio'"><a href="/portfolio">포트폴리오</a></li>
   </ul>
      <!--@elseif($mid=='cs')-->
      <!--@else-->
      <block loop="$main_menu->list => $key1, $val1" cond="$val1['selected']">
         <ul cond="$val1['list']" class="depth2">
            <li loop="$val1['list'] => $key2, $val2" class="on"|cond="$val2['selected']">
               <a href="{$val2['href']}" target="_blank"|cond="$val2['open_window'] == 'Y'"><span>{$val2['link']}</span></a>
               <ul cond="$val2['list']" class="depth3" style="display:none;">
                  <li loop="$val2['list'] => $key3, $val3">
                     <a href="{$val3['href']}" target="_blank"|cond="$val3['open_window'] == 'Y'"><span>{@preg_replace("/\s+/", "", $val3['link']);}{$val3['link']}</span></a>
                  </li>
               </ul>
            </li>
         </ul>
      </block>
      <!--@end-->
      </div>
<div class="lnb-bar">
   <block loop="$main_menu->list => $key1, $val1" cond="$val1['selected']">
      
         <block loop="$val1['list'] => $key2, $val2" cond="$val2['selected']">
            <ul cond="$val2['list']" class="depth3">
               <li loop="$val2['list'] => $key3, $val3" class="on move"|cond="$val3['selected']">
                  <a href="{$val3['href']}" target="_blank"|cond="$val3['open_window'] == 'Y'"><span>#{preg_replace("/\s+/", "", $val3['link'])}</span></a>
               </li>
            </ul>
         </block>
      
   </block>
</div>




참조

https://debugdaldal.tistory.com/143

https://webisfree.com/2019-08-13/[jquery]-scrollleft()-method-%EC%8A%A4%ED%81%AC%EB%A1%A4-%EC%9C%84%EC%B9%98-%EC%A2%8C%EC%9A%B0-%EC%9D%B4%EB%8F%99%ED%95%98%EA%B8%B0

https://bbol-world.tistory.com/118


 
댓글은 로그인 사용자만 작성 가능합니다. 로그인하기