Я использую таблицы в своем документе и хочу, чтобы пользователь мог отправить новый элемент в список, а затем «автоматически» отобразить его в верхней части списка (да, это было бы проще с DIVs, но работает с тем, что у меня есть).
Я использую jQuery и clone()
, чтобы создать копию самой последней строки таблицы, затем использую fadeIn()
, чтобы отобразить новый элемент после обновления и добавить его в начало списка. Поскольку внутренне jQuery преобразует элементы (в предположении DIV) в «block», я также изменяю класс css на «table-row». Работает нормально.
Весь код здесь:
var row = $("tbody tr:first").clone().hide(); // clone and then set display:none
row.children("td[class=td-date]").html("today");
// set some properties
row.children("td[class=td-data]").html("data");
row.children("td[class=td-type]").html("type");
// fadeIn new row at the top of the table.
row.insertBefore("tbody tr:first").stop().fadeIn(2000).css("display","table-row");
Проблема в том, что, если я запускаю процесс слишком быстро - то есть до завершения fadeIn, команда "clone ()" также завершает клонирование прозрачности.
Я действительно могу заставить его работать в Firefox, настроив первую строку выше:
var row = $("tbody tr:first").clone().css("opacity","1").hide();
Теперь меня беспокоит то, что я не уверен, что что-то из этого делается эффективно, и / или что «непрозрачность» безопасна для разных браузеров.
Кто-нибудь делал что-то подобное раньше и может предложить какие-либо указатели на более надежный подход?