0
어떻게하면 현재 JavaScript 코드를 간단하게 할 수 있습니까? 너무 복잡해 보입니다. jQuery 코드 단순화 - 슬라이드 및 슬라이드 토글
// Data from AJAX response
var errorsJSON = {
"name-pl": ["The name-pl field is required."],
"name-en": ["The name-en field is required."]
}
var errorString = $(this).data('validate-multiple');
var errorNamesArray = errorString.split(", ");
var ul = $('<ul class="list-unstyled">');
$.each(errorNamesArray, function(key, value) {
if (errorsJSON.hasOwnProperty(value)) {
ul.append(`<li><span class="help-block">${errorsJSON[value]}</span></li>`);
}
});
if (! $(this).is(':visible') && ul.children('li').length > 0) {
$(this).find('div.controls').empty().append(ul);
$(this).slideDown(500);
} else if ($(this).is(':visible') && ul.children('li').length === 0) {
$(this).slideUp(500);
} else if ($(this).is(':visible') && ul.children('li').length > 0) {
$(this).slideUp(500, function() {
$(this).find('div.controls').empty().append(ul);
$(this).slideDown(500);
});
}
여기에 나는 HTML과 JS 코드
http://jsfiddle.net/ecLjnnhm/ 내가 입력 필드에 넣어 어떤 사용자
errorsJSON
변경하고 따라 할 수 있음을 지적하고 싶습니다 을 붙여.
더 나은 아이디어 : 코드를 붙여 넣고 "make it better"라고 말하면서 최종 목표가 무엇인지 알려주시겠습니까? 자신이하려는 일을 전혀 모르는 상태에서 코드를 향상시키는 것은 어렵습니다. – Santi
제 목표는 토글 로직을 단순화하는 것입니다. 그것은 매우 중첩되어 있습니다. 나는 처음에'slideUp()'을 사용하고 마지막에는'slideDown()'을 사용하려고 시도했지만,이 함수들은 오류없이 애니메이션이 적용된 div였습니다. – Jarmark