Зависит. Я не хотел бы должным быть поддерживать 150 строк if-then-else операторов, составляющих функцию, особенно если дерево решений является плотным. 20 строк сложной математики могут или не могут быть лучше. Это может занять время для понимания, но более длительное решение могло бы взять еще дольше для проверки.
Идеально, Вы нашли бы способ сделать это в меньше, и более простые строки, но не все функции прокладывают себе путь.
при использовании этих 20 строк использование некоторые из этих 130 строк экономили на комментариях для объяснения, какой алгоритм Вы используете. Если Вы не можете объяснить его хорошо, пойдите с решением с 150 строками.
Эффекты добавления не будут работать, потому что содержимое, отображаемое в браузере, обновляется, как только добавляется div. Итак, чтобы объединить ответы Марка Б и Стирпайка:
Придайте стиль добавляемому div как скрытому, прежде чем вы его добавите. Вы можете сделать это с помощью встроенного или внешнего скрипта CSS или просто создать div как
<div id="new_div" style="display: none;"> ... </div>
Затем вы можете связать эффекты с вашим добавлением ( демонстрация ):
$('#new_div').appendTo('#original_div').show('slow');
Или ( демонстрация ):
var $new = $('#new_div');
$('#original_div').append($new);
$new.show('slow');
Что-то вроде:
$('#test').append('<div id="newdiv">Hello</div>').hide().show('slow');
должен это делать?
Редактировать: извините, ошибка в коде и предложение Мэтта тоже учтено.
Установить добавленный div, который будет изначально скрыт через css visibility: hidden
.
Суть такова:
Это работает для меня :
var new_item = $('<p>hello</p>').hide();
parent.append(new_item);
new_item.show('normal');
или:
$('<p>hello</p>').hide().appendTo(parent).show('normal');