[๐Ÿ’ป] Jquery

J-silverยท2022๋…„ 9์›” 18์ผ

web-project

๋ชฉ๋ก ๋ณด๊ธฐ
8/18

์ œ์ด์ฟผ๋ฆฌ๋ž€??

์›น์‚ฌ์ดํŠธ์— ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‰ฝ๊ฒŒ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ฃผ๋Š” ์˜คํ”ˆ์†Œ์Šค ๊ธฐ๋ฐ˜์˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ


๐Ÿ“Œ ์ œ์ด์ฟผ๋ฆฌ ์—ฐ๊ฒฐํ• ๋•Œ ์—ฐ๊ฒฐํ•„์ˆ˜

<script  src="https://code.jquery.com/jquery-1.12.4.min.js"
integrity="sha256-ZosEbRLbNQzLpnKIkEdrPv7lOy9C27hHQ+Xp8a4MxAQ="
  crossorigin="anonymous"></script>

<script src="./jquery-1.12.4.min.js"></script>

โœ jquery๊ฒ€์ƒ‰ํ•ด์„œ ๋ฒ„์ „ ์„ ํƒํ•˜๋ฉด ๋จ

โ†’ cdn 1.X๋ฒ„์ „์ด ์ œ์ผ ๋ฌด๋‚œํ•˜๋‹ค

๋ณต์‚ฌํ•ด์„œ ๋น„ํŠธ์Šคํ„ฐ๋””์— ๋„ฃ์–ด๋ณด๊ณ  ์ฃผ์†Œ๋ฅผ ๊ฒ€์ƒ‰ํ•ด์„œ ๋‚˜์˜จ๊ฑธ ๋‹ค๋ฅธ์ด๋ฆ„์œผ๋กœ ์ €์žฅํ•ด์„œ ๋‚ด๊ฐ€ ์“ธ ํŒŒ์ผ์ด๋ž‘ ์—ฐ๋™ํ•˜๊ธฐ



๐Ÿ”‘ ์ค‘์š” ๋‹จ์ถ•ํ‚ค

console.log(' '); -> ctrl + shift + L

alert( ); -> ctrl + shift + A

๋ณด๊ธฐ์ข‹๊ฒŒ ์ •๋ฆฌ -> ctrl + shift + 9

if,else -> ifel

$('. ') -> ctrl + shift + W

function( ){ } -> ctrl + shift + F =์‹คํ–‰ํ•˜๋‹ค


๐Ÿ”‘ $(function ( ){ }; -> ๋”ฑ ํ•œ๋ฒˆ๋งŒ ์„ ์–ธ๋จ, ๋ชจ๋“  ๋ฌธ์„œ๋ฅผ ๋กœ๋“œํ›„์— ์‹คํ–‰

์ž๋ฐ” ๊ตญ๋ฃฐโ†’ ์ž๋ฐ”๋ฅผ ์ œ์ผ ๋งˆ์ง€๋ง‰์— ์‹คํ–‰์‹œํ‚ด์œผ๋กœ ์ œ์ผ ๋ฐ‘(body๋ฐ‘)์—๋‹ค ๋‘๋Š”๊ฒŒ ์ข‹๋‹ค

โœ es๋ฒ„์ „

[es6] ๊ตฌํ˜•๋ธŒ๋ผ์šฐ์ €์—์„œ๋Š” ์•ˆ๋จ
       1.const - ์ƒ์ˆ˜,๊ณ ์ •๋ณ€์ˆ˜,๋ณ€ํ•˜์ง€์•Š๋Š” ๊ฐ’
       2.let - ์ œํ• ๋‹น๊ฐ€๋Šฅ
         let x = 5
             x = 6

[es5] ์˜ค๋ž˜๋œ๊ฑฐ๋ผ ์ž˜์•ˆ์”€
       3.var - ๋ณ€์ˆ˜ ์„ ์–ธ๋ฌธ





๐Ÿ“ƒ ์—ฌ๋Ÿฌ ๊ธฐ๋Šฅ

โœ document์— ์ง์ ‘์ ์œผ๋กœ ๋‚ด์šฉ ๋ฐ”๊พธ๊ธฐ

$('.name').text('๋ฐ”๊พธ์ž')
$('.name').html('<h1>assdas</h1>') -> h1ํƒœ๊ทธ๋กœ assdas ์ถ”๊ฐ€

โœ ๋ณ€์ˆ˜ ์„ ์–ธํ•ด์„œ ๊พธ๋ฉฐ์ฃผ๊ธฐ

w = $('.name').width();  //์ˆœ์ˆ˜ width
w = $('.name').innerWidth(); //ํŒจ๋”ฉํฌํ•จ
w = $('.name').outerWidth(); //ํŒจ๋”ฉ+๋ณด๋”ํฌํ•จ
		console.log(w);

โœ ์ˆจ๊น€ ์ด๋ฒคํŠธ

$('.name').hide().show(); ->.์€ ๊ทธ๋ฆฌ๊ณ  ๋ผ๋Š” ๋œป, ์ž˜์•ˆ์”€

		hide โ€“ display: none
		
		show - display: block ,inline...์›๋ž˜ ์ƒํƒœ๋กœ ๋ณด์—ฌ์ฃผ๋Š”๊ฑฐ์ž„

$('.name').fadeOut(); ->์„œ์„œํžˆ ์‚ฌ๋ผ์ง, 0.3์ดˆ๊ฐ€ ๊ธฐ๋ณธ๊ฐ’์ž„, ์ž˜์•ˆ์”€

$('.name').fadeOut().fadeIn(1000); -> ์‚ฌ๋ผ์กŒ๋‹ค ๋‚˜ํƒ€๋‚จ, 1000์€ 1์ดˆ

์ฐฉ๊ฐํ• ์ˆ˜์žˆ๋‹ค!

show๋Š” ์›๋ž˜ ์ƒํƒœ๋กœ ๋ณด์—ฌ์ฃผ๋Š”๊ฑฐ์ง€ ๋ฌด์กฐ๊ฑด block์ด ๋˜๋Š”๊ฒŒ ์•„๋‹ˆ๋‹ค!!

.hide() โ€“> display: none

.show() โ†’ display: block ,inline



๐Ÿ”ฅ css๊พธ๋ฏธ๊ธฐ

$('.name').css({width:100,height:1000});

$('.name').animate({width:100+'%'},1000); ->โ€˜%โ€™๋ฅผ ๋”ฐ์˜ดํ‘œ๋กœ ๊ฐ์‹ผ ์ด์œ ๋Š” ๋ฌธ์žํ˜•์‹์ด๋ผ์„œ

$('.name').addClass('aaa').removeClass('aaa');

console.log($('.name').hasClass('aaa')); 
-> ๊ธ€๋ž˜์Šค aaa๋ฅผ ๊ฐ€์กŒ๋ƒ๊ณ  ์งˆ๋ฌธํ•˜๋Š” ๊ฒƒ, true๋ž‘ false๋กœ๋งŒ ๋Œ€๋‹ตํ•ด์คŒ

๐Ÿ’ก .addClass('aaa').removeClass('aaa')๋Š” ํด๋ž˜์Šค ์„ ํƒ์ž์ด๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค๋ฅธ์• ๋“ค์ฒ˜๋Ÿผ โ€˜ โ€™์•ˆ์— . ์•ˆ ๋„ฃ์Œ

  • ํด๋ž˜์Šค๋ฅผ ๋”ฐ๋กœ ์•ˆ๋งŒ๋“ค์—ˆ์–ด๋„ ํด๋ž˜์Šค๋ฅผ ์ค„ ์ˆ˜ ์žˆ๋‹ค

  • ์‰ฝ๊ฒŒ ์ƒ๊ฐํ•ด์„œ ํด๋ž˜์Šค๋ฅผ ๊ทธ๋ƒฅ ์ถ”๊ฐ€ํ•ด์ค€๊ฑฐ์ž„,

removeClass์•ˆ์— ํด๋ž˜์Šค๋ฅผ ์•ˆ์ฃผ๋ฉด ๋ชจ๋“  ํด๋ž˜์Šค๊ฐ€ ๋‹ค์‚ฌ๋ผ์ง



โœ ์กฐ๊ฑด๋ฌธ

if ($('.name').hasClass('aaa')) {
    console.log('yes');
} else {
     console.log('no');
 }
if (์กฐ๊ฑด:์ฐธ์ผ๋•Œ) {
     ์‹คํ–‰
} else { ๊ทธ๋ ‡์ง€ ์•Š์„ ๋•Œ ์‹คํ–‰
   }

โ†’ ํด๋ž˜์Šค name์— aaa๊ฐ€ ์žˆ๋‹ค๋ฉด yes ์—†๋‹ค๋ฉด no๊ฐ€ ๋‚˜์™€๋ผ


โœ ๊ธฐ๋ณธ ๋ณ€์ˆ˜๋“ค

๋ณ€์ˆ˜

๋ณ€์ˆ˜ x = 1;

x=๋ณ€์ˆ˜์—ฌ์„œ ""๋“ค์–ด๊ฐ€์ง€์•Š์Œ, ๋ณ€์ˆ˜๋Š” ํ•œ๊ธ€๋„ ๊ฐ€๋Šฅ

๋ฌธ์žํ˜•(String )

"ใ…‡ใ„ดใ„ทใ„น",'ใ…‡ใ„ดใ„น' โ†’ "",โ€™โ€™๋“ค์–ด๊ฐ

์ˆซ์žํ˜•(number)

1,2,3.. number์ˆซ์ž โ†’ "" ๋“ค์–ด๊ฐ€์ง€ ์•Š์Œ

์ˆซ์ž๋ž‘ ๋ฌธ์ž๋ž‘ ํ•ฉ์ณ์ง€๋ฉด ๋ฌธ์ž๊ฐ€๋จ

๋…ผ๋ฆฌํ˜•(Boolean)

๋ฐ์ดํ„ฐ๋Š” ์ฃผ๋กœ 2๊ฐœ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋น„๊ตํ•  ๋•Œ ๋‚˜์˜ค๋Š” ๊ฒฐ๊ณผ

true,false๋งŒ ๋‚˜์˜ด โ†’ "" ๋“ค์–ด๊ฐ€์ง€์•Š์Œ

๐Ÿ’ก < if( ! ์กฐ๊ฑด๋ฌธ) > !๊ฐ€ ๋ถ™์œผ๋ฉด ์กฐ๊ฑด๋ฌธ์€ ๋ฐ˜์ „


Object, ์—ฐ์‚ฐ์ž

x=1 ๋Œ€์ž…์—ฐ์‚ฐ์ž

x==1 x๋Š” 1๊ณผ ์ผ์น˜ํ•˜๋ƒ

x===1 x๋Š” 1๊ณผ ๋ฐ์ดํ„ฐํƒ€์ž…(์ˆซ์ž,๋ฌธ์ž)๊นŒ์ง€ ์ผ์น˜ํ•˜๋ƒ

< ์ดˆ๊ณผ
> ๋ฏธ๋งŒ
<= ์ด์ƒ
>= ์ดํ•˜
&& - ๊ทธ๋ฆฌ๊ณ  ->๋ชจ๋“ ๊ฒŒ ์ฐธ์ด์—ฌ์•ผํ•จ

|| -> ๋˜๋Š” or ->(๋ฐฑ์ŠคํŽ˜์ด์Šค ๋ฐ‘์— ๋ˆ๋ชจ์–‘ + shift) ํ•˜๋‚˜๋งŒ ์ฐธ


  • [๋ฌธ์ œ] ์‚ฌ๋žŒ = { ๋‚˜์ด:68, ์„ฑ๋ณ„:'๋‚จ์ž', ๋ชฉ๋’ค์—์ :true, }
    // ๋‚˜์ด 50์ด์ƒ ์„ฑ๋ณ„ ๋‚จ์ž ๋ชฉ๋’ค์— ์  ์ฒดํฌ,์•ˆ๋…•ํžˆ๊ฐ€์„ธ์š”๋ฅผ ํ‘œํ˜„ํ•˜์‹œ์˜ค
    if (์‚ฌ๋žŒ.๋‚˜์ด >= 50 && ์‚ฌ๋žŒ.์„ฑ๋ณ„ =='๋‚จ์ž' && ์‚ฌ๋žŒ.๋ชฉ๋’ค์—์  ==true) {
        console.log('์ฒดํฌ');
    } else {
        console.log('์•ˆ๋…•ํžˆ๊ฐ€์„ธ์š”');
    }





๐Ÿบ๋งŽ์ด์“ฐ๋Š” ์‹ค์ „ ํŒ

๐Ÿ“Œ aside ๋ฉ”๋‰ด

1. animate์„ ์ด์šฉํ•˜์—ฌ ์ˆ˜์น˜ ์ž…๋ ฅํ•˜๊ธฐ +ํด๋ฆญ์ด๋ฒคํŠธ

$(function () {
            
            $('.btn-menu').click(function(e){
                e.preventDefault();//๋งํฌ์ด๋™๋ง‰๊ธฐ
                $('.menu-area').animate({left:0},300)
            })

            $('.btn-close').click(function(e){
                e.preventDefault();//๋งํฌ์ด๋™๋ง‰๊ธฐ
                $('.menu-area').animate({left:-100+'%'},300)
            })
    });

ํด๋ž˜์Šค์— ์ง์ ‘ ์›€์ง์ด๋ผ๊ณ  ์ค€๋‹ค.
์•„์ด๋””๋ณด๋‹ค ๋†’๊ธฐ ๋•Œ๋ฌธ์— !important์ค˜์•ผํ•˜๋Š”๋ฐ ์“ฐ๋Š”์ˆœ๊ฐ„ ๋ง์กฐใ… 
-> ์™œ๋ƒ๋ฉด important๊ฐ€ ๋ชจ๋“ ์• ๋“ค์„ ๋‹ค ์ด๊ฒจ๋ฒ„๋ฆฌ๊ธฐ ๋•Œ๋ฌธ์— ์•ˆ์“ฐ๋Š”๊ฒŒ ์ข‹๋‹ค.


โญaํƒœ๊ทธ ์ด๋ฒคํŠธ ๋ง‰๊ธฐโญ

aํƒœ๊ทธ์— ์ด๋ฒคํŠธ๋ฅผ ๊ฑธ๋•Œ๋Š” aํƒœ๊ทธ๊ฐ€ ๊ฐ–๊ณ ์žˆ๋Š”(์ƒˆ๋กœ๊ณ ์นจ๋˜๋Š”) ์ด๋ฒคํŠธ๋ฅผ ๋ง‰์•„์ค˜์•ผํ•œ๋‹ค.

  1. aํƒœ๊ทธ์— #์„ ๋„ฃ์–ด์ค€๋‹ค. (๋งจ์œ„๋กœ ๊ฐ€์„œ ๋ณ„๋กœ ์•ˆ์ข‹์Œ)
  2. <a href="javasceipt:;" class="btn-menu">๋ฉ”๋‰ด</a> โ†’์ถ”์ฒœํ•˜์ง€ ์•Š์Œ
    <a href="javasceipt:void(0);" class="btn-menu">๋ฉ”๋‰ด โ†’์ถ”์ฒœํ•˜์ง€ ์•Š์Œ
  3. function(e){ e.preventDefault(); } โ†’์ถ”์ฒœโญ•, ๋งํฌ์ด๋™ ๋ง‰์•„์ฃผ๊ธฐ
  • ! important๋Š” ์ตœ๋Œ€ํ•œ ์“ฐ์ง€ ์•Š๋„๋กํ•œ๋‹ค.

2.โญํด๋ž˜์Šค ์ถ”๊ฐ€โญ -> ์ถ”์ฒœ๐Ÿ‘

$(function () {
            
            $('.btn-menu').click(function(e){
                e.preventDefault();//๋งํฌ์ด๋™๋ง‰๊ธฐ
                $('.menu-area').addClass('active')
            })

            $('.btn-close').click(function(e){
                e.preventDefault();//๋งํฌ์ด๋™๋ง‰๊ธฐ
                $('.menu-area').removeClass('active')
            })
    });

ํด๋ž˜์Šค๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š”๊ฒŒ ๋” ์ข‹์Œ, ๋‚˜์ค‘์— ๋ฏธ๋””์–ด์ฟผ๋ฆฌ๋ฅผ ์ค„ ๋•Œ ํŽธํ•˜๋‹ค.

  • ์›€์ง์ด๋ ค๋Š” ์˜์—ญ์— ์†๋„ transition: 0.5s;๋ฅผ ์ฃผ๊ณ  .active{ left: 0; } ์—‘ํ‹ฐ๋ธŒ๋ž€ ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ค์–ด์„œ ๋„ฃ์—ˆ๋‹ค ๋บ๋‹ค ํ•ด์ค€๋‹ค



๐Ÿ“Œ ์•„์ฝ”๋””์–ธ

1. ํ˜ธ๋ฒ„์‹œ ๋‹ค๊ฐ™์ด ์Šฌ๋ผ์ด๋“œ

$(function () {
            $('.gnb > li').hover(function(){//๋งˆ์šฐ์Šค์˜ฌ๋ ธ์„๋•Œ
                $('.gnb ul').stop().slideDown();
            }, function(){//๋• ์„๋•Œ
                $('.gnb ul').stop().slideUp();
            })
        });
  • .stop()์„ ๋„ฃ์–ด์ค˜์•ผ์ง€ ๋งˆ์šฐ์Šค๋ฅผ ์—ฌ๋Ÿฌ๋ฒˆ ํ˜ธ๋ฒ„ํ•ด๋„ ๋ฒ„๋ฒ…์ด์ง€ ์•Š๋Š”๋‹ค.
  • ํ˜ธ๋ฒ„๋˜์–ด ์ˆจ๊ฒจ์ง„ ์ด๋ฒคํŠธ๋Š” display:none์„ ํ•ด์ค˜์•ผํ•œ๋‹ค
    โ†’ ์‹œ๊ฐ์žฅ์• ์ธ๋“ค ํƒญ ์ด๋™๋•œ์—
  • ์„œ๋ธŒ๋ฉ”๋‰ด๋“ค์€ ๋ถ•๋– ์žˆ์–ด์•ผํ•œ๋‹ค.

.slideUp โ†’ ์„ ํƒํ•œ ์š”์†Œ์˜ CSS height ์†์„ฑ๊ฐ’์„ ๋†’์—ฌ๊ฐ€๋ฉฐ ์‚ฌ๋ผ์ง€๊ฒŒ ํ•œ๋‹ค.
.slideDown โ†’ ์„ ํƒํ•œ ์š”์†Œ์˜ CSS height ์†์„ฑ๊ฐ’์„ ๋‚ฎ์ถฐ๊ฐ€๋ฉฐ ๋‚˜ํƒ€๋‚˜๊ฒŒ ํ•œ๋‹ค.


2. ํ˜ธ๋ฒ„์‹œ ๋‚ด๊ฐ€ ์„ ํƒํ•œ ๊ฐ์ฒด๊ฐ€ ์Šฌ๋ผ์ด๋“œ

$(function () {
            $('.gnb > li').hover(function(){//๋งˆ์šฐ์Šค์˜ฌ๋ ธ์„๋•Œ
                $(this).children('ul').stop().slideDown();
            },
            function(){//๋• ์„๋•Œ
                $('.gnb ul').stop().slideUp();
            })
        });
  • this โ†’ ๋‚ด๊ฐ€ ํ˜ธ๋ฒ„ํ•œ ์ด๊ฒƒ


๐Ÿ“Œ ํƒญ ๋ฉ”๋‰ด-1

  1. ID์ด์šฉ

<div class="tap-nav">
        <a href="#tab1" class="active">๋””ํ…Œ์ผ</a>
        <a href="#tab2">๋ฆฌ๋ทฐ</a>
        <a href="#tab3">๋ฌธ์˜</a>
    </div>

    <div class="tab-cont">
        <div id="tab1" class="cont active">๋‚ด์šฉ1</div>
        <div id="tab2" class="cont">๋‚ด์šฉ2</div>
        <div id="tab3" class="cont">๋‚ด์šฉ3</div>
    </div>
  • ์•„์ด๋””๋ฅผ ์ด์šฉํ•˜์—ฌ ์—ฐ๊ฒฐํ•ด์ค€๋‹ค โ†’ ์•„์ด๋””๋Š” #
$(function () {
            $('.tap-nav a').click(function(e){ //e->event
                e.preventDefault();

                ๋ณ€์ˆ˜ = $(this).attr('href'); /*href์˜ ์†์„ฑ์˜ ๊ฐ’(#tab1)  */ ->๋‚ด๊ฐ€ ํด๋ฆญํ•œ ํƒœ๊ทธ์˜ ๊ฐ’
                $(this).addClass('active').siblings().removeClass('active');

                $(๋ณ€์ˆ˜).addClass('active').siblings().removeClass('active'); ->๋‚ด์šฉ๋ฌผ
                /* ๋‚˜๋ฅผ ์ œ์™ธํ•œ ํด๋ž˜์Šค ์—†์• ๊ธฐ */
            })
        });

ํด๋ฆญํ• ๋•Œ๋งˆ๋‹ค ๊ฐ’์ด ๋‹ฌ๋ผ์ ธ์•ผํ•จ์œผ๋กœ ๋ณ€์ˆ˜๋ฅผ ๋งŒ๋“ค์–ด์ฃผ๋Š”๊ฑฐ

  • ํด๋ฆญํ• ๋•Œ๋งˆ๋‹ค ๊ฐ’์ด ๋‹ฌ๋ผ์ ธ์•ผํ•จ์œผ๋กœ ๋ณ€์ˆ˜๋ฅผ ๋งŒ๋“ค์–ด ์ฃผ์–ด์•ผํ•œ๋‹ค.
  • [ .attr ] ์˜๋ฏธ๋Š” attribute (๋ชจ๋“ ์†์„ฑ)
  • siblings โ†’ ํ˜•์ œ

๐Ÿ’ก๐Ÿค”

  • ์™œ add๋ž‘ remove๋ž‘ ๊ฐ™์ด ์จ๋†“์€๊ฑธ ๋‘๋ฒˆ ์“ธ๊นŒ?
    -> ํด๋ฆญํ•˜๋ ค๋Š” ์• ๊ฐ€ 'active' ํด๋ž˜์Šค๋ฅผ ์ถ”๊ฐ€ํ•ด์ฃผ๊ณ  ๋‚˜๋ง๊ณ  ๋‹ค๋ฅธ์• ๋“ค์€ ๊ฐ–๊ณ ์žˆ์œผ๋ฉด ์•ˆ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋‚˜๋ฅผ ์ œ์™ธํ•œ ํด๋ž˜์Šค๋ฅผ ์—†์• ์ฃผ๋Š” ๊ฑฐ๋‹ค.

  1. data-target์ด์šฉ
<div class="tap-nav">
        <a href="#" data-target="#tap1" class="active">๋””ํ…Œ์ผ</a>
        <a href="#" data-target="#tap2">๋ฆฌ๋ทฐ</a>
        <a href="#" data-target="#tap3">๋ฌธ์˜</a>
    </div>

    <div class="tab-cont">
        <div id="tap1" class="cont active">๋‚ด์šฉ1</div>
        <div id="tap2" class="cont">๋‚ด์šฉ2</div>
        <div id="tap3" class="cont">๋‚ด์šฉ3</div>
    </div>
$(function () {
            $('.tap-nav a').click(function(e){
                e.preventDefault();

                ๋ณ€์ˆ˜ = $(this).data('target');/* ์ž„์˜๋กœ a์†์„ฑ์ค€๊ฑฐ? ๋ฐ์ดํƒ€ ์…‹? ์ด๊ฑฐ์˜ ํƒ€๊ฒŸ์ด ๋ˆ„๊ตฌ๋‹ค๋ผ๊ณ  ์ž„์˜๋กœ ์„ค์ •*/
                $(this).addClass('active').siblings().removeClass('active');

                $(๋ณ€์ˆ˜).addClass('active').siblings().removeClass('active');
            })
        });

๐Ÿ“Œ ํƒญ๋ฉ”๋‰ด-2

<ul class="gnb">
        <li>
            <a href="" class="link-gnb">๋Œ€๋ฉ”๋‰ด</a>
            <ul class="sub">
                <li><a href="">์„œ๋ธŒ1</a></li>
                <li><a href="">์„œ๋ธŒ2</a></li>
                <li><a href="">์„œ๋ธŒ3</a></li>
            </ul>
        </li>
        <li>
            <a href="" class="link-gnb">๋Œ€๋ฉ”๋‰ด</a>
            <ul class="sub">
                <li><a href="">์„œ๋ธŒ1</a></li>
                <li><a href="">์„œ๋ธŒ2</a></li>
                <li><a href="">์„œ๋ธŒ3</a></li>
            </ul>
        </li>
</ul>
$(function () {
            $('.gnb .link-gnb').click(function(e){
                e.preventDefault();
                
                // $('.sub').stop().slideUp();
                // $(this).siblings('.sub').stop().slideDown();
				//->์–˜๋„ค๋Š” ๋‹ค์‹œ ํด๋ฆญํ•˜๋ฉด ์•ˆ๋‹ซํž˜
                
                /* ํ˜„์žฌ css์˜ ์ƒํƒœ */
                if ($(this).siblings('.sub').css('display') == 'none') {
                    $('.sub').stop().slideUp();/* ๋‹ค ๋‹ซํž˜ */
                    $(this).siblings('.sub').stop().slideDown();
                    
                } else {
                    $('.sub').stop().slideUp();
                }
            })
        });

$('.sub').stop().slideUp(); ๊ฐ€ ์—†์œผ๋ฉด ๋ฉ”๋‰ด ํด๋ฆญ์‹œ ๋‹ค๋ฅธ๋ฉ”๋‰ด๋“ค์€ ๋‹ซํžˆ์ง€ ์•Š๊ณ  ์–ด๋А ๋ฉ”๋‰ด๋ฅผ ํด๋ฆญํ•ด๋„ ๋‹ค๊ฐ™์ด ๋‹ซํžŒ๋‹ค.

โญ ํ•ญ์ƒ ์ปดํ“จํ„ฐ๊ฐ€ ์ฝํžˆ๋Š” ์ˆœ์„œ ์ƒ๊ฐํ•ด์„œ ์ฝ”๋“œ์งœ๊ธฐ

๐Ÿ’ก๐Ÿค”

  • 'display') == 'none' ํ™•์ธํ•˜๋ ค๋Š” ์ด์œ ๋Š”?
    โ†’ ๋‚ด๊ฐ€ ํด๋ฆญํ•˜๋ ค๋Š” ์• ๊ฐ€ ์—ด๋ ธ๋Š”์ง€ ์•ˆ์—ด๋ ธ๋Š”์ง€ ํ™•์ธํ• ๋ผ๊ณ 

๐Ÿ“Œ ์Šคํฌ๋กค์ด๋ฒคํŠธ

<header>
  ํ—ค๋”
</header>

<main>
  <div>1@@2</div>
  <div>1@@2</div>
  <div class="here">1@@2</div>
  <div>1@@2</div>
  <div>1@@2</div>
</main>
  • ์‹คํ–‰ํ•˜๊ณ ์žํ•˜๋Š” here์€ ๋ฏธ๋ฆฌ ๋„ฃ์–ด๋†“๊ธฐ
$(function () {
            
            $(window).scroll(function(){

                curr = $(this).scrollTop(); /* ํ˜„์žฌ ์Šคํฌ๋กค๋ฐ”์˜ ์œ„์น˜ */
                target = $('.here').offset().top; /* ๋ฌธ์„œ์ „์ฒด์—์„œ ํƒœ๊ทธ์˜ ์‹œ์ž‘์œ„์น˜ */
                $('header').text('ํ˜„์žฌ์Šคํฌ๋กค:'+curr);

                if (curr >= target) {
                    $('header').addClass('hide')
                } else {
                    $('header').removeClass('hide')
                }
            })

            $(window).trigger('scroll'); /* ์ฒซํ™”๋ฉด์—์„œ ๋ฐ”๋กœ ์ฒดํฌ */

        });

.trigger โ€“ ํ™”๋ฉด ์‹œ์ž‘ํ•˜์ž๋งˆ์ž ์‹คํ–‰ํ•˜๋ผ๋Š” ๋œป, ํ˜น์‹œ ์ค‘๊ฐ„์— ์ƒˆ๋กœ๊ณ ์นจํ•˜๋ฉด ์Šค์ฝ”๋กค์ด๋ฒคํŠธ๊ฐ€ ์‹คํ–‰์•ˆ๋ ๊นŒ๋ด

๐Ÿ“Œ swiper

-> ๋‹ค์–‘ํ•œ ํ”„๋ ˆ์ž„์›Œํฌ์—์„œ ์ด๋ฏธ์ง€๋‚˜ ํŽ˜์ด์ง€์˜ ์Šฌ๋ผ์ด๋”ฉ ํ˜น์€ ์Šค์™€์ดํ•‘์„ ์—ญ๋™์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋„์™€์ฃผ๋Š” ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š” ์Šฌ๋ผ์ด๋” ํ”Œ๋Ÿฌ๊ทธ์ธ ์ค‘์˜ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค.

โœ”swiper์˜ ์žฅ์ 

๐Ÿ‘‰ ์ตœ์†Œํ•œ์˜ ๊ตฌ์„ฑ์œผ๋กœ ๋„ค๋น„๊ฒŒ์ด์…˜ ๊ตฌํ˜„์ด ๊ฐ€๋Šฅํ•˜์—ฌ ๊ฐ„ํŽธํ•˜๋‹ค
๐Ÿ‘‰ Swiping ๊ธฐ๋Šฅ์ด ๋‚ด์žฌ๋˜์–ด ์žˆ์–ด ๋ฐ˜์‘ํ˜• ์‚ฌ์ดํŠธ์—์„œ ์‚ฌ์šฉํ•˜๊ธฐ ์ข‹๋‹ค

  • ctrl + b โ€“๋นจ๊ฐ„ ์ฒดํฌ๋ถ€๋ถ„ ์—†์• ๊ธฐ

  • plugin - ๊ธฐ๋Šฅํ•˜๋‚˜๋ฅผ ์œ„ํ•œ ์ฝ”๋“œ์˜ ์ง‘ํ•ฉ

โœ ์‚ฌ์šฉ๋ฒ•

  1. ์Šคํฌ๋ฆฝํŠธ src, css link ๊ฐ€์ ธ์˜จ๋‹ค.
    -> ํ•„์ˆ˜, ์—†์œผ๋ฉด ์‹คํ–‰ ์•ˆ๋จ

  2. ๋งˆํฌ์—…

  3. ์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰๋ฌธ ๊ฐ€์ ธ์˜ด
    -> ์Šค์™€์ดํผ ์ฃผ์†Œ ๊ฐ€์ ธ์˜ฌ ๋•Œ ์ œ์ด์ฟผ๋ฆฌ๋ณด๋‹ค ๋ฐ‘์— ๋‘๋Š”๊ฒŒ ์ข‹์Œ

  4. ์•Œ๋งž์€ ์˜ต์…˜ ์ถ”๊ฐ€ํ•œ๋‹ค.


๐Ÿ”‘ ์˜ต์…˜

loop : true // ์Šฌ๋ผ์ด๋“œ๊ฐ€ ๋ฌดํ•œ์œผ๋กœ ์žฌ์ƒ
allowTouchMove : false // ๋งˆ์šฐ์Šค ๋“œ๋ž˜๊ทธ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋„๋ก ๊ธฐ๋ณธ ์„ค์ •์ด ๋˜์–ด ์žˆ์ง€๋งŒ false๋กœ ์ ์šฉํ•˜์—ฌ ๋“œ๋ž˜๊ทธ๋ฅผ ๋ฐฉ์ง€

autoPlay : ์ž๋™์žฌ์ƒ ์˜ต์…˜
delay : 2500 // 2.5์ดˆ ํ›„์— ๋‹ค์Œ ์Šฌ๋ผ์ด๋“œ ์ง„ํ–‰
speed : 500 // 0.5์ดˆ์˜ ์†๋„๋กœ ์Šฌ๋ผ์ด๋“œ ์ง„ํ–‰
disableOnInteraction : ์Šค์™€์ดํ”„ ํ›„ ์ž๋™์žฌ์ƒ์ด ๋น„ํ™œ์„ฑํ™” ๋˜์ง€ ์•Š์Œ

el : ์—˜๋ฆฌ๋จผํŠธ
pagination: el์€ ํŽ˜์ด์ง€๋„ค์ด์…˜์œผ๋กœ ์“ธ ํด๋ž˜์Šค๋ช…์ด๊ณ , ํƒ€์ž…๋„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค
navigation: ๋„ค๋น„๊ฒŒ์ด์…˜ ํ™”์‚ดํ‘œ. el์€ ๋„ค๋น„๊ฒŒ์ด์…˜ ํด๋ž˜์Šค๋ช…์„ ์„ค์ •ํ•ด์ฃผ๋ฉด ๋˜๋Š”๋ฐ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š๊ณ  ๊ธฐ์กด์„ค์ •๋Œ€๋กœ ์‚ฌ์šฉํ•˜๋ ค๋ฉด swiper-button-prev, next๋ฅผ ์จ ์ฃผ๋ฉด ๋œ๋‹ค.
slidesPerView : ํ™”๋ฉด์— ๋ช‡ ๊ฐœ ๋ณด์ด๊ฒŒ ํ• ๊บผ๋ƒ
ex) ํ™”๋ฉด์— 1.5๊ฐœ์”ฉ 2.5๊ฐœ์”ฉ

  • ์Šค์™€์ดํผ ์ž์ฒด์— position โ€“ relative ๋“ค์–ด์žˆ์Œ



๐Ÿ”‘ ์Šฌ๋ผ์ด๋“œ ์ž‘๋™ ์•ˆ๋ ๋•Œ ํ™•์ธํ•ด์•ผ ํ•  ๊ฒƒ

  1. ํด๋ž˜์Šค๋ช… ์˜ค๋ฅ˜
  2. ๊ตฌ์กฐ ์˜ค๋ฅ˜
  3. ์˜คํƒ€
  4. ์Šคํฌ๋ฆฝํŠธ์™€ ์ •์ƒ์ ์œผ๋กœ ์—ฐ๊ฒฐ๋˜์—ˆ๋Š”๊ฐ€
  5. swiper์ด๋ฆ„ ์ค‘๋ณต๋œ ๊ฒƒ ์•„๋‹Œ๊ฐ€
profile
๋‹ฌ๋ฆฌ๋Š” ๊ฑฐ๋ถ์ด

0๊ฐœ์˜ ๋Œ“๊ธ€