카테고리 없음

javascript(3.25)

seongjin08 2021. 3. 25. 11:14

img{ displayblockline-height0;}

이미지마다 조금에 간격이있을때 line-height:0 을 주면 간격을 없앨수 있다.

이미지는 인라인이기 때문에 블럭으러 바꿔주어야 한다.

 

absolute를 난발하면 원하는 위치에 옮기기가 어려워진다. 그래서 2dex 안에 끝내는게 쉬울것.

 

*애니메이션 효과 주는 방법.

0 에서 1 까지 가는 데 3초가 걸리도록 코드를 친것.

크로스 브라우저 가 아니라면 그 브라우저마다 구동 방법이 다르기 때문에 숙지하고 있어야한다.

내가 준 명령이 어떤 브라우져에서는 구동이 안될수있다.

.fadein{ animation: fadein 3s;}
@keyframes fadein{ from{ opacity:0;}to{opacity:1;} }

*애니메이션 줄때 쓴 css

img{ display: block; line-height: 0;}
#banner{ position: absolute; top: 300px;}
#banner>ul>li{ position: absolute; top: 0; display: none;}
#banner > ul > li.fadein{ animation: fadein 3s;}
#banner > ul > li.on{ display: block;}
@keyframes fadein{ from{opacity:0;} to{ opacity:1; } }

*if 문 활용 

5개에 사진에 돌아가면서 효과를 주기위해서 0~4까지 원하는 시간마다 순서대로 돌아가게 하기 위해서 

변수에 0을 지정해주고  변수가 5보다 크거나 같아지면 다시 0으로 돌아가게 한다.

숫자는 1씩 증가하게 해줬다.

var index = 0;
    function banner(){
     if(index >=5){ index=0; }
        index++
        console.log(index);
    }
    setInterval(banner,1000)

*순서대로 효과주기

for문이 실해되는 조건을 만들어서 i 와 index 값이 같아지면 setAttribute 를 활용하여 원하는 내가 원하는 class name으로 변경하여 이게 실행되는 그 사진만 보여지게 된다. 

그러게 하기 위해 css를 따로 만들어 나와 한다.

var index = 0;
        function banner( {
            bannerImg = document.querySelectorAll('.banner1>li');
            if (index >= bannerImg.length) {
                index = 0;
            }
            for (i = 0; i < bannerImg.length; i++){
                console.log(i,index);
                if (i == index) {
                    bannerImg.item(i).setAttribute('class', 'fadein on');
                } else {
                    bannerImg.item(i).setAttribute('class', 'fadein');
                }
            }
            index++;
        }

 

*버튼 만들기!

어제 만들던 버튼을 업그레이드 해봤다. 어제는 클릭했을때 멈추는 기능까지 만들었다.

이번에는 누르면 움직이고 다시 누르면 멈추는 기능을 만들었는데 두가지 방법으로 만들어 보았다.

*첫번째는 먼저 변수에 true값을 줘서 클릭하면 값이  false 바뀌면서 움직이고 다시 클릭하면 값이 true로 바뀌면서 작동을 멈추는 방식이다.

it_spot = true;
        function stop() {
            if (it_spot == true) {
                it_spot = false;
                x = setInterval(rolling, 100);
            } else {
                it_spot = true;
                clearInterval(x);}
        }
       

*두번째꺼는 첫번째를 활용 해서 임의값을 주지않고 value 값을 활용해서 start를 누르면 stop으로 바뀌면서 작동을 하게

조건을 주고 또 다시 누르면 value 값이 start로 바뀌면서 멈추게 조건을 줘 봤다.

function control() {
        if (document.querySelector('.start').value == 'start') {
            document.querySelector('.start').value = 'stop';
            x = setInterval(rolling, 100);
        } else{
            document.querySelector('.start').value = 'start';
            clearInterval(x);}
    } 

* 효과를 주기위한 script....

 

        var index = 0;
        var rolling = null;
        banner(0);
        function banner(n) {
            bannerImg = document.querySelectorAll('.banner1>li');
            if (index >= bannerImg.length) {
                index = 0;}
            if (n != undefined) {/*인자값있을때 banner() 실행될때*/
                index = n;}
            for (i = 0; i < bannerImg.length; i++) {
                console.log(i, index);
                if (i == index) {
                    bannerImg.item(i).setAttribute('class', 'fadein on');
                } else {
                    bannerImg.item(i).setAttribute('class', 'fadein');}
            }
            index++; }

        function bannerBtn(n) {
            clearInterval(rolling);
            banner(n) 
            rolling = setInterval(banner, 3000);
        }
        rolling = setInterval(banner, 3000);

**오류가 있을때 어떤부분이 작동이 안되는지 먼저 체크 후에 세세히 파고 들어야 된다. 

 background-colorrgb(584545);