기초공사 (html,css,javascript)

tab기능-attr,hide,show 본문

jquery

tab기능-attr,hide,show

에스프레소라떼 2023. 2. 17. 20:48

css에서는 클래스에 active가 있으면 검정바탕에 흰글씨가 생기고,

삼각형이 나온다.

 

그러니 내가 할일은;;;

js에서 active를 넣었다 뺐다 하면된다.

jquery에서는 hide()와 show()로 display:none / display:block로 표현할수 있다.

 

******************css*********************************

/*새로작성 active라는 클래스명이 있으면 검정바탕에 흰글씨*/
.work-section .tabs-nav a:hover,
.work-section .tabs-nav a.active {
    background-color: rgb(51, 51, 51);
    color: rgb(255, 255, 255);
}
/*새로작성 a에 active가 있을때만 삼각형이 보인다.
우리가 해야할거것은 js에서 a에 active만 넣었다뺐다하면됨.*/
.work-section .tabs-nav a.active:after {
    background: url(../img/sprites.png) no-repeat 0 0;
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    width: 37px;
    height: 19px;
    margin-left: -18px;
}

 

*******************jquery***************************

변수 지정방법
. a를 클릭하면 그에 해당하는 panel 즉 #work1이 나와야한다.
그러니 변수를 a와 content에 해당하는 tabpanel을 변수로 지정해주자.
 
 
$(function(){
    var tabAnchor = $('.tabs-nav li a'),
        tabPanel = $('.tabs-panel');

    //링크를 클릭하면 할일
    tabAnchor.click(function(e){
        e.preventDefault();
       
        // 1. 모두active를 빼고 클릭한 요소만 active추가하는 방법
         tabAnchor.removeClass('active');//모든 active를 빼고
         $(this).addClass('active'); //그 요소만 추가

         
        //  2.클릭한 녀석에만 active추가하고 나머지 요소에는 빼는 방법
        //   $(this).addClass('acitve').siblings().removeClass('acitve');
        //  this는 내가 선택한 a이다. a는 형제자매가 없으므로 sibling를 쓸수없다.(우리는 변수를 li a로 잡았다. )

        tabPanel.hide(); //열자마자 모든패널이 사라지고.
        //Work 01를 클릭하면 $('#work01').show(); 이 나와야하고
        //Work 02를 클릭하면 $('#work02').show(); 이 나와야하고
        //Work 03를 클릭하면 $('#work03').show(); 이 나와야하고
        //a를 클릭하면=.work02를 클릭하면 id ="work02"가 나와야한다.
       
        /*<li><a href="#work03">Work 03</a></li>에서
        work03을 클릭하면 href인 #work03이 나와야한다.a의속성이 와야한다.
        attr이용
        */
        //var c =A.attr('href');  a의 속성인 href를 변수 C에 저장한다.
       
        var $target = $(this).attr('href');
        console.log($target);
        $( $target).show(); //변수명에는 ''를 쓰지않는다.
});

});

'jquery' 카테고리의 다른 글

tabs_jqueryui.com  (0) 2023.02.18
같은 화면 attr로 구하기 vs index로 구하기  (0) 2023.02.18
16_shrink / attr / swtch  (0) 2023.02.09
hasClass / attr  (2) 2023.02.03
mouseover시 위치변동  (0) 2023.02.03