Bonjours à tous
Je n'aime pas trop les effets visuels en javascript, mais une personne ayant particuliérement aimé l'effet accordeon de moo-fx m'a demandé de le mettre en place. C'est vrai que c'est asser joli mais le probleme c'est qu'avec la librairie prototype ça fait quand même 12k pour un accordeon. C'est pas énorme d'accord, mais bon si la machine est un peu vielle l'effet est vraiment raté. Je me suis donc dit qu'on pouvais faire plus léger même si l'effet est un peu moins bien, jai donc fait le code suivant:
ça donne shématiquement ça:
http://www.smart-com.com.mx/spip.php?page=accordion5&id_article=45
Le but n'est absolument pas de faire la même chose que moo-fx, qui est un effet incomparablement plus fin et qui de plus permet de faire d'autre effets avec le même script. L'idée c'est juste de faire un accordeon basique et surtout trés léger.
8 lignes pour 12k même si c'est un peu plus trash comme effet, j'était content, mais a ma grande surprise je me suis aperçu que ça rame quand même sur un veille machine (j'ai gardé un pc de 2000 pour faire des tests), déçu! Pourtant ça parait pas la mere a boire comme calcul, mais par exemple sur IE avec la vieille bécane, c'est vraiment nul, au lieu de mettre 50 milliseconde, il en met 500. A la limite sur l'exemple que j'ai mit ça passe a peu prés, mais dés que la page et un peu plus lourde, ça foire.
Je crois donc que j'ai vais virer tout effet accordeon et faire un truc ouvert/fermer sans fioritures. Mais avant je me suis dit qu'il y avait peut-être un génie du javascript dans le salon qui arrive a créer des effets qui demande encore moins de ressources. Ou si vous avez plutot tendance comme moi d'habitude à bannir se genre de raffinements.
Modifié par matmat (30 Nov 2006 - 20:39)
Je n'aime pas trop les effets visuels en javascript, mais une personne ayant particuliérement aimé l'effet accordeon de moo-fx m'a demandé de le mettre en place. C'est vrai que c'est asser joli mais le probleme c'est qu'avec la librairie prototype ça fait quand même 12k pour un accordeon. C'est pas énorme d'accord, mais bon si la machine est un peu vielle l'effet est vraiment raté. Je me suis donc dit qu'on pouvais faire plus léger même si l'effet est un peu moins bien, jai donc fait le code suivant:
function Accordion(id) {
show = document.getElementById(id);
size = show.firstChild.offsetHeight;
slide = 0;
timer = setInterval("slide()", 50);
}
function slide(){
if (slide < size){
slide += 30;
show.style.height = slid+'px';
}else clearInterval(timer);
}
ça donne shématiquement ça:
http://www.smart-com.com.mx/spip.php?page=accordion5&id_article=45
Le but n'est absolument pas de faire la même chose que moo-fx, qui est un effet incomparablement plus fin et qui de plus permet de faire d'autre effets avec le même script. L'idée c'est juste de faire un accordeon basique et surtout trés léger.
8 lignes pour 12k même si c'est un peu plus trash comme effet, j'était content, mais a ma grande surprise je me suis aperçu que ça rame quand même sur un veille machine (j'ai gardé un pc de 2000 pour faire des tests), déçu! Pourtant ça parait pas la mere a boire comme calcul, mais par exemple sur IE avec la vieille bécane, c'est vraiment nul, au lieu de mettre 50 milliseconde, il en met 500. A la limite sur l'exemple que j'ai mit ça passe a peu prés, mais dés que la page et un peu plus lourde, ça foire.
Je crois donc que j'ai vais virer tout effet accordeon et faire un truc ouvert/fermer sans fioritures. Mais avant je me suis dit qu'il y avait peut-être un génie du javascript dans le salon qui arrive a créer des effets qui demande encore moins de ressources. Ou si vous avez plutot tendance comme moi d'habitude à bannir se genre de raffinements.
Modifié par matmat (30 Nov 2006 - 20:39)