로직의 문제는 첫번째 아이템이 선택된 역할을 하는 더미라는 것입니다.
따라서 마우스 클릭 이벤트시 첫 번째 항목은 배제를 해야 합니다. 즉 첫 번째 클릭시 아무런 동작이 발생하지 않아야 한다는 것이죠. 그리고 두 번째 클릭이 정말로 아이템을 선택하는 이벤트인 셈입니다.
따라서 클릭 이벤트가 발생될 대상(선택자)만 코드를 수정하면 해결됩니다.
$('.select_ul li') 를 $('.select_ul li:not(:first)')로 수정합니다. 이 방식은 :not(부정할 선택자)를 선택합니다. 즉 첫 번째가 아닌 모든 li 요소를 선택합니다.
바뀐 코드는 다음과 같습니다.
다른 코드의 최적성은 판단하지 않았습니다.
$(function() {
function selectMove() {
$('.current_content01 section').hide();
$('.current_content01 section').first().show();
$('.select_ul li:not(:first)').on('click', function() {
if ($('.current_content01 section').index() == 0) {
return false;
} else {
$('.current_content01 section').hide();
$('.current_content01 section').eq($(this).index() - 1).show();
}
})
}
selectMove();
})