J'utilise des tableaux dans mon document, et je veux pouvoir demander à un utilisateur de soumettre un nouvel élément à une liste, puis de l'afficher «automatiquement» en haut de la liste (oui, ce serait plus facile avec DIVs mais travaillant avec ce que j'ai). J'utilise jQuery et clone()
pour créer une copie de la ligne de tableau la plus récente, puis en utilisant fadeIn()
pour afficher le nouvel élément après l'avoir mis à jour et l'ajouter en haut de la liste. Parce que jQuery convertit en interne les éléments (en supposant que DIVs) à 'block', je change aussi la classe css en 'table-row'. Ça fonctionne bien.Existe-t-il une méthode multi-navigateur pour ignorer l'opacité lors de l'utilisation de clone() de jquery?
Le code complet est ici:
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");
Le problème est que si je lance le processus trop vite - à savoir avant la fadeIn complète, le « clone() » commande finit par clonage l'opacité ainsi.
je peux réellement faire fonctionner dans Firefox en utilisant en ajustant la première ligne ci-dessus:
var row = $("tbody tr:first").clone().css("opacity","1").hide();
Je crains maintenant que je ne suis pas sûr que tout cela est fait efficacement, et/ou cette "opacité" est sûre sur plusieurs navigateurs.
Est-ce que quelqu'un a déjà fait quelque chose comme ça, et peut offrir des conseils sur une approche plus fiable?
Ne fonctionne pas dans Firefox, jusqu'à présent, le css ("opacité", 1) semble être la meilleure option, mais n'ont pas encore testé avec IE. – FilmJ