스크립트 코드를 줄일 수 있을까요?
본문
<script>
$(function() {
$(".page_tab li").click(function() {
var num = $(".page_tab li").index(this);
$(".content").addClass('disnon');
$(".content").eq(num).removeClass('disnon');
$(".page_tab li").removeClass('select');
$(".page_tab li").eq(num).addClass('select')
$(".page_tab2 li").removeClass('select');
$(".page_tab2 li").eq(num).addClass('select')
var targetY = $("#nav_page_tab").offset().top;
$(window).scrollTop(targetY);
});
$(".page_tab2 li").click(function() {
var num = $(".page_tab2 li").index(this);
$(".content").addClass('disnon');
$(".content").eq(num).removeClass('disnon');
$(".page_tab li").removeClass('select');
$(".page_tab li").eq(num).addClass('select')
$(".page_tab2 li").removeClass('select');
$(".page_tab2 li").eq(num).addClass('select')
var targetY = $("#nav_page_tab").offset().top;
$(window).scrollTop(targetY);
});
});
</script>
위 코드를 최대한 짧게 줄이고 싶은데,
짧게 기술할 수 있는 방법이 있나요?
답변 1
$(function() {
var $page_tab1 = $(".page_tab li"),
$page_tab2 = $(".page_tab2 li");
$page_tab1.click(function() {
var num = $page_tab1.index(this);
$(".content").addClass('disnon');
$(".content").eq(num).removeClass('disnon');
$page_tab1.add($page_tab2).removeClass('select');
$(this).add($page_tab2.eq(num)).addClass('select');
var targetY = $("#nav_page_tab").offset().top;
$(window).scrollTop(targetY);
});
$page_tab2.click(function() {
var num = $page_tab2.index(this);
$page_tab1.eq(num).trigger("click");
});
});