<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>진스</title>
    <link>https://bangj.tistory.com/</link>
    <description></description>
    <language>ko</language>
    <pubDate>Sun, 26 Jul 2026 15:33:38 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>입방정</managingEditor>
    <item>
      <title>nuxt3 사용시 nuxt.config.ts 작성했던 내용</title>
      <link>https://bangj.tistory.com/279</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #1f1f1f; color: #cccccc; text-align: start;&quot;&gt;카카오맵, 파이어베이스,scss 사용&lt;/span&gt;&lt;/p&gt;
&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc;&quot;&gt;
&lt;div&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;// &lt;a href=&quot;https://nuxt.com/docs/api/configuration/nuxt-config&quot;&gt;https://nuxt.com/docs/api/configuration/nuxt-config&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;export&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;default&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;defineNuxtConfig&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;({&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;compatibilityDate&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;'2024-04-03'&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;devtools&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; { &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;enabled&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;true&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; },&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;ssr&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;true&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;// SSR 비활성화&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;nitro&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;preset&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;'static'&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;// 정적 사이트 빌드 ssr로할때는 사실 불필요한듯&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; },&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;plugins&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; [&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;'~/plugins/firebase.js'&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;// Firebase 초기화 플러그인 추가&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; ],&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;runtimeConfig&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;KAKAO_API_KEY&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;process&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;env&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #4fc1ff;&quot;&gt;KAKAO_API_KEY&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;KAKAO_REST_KEY&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;process&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;env&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #4fc1ff;&quot;&gt;KAKAO_REST_KEY&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;firebaseApiKey&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;AIzaSyDvVM-mwJr_oc0NkLudgF...&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;firebaseAuthDomain&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;runcrew-6a407.firebaseapp.com&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;firebaseProjectId&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;r...&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;firebaseStorageBucket&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;runcrew-6a407.firebasestorage.app&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;firebaseMessagingSenderId&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;7755806...&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;firebaseAppId&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;1:775580694548:web:20f78ee641af...&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;firebaseMeasurementId&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;G-2E9BFM...&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;NODE_ENV&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;process&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;env&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #4fc1ff;&quot;&gt;NODE_ENV&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;||&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;'development'&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; },&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; },&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;css&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; [&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;@/assets/styles/main.scss&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;],&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;vite&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;css&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;preprocessorOptions&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;scss&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;api&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;'modern-compiler'&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&amp;nbsp; //Deprecation Warning: The legacy JS API is deprecated and will be removed in Dart Sass 2.0.0.&amp;nbsp; 경고문구사라짐&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; },&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; },&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; },&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;modules&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; [&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;'@samk-dev/nuxt-vcalendar'&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;'@pinia/nuxt'&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;],&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;})&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Vue</category>
      <author>입방정</author>
      <guid isPermaLink="true">https://bangj.tistory.com/279</guid>
      <comments>https://bangj.tistory.com/279#entry279comment</comments>
      <pubDate>Mon, 9 Dec 2024 00:38:47 +0900</pubDate>
    </item>
    <item>
      <title>휠 이벤트,터치 이벤트,스크롤을 원하는 속도로 부드럽게 이동하기</title>
      <link>https://bangj.tistory.com/275</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;메인 상단에 영상 + 이미지 스와이프 배너가 있음&lt;br /&gt;pc와 모바일에서&amp;nbsp; 휠을 내리거나 , 밑으로 스와이프를 하면 자연스럽게 메인배너 밑으로 스크롤 이동되길 원함&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;기본적으로 모바일에서 touch이벤트시에&lt;br /&gt;&amp;nbsp;&amp;nbsp;window.scrollTo({&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;top:&amp;nbsp;targetScrollY,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;behavior:&amp;nbsp;'smooth'&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}); 이부분만으로는 좀더 빠른 스크롤이동이 안됨&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 작성한 코드:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;///////////////////////////메인슬라이드&amp;nbsp;휠&amp;nbsp;동작 &lt;br /&gt;let&amp;nbsp;isScrolling&amp;nbsp;=&amp;nbsp;false; &lt;br /&gt;let&amp;nbsp;isWheeling&amp;nbsp;=&amp;nbsp;false; &lt;br /&gt;const&amp;nbsp;mainVisualElement&amp;nbsp;=&amp;nbsp;document.querySelector('.mainVisual'); &lt;br /&gt;const&amp;nbsp;mainVisualHeight&amp;nbsp;=&amp;nbsp;mainVisualElement.clientHeight; &lt;br /&gt;&lt;br /&gt;document.addEventListener('wheel',&amp;nbsp;function(event)&amp;nbsp;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;const&amp;nbsp;scrollTop&amp;nbsp;=&amp;nbsp;window.scrollY; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;const&amp;nbsp;SCROLL_THRESHOLD&amp;nbsp;=&amp;nbsp;0; &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(!isWheeling&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;event.deltaY&amp;nbsp;&amp;gt;&amp;nbsp;SCROLL_THRESHOLD&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;scrollTop&amp;nbsp;&amp;lt;&amp;nbsp;mainVisualHeight)&amp;nbsp;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;event.preventDefault(); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;isWheeling&amp;nbsp;=&amp;nbsp;true; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;isScrolling&amp;nbsp;=&amp;nbsp;true; &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;const&amp;nbsp;targetScrollY&amp;nbsp;=&amp;nbsp;mainVisualHeight; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;const&amp;nbsp;duration&amp;nbsp;=&amp;nbsp;500;&amp;nbsp;//&amp;nbsp;애니메이션&amp;nbsp;지속&amp;nbsp;시간&amp;nbsp;(ms) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;const&amp;nbsp;startTime&amp;nbsp;=&amp;nbsp;performance.now(); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;const&amp;nbsp;startScrollY&amp;nbsp;=&amp;nbsp;window.scrollY; &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;function&amp;nbsp;scroll()&amp;nbsp;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;const&amp;nbsp;elapsed&amp;nbsp;=&amp;nbsp;performance.now()&amp;nbsp;-&amp;nbsp;startTime; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;const&amp;nbsp;progress&amp;nbsp;=&amp;nbsp;Math.min(elapsed&amp;nbsp;/&amp;nbsp;duration,&amp;nbsp;1);&amp;nbsp;//&amp;nbsp;진행률&amp;nbsp;계산&amp;nbsp;(0~1&amp;nbsp;사이&amp;nbsp;값) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;const&amp;nbsp;easeInOutQuad&amp;nbsp;=&amp;nbsp;t&amp;nbsp;=&amp;gt;&amp;nbsp;t&amp;nbsp;&amp;lt;&amp;nbsp;0.5&amp;nbsp;?&amp;nbsp;2&amp;nbsp;*&amp;nbsp;t&amp;nbsp;*&amp;nbsp;t&amp;nbsp;:&amp;nbsp;-1&amp;nbsp;+&amp;nbsp;(4&amp;nbsp;-&amp;nbsp;2&amp;nbsp;*&amp;nbsp;t)&amp;nbsp;*&amp;nbsp;t;&amp;nbsp;//&amp;nbsp;이징&amp;nbsp;함수&amp;nbsp;정의&amp;nbsp;(선택&amp;nbsp;사항) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;const&amp;nbsp;easedProgress&amp;nbsp;=&amp;nbsp;easeInOutQuad(progress);&amp;nbsp;//&amp;nbsp;선택적으로&amp;nbsp;이징&amp;nbsp;함수를&amp;nbsp;적용할&amp;nbsp;수&amp;nbsp;있습니다. &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;const&amp;nbsp;newScrollY&amp;nbsp;=&amp;nbsp;startScrollY&amp;nbsp;+&amp;nbsp;(targetScrollY&amp;nbsp;-&amp;nbsp;startScrollY)&amp;nbsp;*&amp;nbsp;easedProgress; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;window.scrollTo(0,&amp;nbsp;newScrollY); &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(progress&amp;nbsp;&amp;lt;&amp;nbsp;1)&amp;nbsp;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;requestAnimationFrame(scroll); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;else&amp;nbsp;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;isScrolling&amp;nbsp;=&amp;nbsp;false; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;requestAnimationFrame(scroll); &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;setTimeout(()&amp;nbsp;=&amp;gt;&amp;nbsp;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;isWheeling&amp;nbsp;=&amp;nbsp;false; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;},&amp;nbsp;500);&amp;nbsp;//&amp;nbsp;휠&amp;nbsp;애니메이션이&amp;nbsp;끝날&amp;nbsp;때까지&amp;nbsp;대기 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} &lt;br /&gt;},&amp;nbsp;{&amp;nbsp;passive:&amp;nbsp;false&amp;nbsp;}); &lt;br /&gt;&lt;br /&gt;window.addEventListener('scroll',&amp;nbsp;function()&amp;nbsp;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;const&amp;nbsp;scrollTop&amp;nbsp;=&amp;nbsp;window.scrollY; &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;메인&amp;nbsp;비주얼을&amp;nbsp;벗어나면&amp;nbsp;isScrolling&amp;nbsp;상태를&amp;nbsp;해제 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(scrollTop&amp;nbsp;&amp;gt;=&amp;nbsp;mainVisualHeight)&amp;nbsp;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;isScrolling&amp;nbsp;=&amp;nbsp;false; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} &lt;br /&gt;}); &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;///////////////////////////메인슬라이드&amp;nbsp;모바일&amp;nbsp;스와이프&amp;nbsp;동작 &lt;br /&gt;let&amp;nbsp;touchStartY&amp;nbsp;=&amp;nbsp;0; &lt;br /&gt;let&amp;nbsp;touchEndY&amp;nbsp;=&amp;nbsp;0; &lt;br /&gt;const&amp;nbsp;swipeThreshold&amp;nbsp;=&amp;nbsp;50;&amp;nbsp; &lt;br /&gt;const&amp;nbsp;duration&amp;nbsp;=&amp;nbsp;500;&amp;nbsp;//&amp;nbsp;애니메이션&amp;nbsp;지속&amp;nbsp;시간&amp;nbsp;(ms) &lt;br /&gt;&lt;br /&gt;mainVisualElement.addEventListener('touchstart',&amp;nbsp;function(event)&amp;nbsp;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;touchStartY&amp;nbsp;=&amp;nbsp;event.touches[0].clientY; &lt;br /&gt;}); &lt;br /&gt;&lt;br /&gt;mainVisualElement.addEventListener('touchmove',&amp;nbsp;function(event)&amp;nbsp;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;touchEndY&amp;nbsp;=&amp;nbsp;event.touches[0].clientY; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;위로&amp;nbsp;스와이프할&amp;nbsp;때&amp;nbsp;preventDefault&amp;nbsp;활성화 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(touchStartY&amp;nbsp;&amp;gt;&amp;nbsp;touchEndY&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;window.pageYOffset&amp;nbsp;&amp;lt;&amp;nbsp;mainVisualHeight)&amp;nbsp;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;event.preventDefault(); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} &lt;br /&gt;}); &lt;br /&gt;&lt;br /&gt;mainVisualElement.addEventListener('touchend',&amp;nbsp;function(event)&amp;nbsp;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;touchEndY&amp;nbsp;=&amp;nbsp;event.changedTouches[0].clientY; &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(Math.abs(touchStartY&amp;nbsp;-&amp;nbsp;touchEndY)&amp;nbsp;&amp;gt;&amp;nbsp;swipeThreshold)&amp;nbsp;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(touchStartY&amp;nbsp;&amp;gt;&amp;nbsp;touchEndY&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;window.pageYOffset&amp;nbsp;&amp;lt;&amp;nbsp;mainVisualHeight)&amp;nbsp;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;moveMainVisual(mainVisualHeight);&amp;nbsp;//&amp;nbsp;위로&amp;nbsp;스와이프할&amp;nbsp;때 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;else&amp;nbsp;if&amp;nbsp;(touchStartY&amp;nbsp;&amp;lt;&amp;nbsp;touchEndY&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;window.pageYOffset&amp;nbsp;&amp;gt;=&amp;nbsp;mainVisualHeight)&amp;nbsp;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;moveMainVisual(0);&amp;nbsp;//&amp;nbsp;아래로&amp;nbsp;스와이프할&amp;nbsp;때 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} &lt;br /&gt;}); &lt;br /&gt;&lt;br /&gt;function&amp;nbsp;moveMainVisual(targetScrollY)&amp;nbsp;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;const&amp;nbsp;startScrollY&amp;nbsp;=&amp;nbsp;window.scrollY; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;const&amp;nbsp;startTime&amp;nbsp;=&amp;nbsp;performance.now(); &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;function&amp;nbsp;scroll()&amp;nbsp;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;const&amp;nbsp;elapsed&amp;nbsp;=&amp;nbsp;performance.now()&amp;nbsp;-&amp;nbsp;startTime; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;const&amp;nbsp;progress&amp;nbsp;=&amp;nbsp;Math.min(elapsed&amp;nbsp;/&amp;nbsp;duration,&amp;nbsp;1); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;const&amp;nbsp;easeInOutQuad&amp;nbsp;=&amp;nbsp;t&amp;nbsp;=&amp;gt;&amp;nbsp;t&amp;nbsp;&amp;lt;&amp;nbsp;0.5&amp;nbsp;?&amp;nbsp;2&amp;nbsp;*&amp;nbsp;t&amp;nbsp;*&amp;nbsp;t&amp;nbsp;:&amp;nbsp;-1&amp;nbsp;+&amp;nbsp;(4&amp;nbsp;-&amp;nbsp;2&amp;nbsp;*&amp;nbsp;t)&amp;nbsp;*&amp;nbsp;t; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;const&amp;nbsp;easedProgress&amp;nbsp;=&amp;nbsp;easeInOutQuad(progress); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;const&amp;nbsp;newScrollY&amp;nbsp;=&amp;nbsp;startScrollY&amp;nbsp;+&amp;nbsp;(targetScrollY&amp;nbsp;-&amp;nbsp;startScrollY)&amp;nbsp;*&amp;nbsp;easedProgress; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;window.scrollTo(0,&amp;nbsp;newScrollY); &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(progress&amp;nbsp;&amp;lt;&amp;nbsp;1)&amp;nbsp;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;requestAnimationFrame(scroll); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;scroll(); &lt;br /&gt;} &lt;/p&gt;</description>
      <category>JavaScript</category>
      <author>입방정</author>
      <guid isPermaLink="true">https://bangj.tistory.com/275</guid>
      <comments>https://bangj.tistory.com/275#entry275comment</comments>
      <pubDate>Fri, 14 Jun 2024 13:45:07 +0900</pubDate>
    </item>
    <item>
      <title>css 폰트 두께 정의</title>
      <link>https://bangj.tistory.com/270</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;font-weight&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div class=&quot;table&quot;&gt;&lt;span style=&quot;color: #000000; font-size: 1.44em; letter-spacing: -1px;&quot;&gt;두께별 이름 및 상대 두께&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;table&quot;&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;두께&lt;/th&gt;
&lt;th&gt;이름&lt;/th&gt;
&lt;th&gt;bolder&lt;/th&gt;
&lt;th&gt;lighter&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;100&lt;/td&gt;
&lt;td&gt;Thin&lt;/td&gt;
&lt;td&gt;400&lt;/td&gt;
&lt;td&gt;100&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;200&lt;/td&gt;
&lt;td&gt;Extra Light(Ultra Light)&lt;/td&gt;
&lt;td&gt;400&lt;/td&gt;
&lt;td&gt;100&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;300&lt;/td&gt;
&lt;td&gt;Light&lt;/td&gt;
&lt;td&gt;400&lt;/td&gt;
&lt;td&gt;100&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;400&lt;/td&gt;
&lt;td&gt;Normal&lt;/td&gt;
&lt;td&gt;700&lt;/td&gt;
&lt;td&gt;100&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;500&lt;/td&gt;
&lt;td&gt;Medium&lt;/td&gt;
&lt;td&gt;700&lt;/td&gt;
&lt;td&gt;100&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;600&lt;/td&gt;
&lt;td&gt;Semi Bold(Demi Bold)&lt;/td&gt;
&lt;td&gt;900&lt;/td&gt;
&lt;td&gt;400&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;700&lt;/td&gt;
&lt;td&gt;Bold&lt;/td&gt;
&lt;td&gt;900&lt;/td&gt;
&lt;td&gt;400&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;800&lt;/td&gt;
&lt;td&gt;Extra Bold(Ultra Bold)&lt;/td&gt;
&lt;td&gt;900&lt;/td&gt;
&lt;td&gt;700&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;900&lt;/td&gt;
&lt;td&gt;Black(Heavy)&lt;/td&gt;
&lt;td&gt;900&lt;/td&gt;
&lt;td&gt;700&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;속성(Property)&lt;/h3&gt;
&lt;div class=&quot;table&quot;&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;&lt;colgroup&gt; &lt;col width=&quot;15%&quot; /&gt; &lt;col width=&quot;30%&quot; /&gt; &lt;col /&gt; &lt;/colgroup&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;속성값&lt;/th&gt;
&lt;th&gt;값(예)&lt;/th&gt;
&lt;th&gt;설명&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;normal&lt;/th&gt;
&lt;td&gt;font-weight : normal;&lt;/td&gt;
&lt;td&gt;폰트 두께를 기본(400)으로 설정합니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;bold&lt;/th&gt;
&lt;td&gt;font-weight : bold;&lt;/td&gt;
&lt;td&gt;폰트 두께를 볼드(700)으로 설정합니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;lighter&lt;/th&gt;
&lt;td&gt;font-weight : lighter;&lt;/td&gt;
&lt;td&gt;폰트 두께를 기본 두께보다 얇게 설정합니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;bolder&lt;/th&gt;
&lt;td&gt;font-weight : bolder;&lt;/td&gt;
&lt;td&gt;폰트 두께를 기본 두께보다 두껍게 설정합니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;number&lt;/th&gt;
&lt;td&gt;font-weight : 400;&lt;/td&gt;
&lt;td&gt;폰트 두께를 숫자로 설정합니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <author>입방정</author>
      <guid isPermaLink="true">https://bangj.tistory.com/270</guid>
      <comments>https://bangj.tistory.com/270#entry270comment</comments>
      <pubDate>Thu, 9 May 2024 11:35:26 +0900</pubDate>
    </item>
    <item>
      <title>숫자 키패드 입력시 다음 input으로 이동</title>
      <link>https://bangj.tistory.com/264</link>
      <description>&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc;&quot;&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;div&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;class&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;inp_sel&quot;&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;input&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;type&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;tel&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;placeholder&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;4자리&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;maxlength&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;4&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;class&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;inputs&quot;&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;div&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;div&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;class&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;inp_sel&quot;&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;input&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;type&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;tel&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;placeholder&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;4자리&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;maxlength&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;4&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;class&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;inputs&quot;&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;div&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;pre class=&quot;xml&quot; style=&quot;background-color: #272822; color: #f8f8f2; text-align: left;&quot;&gt;&lt;code&gt;&amp;lt;script&amp;gt;
$(function() {
    $(&quot;.inputs&quot;).on('keyup', function () {
        var charLimit = $(this).prop(&quot;maxlength&quot;);
        if ($(this).val().length &amp;gt;= charLimit) {
            $(this).next('.inputs').focus();
            return false;
        }
    });
});
&amp;lt;/script&amp;gt;&lt;/code&gt;&lt;/pre&gt;</description>
      <category>JavaScript</category>
      <author>입방정</author>
      <guid isPermaLink="true">https://bangj.tistory.com/264</guid>
      <comments>https://bangj.tistory.com/264#entry264comment</comments>
      <pubDate>Wed, 17 Jan 2024 17:18:10 +0900</pubDate>
    </item>
    <item>
      <title>3줄이상 말줄임</title>
      <link>https://bangj.tistory.com/262</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;다른곳에서본 것들은 잘안된다..&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이건 됐음/&lt;/p&gt;
&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc;&quot;&gt;
&lt;div&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;white-space&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;normal&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;display&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: -webkit-box;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;word-wrap&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;break-word&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;-webkit-line-clamp&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;-webkit-box-orient&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;vertical&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;text-overflow&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;ellipsis&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;overflow&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;hidden&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;</description>
      <category>Css</category>
      <author>입방정</author>
      <guid isPermaLink="true">https://bangj.tistory.com/262</guid>
      <comments>https://bangj.tistory.com/262#entry262comment</comments>
      <pubDate>Wed, 25 Oct 2023 14:45:01 +0900</pubDate>
    </item>
    <item>
      <title>안드로이드 웹뷰 스크롤바 안보일 때 (Android Webview scrollbar)</title>
      <link>https://bangj.tistory.com/261</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;웹뷰 방식으로 작업하고 app에서 확인, 카톡브라우저에서도 동일하게&amp;nbsp; 스크롤은 되지만 스크롤바가 나타나지 않음&lt;/p&gt;
&lt;p style=&quot;color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1694753878808&quot; class=&quot;javascript&quot; style=&quot;color: #000000; text-align: start;&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;::-webkit-scrollbar {
    width: 5px;
}     
::-webkit-scrollbar-track {
   // -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.5); 
  //  -webkit-border-radius: 10px;
  //  border-radius: 10px;
}     
::-webkit-scrollbar-thumb {
  //  -webkit-border-radius: 10px;
 //   border-radius: 10px;
    background: #ccc; 
   // -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.5); 
}
::-webkit-scrollbar-thumb:window-inactive {
    background: #ccc; 
}&lt;/code&gt;&lt;/pre&gt;</description>
      <category>Css</category>
      <author>입방정</author>
      <guid isPermaLink="true">https://bangj.tistory.com/261</guid>
      <comments>https://bangj.tistory.com/261#entry261comment</comments>
      <pubDate>Fri, 15 Sep 2023 14:01:51 +0900</pubDate>
    </item>
    <item>
      <title>swiper.js 가운데 정렬 및 기타 옵션</title>
      <link>https://bangj.tistory.com/258</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;440&quot; data-origin-height=&quot;347&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b0hhUS/btsqKz4jBWG/Sm2EHDu7fFeZck9KA10GF0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b0hhUS/btsqKz4jBWG/Sm2EHDu7fFeZck9KA10GF0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b0hhUS/btsqKz4jBWG/Sm2EHDu7fFeZck9KA10GF0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb0hhUS%2FbtsqKz4jBWG%2FSm2EHDu7fFeZck9KA10GF0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;440&quot; height=&quot;347&quot; data-origin-width=&quot;440&quot; data-origin-height=&quot;347&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;모바일로 작업중이라 breakpoints 640만 보면 되는데. 이런식으로 슬라이드의 양옆으로 노출하고 싶다면.&lt;/p&gt;
&lt;pre id=&quot;code_1691657301082&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;const swiper2 = new Swiper('.swiper-container2', {
        //방향 셋팅 vertical 수직, horizontal 수평 설정이 없으면 수평
        direction : 'horizontal',
        //한번에 보여지는 페이지 숫자
        slidesPerView : 3.5, 
        //페이지와 페이지 사이의 간격
        spaceBetween : 30,
        //해상도에 따른 조절
        breakpoints: {
            640: {
                slidesPerView: 1.4,
                spaceBetween:20,
                slidesOffsetBefore: 0, // 왼쪽 여백
                centeredSlides:true, // 슬라이드 가운데 정렬
                scrollbar : {
                    el : '.swiper-scrollbar',
                    draggable: true,
                    dragSize: 150,
                },
            },
            960: {
                slidesPerView: 3,
                spaceBetween: 40,
            },
            1024: {
                slidesPerView: 3.5,
                spaceBetween: 30,
            },
        },
        //가운데 배치
        centeredSlides:false,
        //컨테이너 시작 부분(픽셀단위)
        slidesOffsetBefore: 0,
        //드레그 기능 true 사용가능 false 사용불가
        debugger : true,
        //마우스 휠기능 true 사용가능 false 사용불가
        mousewheel : false,
        //반복 기능 true 사용가능 false 사용불가
        loop : false,
        //선택된 슬라이드를 중심으로 true 사용가능 false 사용불가 djqt
        centeredSlides : false,
        // 페이지 전환효과 slidesPerView효과와 같이 사용 불가
        // effect: 'fade',
        //탭안에 두개의 스와이프사용시 아래 추가
        observer: true, 
        observeParents: true,
        //자동 스크롤링
        autoplay : false,
        //페이징
        pagination : {
            //페이지 기능
            el : '.swiper-pagination2',
            //클릭 가능여부
            clickable : true,
        },
        // 스크롤바 설정하기
        scrollbar : {
            el : '.swiper-scrollbar',
            draggable: true,
            dragSize: 300,
        },
        //방향표
        navigation : {
            //다음페이지 설정
            nextEl : '.swiper-button-next2',
            //이전페이지 설정
            prevEl : '.swiper-button-prev2',
        },
    });&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이중에서&amp;nbsp; 이 두 옵션을 이용하자.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;slidesOffsetBefore:&amp;nbsp;0,&amp;nbsp;//&amp;nbsp;왼쪽&amp;nbsp;여백 &lt;br /&gt;centeredSlides:true, // 슬라이드 가운데 정렬&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>JavaScript</category>
      <author>입방정</author>
      <guid isPermaLink="true">https://bangj.tistory.com/258</guid>
      <comments>https://bangj.tistory.com/258#entry258comment</comments>
      <pubDate>Thu, 10 Aug 2023 17:49:43 +0900</pubDate>
    </item>
    <item>
      <title>vue에서 pinia등의 패키지 설치시 오류가 나왔다.</title>
      <link>https://bangj.tistory.com/256</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;npm i pinia로 설치후에 main.js에서&lt;/p&gt;
&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc;&quot;&gt;
&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; { &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;createPinia&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; } &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;from&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;pinia&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc;&quot;&gt;
&lt;div&gt;&lt;span style=&quot;color: #4fc1ff;&quot;&gt;app&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;use&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;createPinia&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;());&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이렇게 설치 작성후에 실행하니&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;X&amp;nbsp;[ERROR]&amp;nbsp;No&amp;nbsp;matching&amp;nbsp;export&amp;nbsp;in&amp;nbsp;&quot;node_modules/vue-demi/lib/index.mjs&quot;&amp;nbsp;for&amp;nbsp;import&amp;nbsp;&quot;hasInjectionContext&quot; &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;node_modules/pinia/dist/pinia.mjs:6:9: &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;6&amp;nbsp;│&amp;nbsp;import&amp;nbsp;{&amp;nbsp;hasInjectionContext,&amp;nbsp;inject,&amp;nbsp;toRaw,&amp;nbsp;watch,&amp;nbsp;unref,&amp;nbsp;...&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;╵&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;~~~~~~~~~~~~~~~~~~~ &lt;br /&gt;&lt;br /&gt;14:50:46&amp;nbsp;[vite]&amp;nbsp;error&amp;nbsp;while&amp;nbsp;updating&amp;nbsp;dependencies: &lt;br /&gt;Error:&amp;nbsp;Build&amp;nbsp;failed&amp;nbsp;with&amp;nbsp;1&amp;nbsp;error: &lt;br /&gt;node_modules/pinia/dist/pinia.mjs:6:9:&amp;nbsp;ERROR:&amp;nbsp;No&amp;nbsp;matching&amp;nbsp;export&amp;nbsp;in&amp;nbsp;&quot;node_modules/vue-demi/lib/index.mjs&quot;&amp;nbsp;for&amp;nbsp;import&amp;nbsp;&quot;hasInjectionContext&quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at&amp;nbsp;failureErrorWithLog&amp;nbsp;(D:\study\vue3연습\vue3-posts\node_modules\esbuild\lib\main.js:1603:15) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at&amp;nbsp;D:\study\vue3연습\vue3-posts\node_modules\esbuild\lib\main.js:1249:28 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at&amp;nbsp;runOnEndCallbacks&amp;nbsp;(D:\study\vue3연습\vue3-posts\node_modules\esbuild\lib\main.js:1034:63)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이런식의 오류가 나옴&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;npm list vue로&amp;nbsp; vue의 버젼을 확인해보니&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;vue3-posts@0.0.0 D:\study\vue3연습\vue3-posts `-- UNMET PEER DEPENDENCY vue@3.2.33 npm ERR! peer dep missing: vue@^2.6.14 || ^3.3.0, required by pinia@2.1.6&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;이렇게 나온다.&lt;br /&gt;pinia&lt;span style=&quot;background-color: #f7f7f8; color: #374151; text-align: start;&quot;&gt; 패키지를 사용하려면 오류 메시지에 나와 있는 Vue 버전 요구 사항을 충족시켜야 하는데. 현재 Vue 버전은 &lt;/span&gt;3.2.33&lt;span style=&quot;background-color: #f7f7f8; color: #374151; text-align: start;&quot;&gt;이 설치되어 있고, &lt;/span&gt;pinia&lt;span style=&quot;background-color: #f7f7f8; color: #374151; text-align: start;&quot;&gt;는 Vue 버전 &lt;/span&gt;2.6.14&lt;span style=&quot;background-color: #f7f7f8; color: #374151; text-align: start;&quot;&gt; 이상 또는 &lt;/span&gt;3.3.0&lt;span style=&quot;background-color: #f7f7f8; color: #374151; text-align: start;&quot;&gt; 이상을 요구한다는 내용이다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #f7f7f8; color: #374151; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #f7f7f8; color: #374151; text-align: left;&quot;&gt;1.현재 설치된 Vue 버전을 &lt;/span&gt;3.3.0&lt;span style=&quot;background-color: #f7f7f8; color: #374151; text-align: left;&quot;&gt; 이상으로 업그레이드 하던가&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #f7f7f8; color: #374151; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #f7f7f8; color: #374151; text-align: left;&quot;&gt;2.pinia&lt;span style=&quot;background-color: #f7f7f8; color: #374151; text-align: left;&quot;&gt; 패키지 버전 다운그레이드하여 2.0.0으로 하던가..&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #343541; text-align: start;&quot;&gt;&amp;nbsp;그래서 내가 하려던 pinia 2.0.14대신 2.0.0으로 설치하여 정상 동작 확인&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;</description>
      <category>Vue</category>
      <author>입방정</author>
      <guid isPermaLink="true">https://bangj.tistory.com/256</guid>
      <comments>https://bangj.tistory.com/256#entry256comment</comments>
      <pubDate>Mon, 7 Aug 2023 15:08:29 +0900</pubDate>
    </item>
    <item>
      <title>모바일 input 박스 포커스 + 가상 키보드 이슈</title>
      <link>https://bangj.tistory.com/245</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;datepicker 사용중에 가상키보드와 겹쳐서 picker사용이 힘들고 스크립트 실행에 방해될때&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. onfocus=&quot;this.blur()&quot;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&amp;lt;input type=&quot;text&quot; onfocus=&quot;this.blur()&quot; &amp;gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. html5에서 도입&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #5c5c5c; text-align: start;&quot;&gt;&amp;lt;input type=&quot;text&quot; name=&quot;test&quot;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #ee2323; text-align: start;&quot;&gt;inputmode=&quot;none&quot;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #5c5c5c; text-align: start;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;</description>
      <category>Html</category>
      <author>입방정</author>
      <guid isPermaLink="true">https://bangj.tistory.com/245</guid>
      <comments>https://bangj.tistory.com/245#entry245comment</comments>
      <pubDate>Wed, 22 Mar 2023 16:12:33 +0900</pubDate>
    </item>
    <item>
      <title>find 함수에서 Arrow Function(화살표 함수)에서 undefined 일때 확인해볼 내용</title>
      <link>https://bangj.tistory.com/241</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;posts.js&lt;/p&gt;
&lt;pre id=&quot;code_1676805204374&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;const posts = [
  { id: 1, title: '제목1', content: '내용1', cratedAt: '2023-01-01' },
  { id: 2, title: '제목2', content: '내용2', cratedAt: '2023-02-02' },
  { id: 3, title: '제목3', content: '내용3', cratedAt: '2023-03-03' },
  { id: 4, title: '제목4', content: '내용4', cratedAt: '2023-04-04' },
  { id: 5, title: '제목5', content: '내용5', cratedAt: '2023-05-05' },
];

export function getPosts() {
  return posts;
}

export function getPostById(id) {
  const numberId = parseInt(id);
  
  // .1방법=&amp;gt; id값 정상 출력
  // return posts.find(item =&amp;gt; item.id === numberId); 
  
  // .2방법=&amp;gt; undefined
  posts.find(item =&amp;gt; {
    return item.id === numberId;
  });
 }&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1,2 의 결과가 나오는 이유가 뭘까..&lt;/p&gt;</description>
      <category>JavaScript</category>
      <author>입방정</author>
      <guid isPermaLink="true">https://bangj.tistory.com/241</guid>
      <comments>https://bangj.tistory.com/241#entry241comment</comments>
      <pubDate>Sun, 19 Feb 2023 20:17:10 +0900</pubDate>
    </item>
  </channel>
</rss>