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

제이쿼리로 어떻게든 원하는대로 구현을 하는데 채택완료

커네드커네드 11년 전 조회 4,861
하면서도 회의감이 드는게..
분명 이것보다 더 간결하게 할수 있을거 같은데
엄청난 길이로 제이쿼리를 완성해서 결국 돌아가긴 하면 되는걸까요
아니면 더 공부를 해서 고칠 부분을 고쳐야 할까요?
이런 생각이 드는게
 
     
  •  
  •  
  •  
  •  
     
    이렇게 있을때 첫번째 이미지를 클릭하면 얘만 active클래스가 먹고나머지 이미지가 off가 되고 이런건데
  •   
  •   
  •   
  • 이런식으로...
    이걸 제이쿼리로 짤려다 보니까
    $("#roll_left ul li").eq(0).click(function(e){
    $("#roll_left ul li a").filter(".active").children("img").attr("src",$("#roll_left ul li a").filter(".active").children("img").attr("src").replace("off","on")); 
     $("#roll_left ul li   a").eq(1).children("img").attr("src",$("#roll_left ul li a ").eq(1).children("img").attr("src").replace("on","off"));
    $("#roll_left ul li a").eq(2).children("img").attr("src",$("#roll_left ul li a ").eq(2).children("img").attr("src").replace("on","off")); 
     $("#roll_left ul li a").eq(3).children("img").attr("src",$("#roll_left ul li a ").eq(3).children("img").attr("src").replace("on","off"));
    });
    이렇게 되거든요 이게 네개가 있는거죠
    분명 저거보다 간결하게 만들수 있을거 같은데..
    그렇지 않나요..?
    댓글을 작성하려면 로그인이 필요합니다.

    답변 3개

    채택된 답변
    +20 포인트
    지운아빠
    11년 전
    저도 허접하지만...
    <div>
    <div>$(function() {</div>
    <div>    var anchor = $("#roll_left a");</div>
    <div>    $("#roll_left img").click(function(){</div>
    <div>        anchor.removeClass("active");</div>
    <div>        $(this).parent("a").addClass("active");</div>
    <div>    });</div>
    <div>});</div></div>
    <div>
    로그인 후 평가할 수 있습니다

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

    zzzz님 지운아빠님 감사합니다
    그럼 active가 아닌 이미지들을 off로 바꾸려면 따로 함수를 줘야 하는것일까요..?
    로그인 후 평가할 수 있습니다

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

    z
    11년 전
    참여함
    $('#roll_left a').click(function(){
    $('.active').removeClass('active');
    $(this).addClass('active');
    });
    로그인 후 평가할 수 있습니다

    답변에 대한 댓글 3개

    지운아빠
    11년 전
    아하, 이미지를 눌러야 한다는 말에 a 를 까먹고 있었네요.
    z
    zzzz
    11년 전
    질문자께서 회의감 든다는데 디자이너인 지운아빠님이 이렇게 코딩을 해버리면?? ㅎㅎ
    농담이구요. 지운아빠님이 다양하게(디자인, 퍼블) 하는 모습이 보기가 좋습니다.
    지운아빠님 code 에 살짝 놀랐습니다. ^^
    지운아빠
    11년 전
    전 그냥 흉내만 내는 거라... ㅠㅠ

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

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

    로그인