4 개 div가 있으며 탐색 중 하나를 클릭하면 다른 하나를 표시하고 싶습니다. 나는 그것이 작동하지만 나는 그것이 될 수 있음을 알만큼 매끄럽지가 않다는 것을 느낍니다. 확실히 리팩토링되어야하는 코드입니다! 내가 가지고있는 것을 창작한다.jQuery를 사용하여 클릭시 div 표시/숨기기
$('#details-speakers').click(function() {
$('#home').slideUp('slow', function() {});
$('#sessions-content').slideUp('slow', function() {});
$('#cases-content').slideUp('slow', function() {});
$('html,body').animate({scrollTop: $("#details").offset().top - 16}, 200, "swing");
$('#speakers-content').slideDown('slow', function() {
$('#details-speakers').addClass('selected');
//Remove other classes
$('#details-sessions').removeClass('selected');
$('#details-cases').removeClass('selected');
$('#details-workshops').removeClass('selected');
});
});
$('#details-sessions').click(function() {
$('#home').slideUp('slow', function() {});
$('#speakers-content').slideUp('slow', function() {});
$('#cases-content').slideUp('slow', function() {});
$('html,body').animate({scrollTop: $("#details").offset().top - 16}, 200, "swing");
$('#sessions-content').slideDown('slow', function() {
$('#details-sessions').addClass('selected');
//Remove other classes
$('#details-speakers').removeClass('selected');
$('#details-cases').removeClass('selected');
$('#details-workshops').removeClass('selected');
});
});
$('#details-cases').click(function() {
$('#home').slideUp('slow', function() {});
$('#speakers-content').slideUp('slow', function() {});
$('#sessions-content').slideUp('slow', function() {});
$('html,body').animate({scrollTop: $("#details").offset().top - 16}, 200, "swing");
$('#cases-content').slideDown('slow', function() {
$('#details-cases').addClass('selected');
//Remove other classes
$('#details-speakers').removeClass('selected');
$('#details-sessions').removeClass('selected');
$('#details-workshops').removeClass('selected');
});
});
여전히 동일한 코드를 두 번 복사하여 붙여 넣습니다. –
나는 단지 부드러움에 관한 질문에만 답하고자했다.이 질문이 퍼포먼스에 관한 것이 아니라면 코드를 리팩토링했을 것이다. 다른 답변은 분명히 더 우아하고 전반적으로 더 좋지만 길은 여전히 조금 빠릅니다. – Mark