테스트 사이트 - 개발 중인 베타 버전입니다

스크립트 질문드립니다. 채택완료

그누배우자 4년 전 조회 1,884

안녕하세요

다음 버튼 클릭하면 다음 DIV로 넘어가는걸 만들고 있습니다.

소스는 아래와 같습니다.

 

</p>

<p><div class="mate-box show" data-idx="1">

    <div class="step">

        <h1>질문 <span>1/6</span></h1>

    </div>

    <div class="qu">

        <p>질문1</p>

    </div>

    <div class="box">

        문제

    </div>

    <div class="next">

        <button class="btn_03">다음</button></p>

<p>        <button class="btn_03">4단계로</button>

    </div>

</div></p>

<p><div class="mate-box show" data-idx="2">2단계</div></p>

<p><div class="mate-box show" data-idx="3">3단계</div></p>

<p><div class="mate-box show" data-idx="4">4단계</div></p>

<p>..</p>

<p>.</p>

<p>.</p>

<p><script>

$(function(){

    $(".box input[type=radio]").on("change", function(e){

        $(this).parents(".mate-box").find(".next").show();

    });

    $(".next button").on("click", function(e){

        var idx = $(this).parents(".mate-box").data("idx") + 1;

        if (idx > 6) {

            location.href="#open0";

        }

        $(".mate-box").removeClass("show");

        $(".mate-box[data-idx="+idx+"]").addClass("show");

    });

});

</script></p>

<p>

 

 

이렇게 6단계 까지는 순차적으로 잘 나가는데요

예를들면 1단계 버튼에서 4단계 버튼으로 눌럿을때

2단계가 아닌

4단계 화면이 나오게 하고 싶습니다.

 

onclick 이벤트로 넘기려 시도 해보앗는데

자꾸 2단계로만 넘어가네요 ㅠ

 

고수님들의 조언 부탁드립니다.

 

댓글을 작성하려면 로그인이 필요합니다.

답변 1개

채택된 답변
+20 포인트

이미 상단에 data-idx 가 정의되어있죠.

그리고 그 하위 next 클래스가 있구요

암만 클릭해도 next 클래스를 덮고있는 idx 가 1로 정의되어 있기 때문에

다음은 무조건 2가 되는거에요.

 

해당 예제를 이해하려면 data 개념 부터 아셔야 합니다.

퀴즈나 설문 같은걸 만들고 계신것 같은데

가장 기초적인 css+제이쿼리 조합부터 공부하심이 좋을것 같네요.

 

</p>

<p><style type="text/css">

    .btn {display:inline-block;padding:5px;border:1px solid #ddd; cursor: pointer; }

    .step {display: none; height:100px;border:1px solid #ddd; margin-top:5px;}

    .step1 {display:block;}

</style>

<div style="display: inline-block;">

    <div class="btn btn1" onclick="$('.step').hide(); $('.step1').show();">1단계</div>

    <div class="btn btn2" onclick="$('.step').hide(); $('.step2').show();">2단계</div>

    <div class="btn btn3" onclick="$('.step').hide(); $('.step3').show();">3단계</div>

    <div class="btn btn4" onclick="$('.step').hide(); $('.step4').show();">4단계</div>

    <div class="step step1">1내용</div>

    <div class="step step2">2내용</div>

    <div class="step step3">3내용</div>

    <div class="step step4">4내용</div>

</div></p>

<p>

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인