๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
javascript๐Ÿช“/์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ณต๋ถ€

onclick ์ด๋ฒคํŠธ์™€ getElementById ํ•จ์ˆ˜ ์‹ค์Šต

by hyojinny 2022. 12. 28.

๊ฐ์ฒด๋ฅผ ์ด์šฉํ•ด์„œ ์ด๋ฒคํŠธ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ์‚ฌ์šฉ์ž์˜ ํ–‰์œ„

ํ•จ์ˆ˜๋Š” ๊ฐ์ฒด๊ฐ€ ์‹คํ–‰ํ•˜๋Š” ์‹คํ–‰๋ฌธ

 


๋ฒ„ํŠผ ํด๋ฆญ์‹œ next ๋ฒ„ํŠผ ์ด๋ฏธ์ง€๊ฐ€ ๋‹ค์Œ์œผ๋กœ, prev ๋ฒ„ํŠผํด๋ฆญ์‹œ ์ด๋ฏธ์ง€๊ฐ€ ์ด์ „์œผ๋กœ 

 


html ๋กœ ๋ฐ”๋กœ ์ด๋ฒคํŠธ๋ฅผ ๊ฑธ์–ด ์‹คํ–‰์‹œ์ผœ๋ณด์ž. 

 

 

          <button onclick="return prev()">
            <img src="images/left_btn.png" alt="์ด์ „ ๋ฒ„ํŠผ" />
          </button>
          <img id="gallery" src="images/img1.jpg" alt="์ด๋ฏธ์ง€ ๊ฐค๋Ÿฌ๋ฆฌ" />

          <!-- onclick์€ ํด๋ฆญ์ด๋ฒคํŠธ / return์€ ํ•จ์ˆ˜์‹คํ–‰ / next()๋Š” ํ•จ์ˆ˜๋ช… -->
          <!-- ํด๋ฆญํ•˜๋ฉด next ๋ผ๋Š” ํ•จ์ˆ˜๋ฅผ ์‹คํ–‰ํ•˜๊ฒ ๋‹ค. -->
 
          <button onclick="return next()">
            <img src="images/right_btn.png" alt="๋‹ค์Œ ๋ฒ„ํŠผ" />
          </button>

 

 

button ์— ํด๋ฆญ ์ด๋ฒคํŠธ๋ฅผ ๊ฑธ์–ด return ํ•จ์ˆ˜๋กœ next, prev ํ•จ์ˆ˜๋ช…์„ ๊ฐ๊ฐ ์‹คํ–‰์‹œํ‚ค์ž. 

 


์Šคํฌ๋ฆฝํŠธ ๋ฌธ์— ํ•จ์ˆ˜ ์ž…๋ ฅ 

 

 

// ๋ณ€์ˆ˜์„ค์ •
      var num = 1;

      /*  ํ•จ์ˆ˜ next()์„ค์ •
      1. ๋ณ€์ˆ˜ num์ด 1์”ฉ ์ฆ๊ฐ€ (๋‹จ, num์ด 7๋ณด๋‹ค ์ปค์ง€๋ฉด ๋‹ค์‹œ 1)
      2.  #gallery์˜ src ์†์„ฑ ์ค‘ ์†์„ฑ๊ฐ’์˜ ์ผ๋ถ€๋ฅผ ๋ณ€๊ฒฝ */

      function next() {
        // num์ด 1์”ฉ ์ฆ๊ฐ€ (์•„์ง์€ ๋ณ€์ˆ˜์—๋งŒ ๋ฐ˜์˜)
        num++;

        // 7๋‹ค์Œ์—๋Š” ๋‹ค์‹œ 1์ด๋œ๋‹ค
        if (num > 7) num = 1;

        // ์•„์ด๋””๋ฅผ ๊ฐ€์ ธ์˜จ๋‹ค๋Š” ๋ฉ”์„œ๋“œ
        // document.getElementById('gallery') ๋Š” css์˜ #gallery ์„ ํƒ์ž์™€ ๊ฐ™์€ ์˜๋ฏธ
        document.getElementById('gallery').src = 'images/img' + num + '.jpg';
      }

 

 

๋จผ์ € num ์ด๋ผ๋Š” ๋ณ€์ˆ˜๋ช…์„ ๋งŒ๋“ค์–ด ์ˆซ์ž 1์„ ๋ถ€์—ฌํ•œ๋‹ค. 

 

ํ•จ์ˆ˜ function ์„ ์—ด์–ด next ๋ฒ„ํŠผ ํ•จ์ˆ˜๋ช…์„ ๋Œ€์ž…ํ•œ๋‹ค. 

num++
num ์˜ ์ˆซ์ž๊ฐ€ 1์—์„œ ์ฆ๊ฐ€ํ•˜๋ฉด
 
 
 
html ํƒœ๊ทธ์•ˆ์˜ ์ด๋ฏธ์ง€ ์ˆซ์ž 1,2,3,4,.... ๋กœ ๋ณ€๊ฒฝ๋˜๋„๋ก getElementById ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ”๊ฟ”์ค€๋‹ค.
<img id="gallery" src="images/img1.jpg" alt="์ด๋ฏธ์ง€ ๊ฐค๋Ÿฌ๋ฆฌ" />
 
document.getElementById('gallery').src = 'images/img' + num + '.jpg'
์ด๋ฏธ์ง€ ๊ฒฝ๋กœ์˜ ์ˆซ์ž๊ฐ€ ์ž๋™์œผ๋กœ ๋Œ€์ž…๋˜๋„๋ก ์—ฐ์‚ฐ์žํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉ
 
 
๊ทธ๋ฆฌ๊ณ  ์กฐ๊ฑด๋ฌธ if ๋กœ 
if (num > 7) num = 1;
7๋ณด๋‹ค ์ปค์ง€๋ฉด ๋‹ค์‹œ 1๋กœ ๋Œ์•„๋„๋ก ๊ฑธ์–ด์ค€๋‹ค. 
 
 
 

๋ฐ˜๋Œ€๋กœ 

 


      /*  ํ•จ์ˆ˜ prev()์„ค์ •
      1. ๋ณ€์ˆ˜ num์ด 1์”ฉ ๊ฐ์†Œ (๋‹จ, num์ด 1๋ณด๋‹ค ์ž‘์•„์ง€๋ฉด ๋‹ค์‹œ 7)
      2.  #gallery์˜ src ์†์„ฑ ์ค‘ ์†์„ฑ๊ฐ’์˜ ์ผ๋ถ€๋ฅผ ๋ณ€๊ฒฝ */

      function prev() {
        num--;

        if (num < 1) num = 7;
        document.getElementById('gallery').src = 'images/img' + num + '.jpg';
      }

 

 


ํ˜„์žฌ์ž‘์„ฑ๋ฌธ์€ ๋ฐ”๋‹๋ผ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ฐฉ์‹์ด๋‹ค. 

๋Œ“๊ธ€